lead_id. Leads stay available: you can download them again, filter them and pull them into other tools at no cost.
Three ways to get leads
One export
GET /api/v1/exports/{id}?format=csv: exactly the people one export added.Only what's new
GET /api/v1/leads?since=last: everyone you haven’t pulled yet.Since a date
GET /api/v1/leads?since=2026-10-01: everyone exported since then.Pull only what’s new
since=last (the default) returns leads you haven’t pulled yet and moves a cursor past them, so a daily job never sees the same person twice:
- Each consumer has its own cursor. Pass
consumer=hubspotandconsumer=diallerand both get every lead once. The default consumer isdefault. - A lane filter keeps its own cursor too:
?since=last&lane=L1. - Up to
limitleads per call (1 to 5,000, default 1,000). If you get exactlylimit, call again for the rest.
Re-download by date
since=YYYY-MM-DD returns everyone exported on or after that date, oldest first, without touching any cursor. Narrow it with:
When there are more leads, JSON responses include
next_page, and CSV responses an X-Next-Page header; pass it back as page.
JSON or CSV
JSON is the default. Addformat=csv for a CSV with a header row. CSV responses also carry X-Lead-Count and X-Has-More headers. See Lead fields for every field and column.
Seen before
seen_before: true means you exported this person in an earlier billing period too. They’re billed again in the new period because their intent is new; use the flag to update the record in your CRM rather than create a duplicate.
Suppressed leads
If someone asks to be removed after you’ve exported them, their lead showssuppressed: true and every contact field is empty, including in re-downloads. Delete them from your own systems within 10 business days. See Suppressions.