> ## Documentation Index
> Fetch the complete documentation index at: https://api.docs.dealmachine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Export

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

<ParamField path="exportId" type="string" required>
  The export ID returned from a previous export request.
</ParamField>

***

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.v2.dealmachine.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
    -H "Authorization: Bearer dm_sk_live_xxx"
  ```

  ```python Python theme={null}
  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']}")
  ```

  ```javascript Node.js theme={null}
  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}`);
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Success theme={null}
  {
    "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"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "error": {
      "code": "export_not_found",
      "message": "No export found with ID a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  }
  ```
</ResponseExample>

## 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_id` from any export response (`POST /v1/properties/export` or `POST /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](/concepts/exporting) for best practices.
