Skip to content
LeadMCPDocs

Get an export

GET/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

The export id, a ULID behind the prefix exp_.

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

StatusMeaning
400The request shape, a filter key, a value, a cursor or the enrichment mode was rejected.
401The credential is missing, unknown or revoked.
404The id or the column does not exist, or the row was opted out.
410The export file has expired or is no longer available.
429The key passed 300 requests a minute or 2 concurrent requests.
503The data is unavailable for a short time.