curl "https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer dm_sk_live_xxx"
import requests
response = requests.get(
"https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
headers={"Authorization": "Bearer dm_sk_live_xxx"}
)
export = response.json()["data"]
print(f"Status: {export['status']}, Records: {export['record_count']}")
const response = await fetch(
"https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
{
headers: { "Authorization": "Bearer dm_sk_live_xxx" },
}
);
const { data: export } = await response.json();
console.log(`Status: ${export.status}, Records: ${export.record_count}`);
{
"data": {
"export_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"name": "properties_export",
"progress": 100,
"progress_stage": "Complete",
"record_count": 15432,
"file_size": 2457600,
"download_urls": [
{
"filename": "properties_export_2026-02-17.csv.gz",
"url": "https://storage.googleapis.com/...",
"size": 2457600
}
],
"created_at": "2026-02-17T15:30:00.000Z",
"updated_at": "2026-02-17T15:30:34.000Z",
"expires_at": "2026-02-24T15:30:00.000Z"
}
}
{
"error": {
"code": "export_not_found",
"message": "No export found with ID a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
Exports
Get Export
GET
/
v1
/
exports
/
{exportId}
curl "https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer dm_sk_live_xxx"
import requests
response = requests.get(
"https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
headers={"Authorization": "Bearer dm_sk_live_xxx"}
)
export = response.json()["data"]
print(f"Status: {export['status']}, Records: {export['record_count']}")
const response = await fetch(
"https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
{
headers: { "Authorization": "Bearer dm_sk_live_xxx" },
}
);
const { data: export } = await response.json();
console.log(`Status: ${export.status}, Records: ${export.record_count}`);
{
"data": {
"export_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"name": "properties_export",
"progress": 100,
"progress_stage": "Complete",
"record_count": 15432,
"file_size": 2457600,
"download_urls": [
{
"filename": "properties_export_2026-02-17.csv.gz",
"url": "https://storage.googleapis.com/...",
"size": 2457600
}
],
"created_at": "2026-02-17T15:30:00.000Z",
"updated_at": "2026-02-17T15:30:34.000Z",
"expires_at": "2026-02-24T15:30:00.000Z"
}
}
{
"error": {
"code": "export_not_found",
"message": "No export found with ID a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
Retrieve a single export by its ID. Only exports belonging to your organization are accessible. Use this to check the status of an export or retrieve its download URLs.
Path Parameters
string
required
The export ID returned from a previous export request.
curl "https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer dm_sk_live_xxx"
import requests
response = requests.get(
"https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
headers={"Authorization": "Bearer dm_sk_live_xxx"}
)
export = response.json()["data"]
print(f"Status: {export['status']}, Records: {export['record_count']}")
const response = await fetch(
"https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
{
headers: { "Authorization": "Bearer dm_sk_live_xxx" },
}
);
const { data: export } = await response.json();
console.log(`Status: ${export.status}, Records: ${export.record_count}`);
{
"data": {
"export_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"name": "properties_export",
"progress": 100,
"progress_stage": "Complete",
"record_count": 15432,
"file_size": 2457600,
"download_urls": [
{
"filename": "properties_export_2026-02-17.csv.gz",
"url": "https://storage.googleapis.com/...",
"size": 2457600
}
],
"created_at": "2026-02-17T15:30:00.000Z",
"updated_at": "2026-02-17T15:30:34.000Z",
"expires_at": "2026-02-24T15:30:00.000Z"
}
}
{
"error": {
"code": "export_not_found",
"message": "No export found with ID a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
Response
| Field | Type | Description |
|---|---|---|
export_id | string | Unique identifier for the export |
status | string | Export status: pending, processing, completed, or failed |
name | string | Export name (e.g., properties_export, people_export) |
progress | integer | Progress percentage (0–100) |
progress_stage | string | Human-readable progress description |
record_count | integer | Number of records exported (null if not yet complete) |
file_size | integer | Total file size in bytes (null if not yet complete) |
download_urls | array | Signed download URLs (null if not yet complete or expired) |
created_at | string | ISO 8601 timestamp when the export was created |
updated_at | string | ISO 8601 timestamp when the export was last updated |
expires_at | string | ISO 8601 timestamp when the export and download URLs expire |
Tips
- Use the
export_idfrom any export response (POST /v1/properties/exportorPOST /v1/people/export) to retrieve the export later. - Download URLs are time-limited. If they’ve expired, you’ll need to run the export again.
- See the Exporting Guide for best practices.
⌘I