The export id, a ULID behind the prefix exp_.
Get an export
/exports/{id}Returns the status of one export job, then the download URL and the rows exported. Poll every 3 to 5 seconds until the status is completed. The URL is on our own domain and needs no key. The file is gzip-compressed, `{export_id}.csv.gz` or `{export_id}.jsonl.gz`: download it and gunzip it. The file and the URL live 7 days from the moment the job completes. After that we delete the file, and the download link answers 410 with the code `export.expired`. When max_rows_per_company keeps fewer rows than rows_to_export, the job returns an export_truncated warning, and only exported rows are charged. A job runs to completion: there is no cancel.
FreeFree.Returns the status of one export job, then the download URL and the rows exported. Poll every 3 to 5 seconds until the status is completed. The URL is on our own domain and needs no key. The file is gzip-compressed, {export_id}.csv.gz or {export_id}.jsonl.gz: download it and gunzip it. The file and the URL live 7 days from the moment the job completes. After that we delete the file, and the download link answers 410 with the code export.expired. When max_rows_per_company keeps fewer rows than rows_to_export, the job returns an export_truncated warning, and only exported rows are charged. A job runs to completion: there is no cancel.
Parameters
idExportIdin pathrequired
Response
The fields inside data.
idExportIdrequired
An export id: the prefix exp_ and 26 Crockford base32 characters.
statusExportStatus (slug)required
The state of an export job. A job runs to completion: there is no cancel. The list is frozen.
queuedrunningcompletedfailed
rows_to_exportintegeroptional
The rows this job reserved at acceptance.
rows_exportedinteger or nulloptional
The rows written, once the job completed. Each exported contact costs one contact credit on completion.
urlstring or nulloptional
The download URL, present once the job completed. It is on our own domain, it carries a signature rather than a credential, and it lives 7 days from the moment the job completes. The bytes are read by us and streamed back, so the address of the host that keeps the file is never published. After 7 days we delete the file, the field is null, and the link answers 410 with the code export.expired.
expires_atstring or nulloptional
The RFC 3339 UTC time at which the download URL stops working.
filenamestring or nulloptional
The file name, {export_id}.csv.gz or {export_id}.jsonl.gz.
formatenumrequired
The file format of this job.
csvjsonl
errorstring or nulloptional
Why the job failed, when it failed. A failed job releases its quota reservation.
created_atstringrequired
The RFC 3339 UTC time at which the job was accepted.
completed_atstring or nulloptional
The RFC 3339 UTC time at which the job finished.
Failures
| Status | Meaning |
|---|---|
| 400 | The request shape, a filter key, a value, a cursor or the enrichment mode was rejected. |
| 401 | The credential is missing, unknown or revoked. |
| 404 | The id or the column does not exist, or the row was opted out. |
| 410 | The export file has expired or is no longer available. |
| 429 | The key passed 300 requests a minute or 2 concurrent requests. |
| 503 | The data is unavailable for a short time. |
Docs for agents: llms.txt