Export a list to CSV

Check what an export would cost, then download the CSV, and read the headers that say what was charged.

GuideDeveloperChecked 2026-10-10

An export is a CSV of records you have revealed. It uses your monthly export allowance for contacts you have not already exported this month. POST /market/exports/preflight tells you the cost first and charges nothing.

Scope

Both routes take the same optional body.

Field Type Meaning
list_id string Export this list
lead_ids array of strings Export these records. An empty array means nothing, not everything
columns array of strings Column groups: business, contact, company, socials. Unknown names are ignored

With no body the export is everything you have revealed, newest first. Only revealed records are included. Up to 25,000 rows per export. Three columns are always added: revealed_at, export_id and exported_by, which trace a file back to your account.

Preflight

POST /market/exports/preflight
{"list_id": "6650f0c2a1b2c3d4e5f60999"}

The reply includes requested, allowance, used, remaining, free (already exported this month), new, would_charge, would_export, would_skip, remaining_after, resets_at and blocked. It also carries asked_for, examined, not_revealed, not_examined, capped, columns, advisory: true and a verification summary of emails not yet checked. It is advice, not a reservation: another export in between can use the allowance.

Export

POST /market/exports
{"list_id": "6650f0c2a1b2c3d4e5f60999", "columns": ["business", "contact"]}

The reply is text/csv with a filename like adaptleads-exp_20261010090000.csv. Read these headers:

Header Meaning
X-Export-Total Rows written
X-Export-Charged New contacts charged against the allowance
X-Export-Remaining Allowance left this month
X-Export-Partial How many requested contacts were left out because the allowance ran out
X-Export-Missing Rows charged but missing because the record has gone

When the allowance is gone and nothing can be exported the status is 402 with export_limit_reached. Cells that start with =, +, - or @ are prefixed with an apostrophe so a spreadsheet does not run them.

POST /market/exports/verify-now queues the emails in the same scope that have not been checked yet. It returns a request id, and GET /market/exports/verify-now/{request_id} shows progress.