Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Export People

Export matching people as a compressed CSV file. Returns signed download URLs that you can use to download the exported data. This endpoint is designed for bulk data extraction — up to 1,000,000 records per export.
This is a synchronous, long-running endpoint. The response is returned once the entire export is complete, which typically takes up to 30 seconds. Set your HTTP client timeout to at least 120 seconds to avoid premature disconnects. See the Exporting Guide for best practices.

Body Parameters

body locationsarray
Array of location objects defining where to export. Required unless people_ids or protocol filters are provided (max 15). Locations use OR logic — results matching any location are included.
Location object properties
body typestringrequired
Location type: state, county, city, zip_code, radius, or polygon.
body codestring
Location identifier. Required for state (2-letter abbreviation, e.g., "TX"), county (5-digit FIPS code, e.g., "29189"), city (place ID, e.g., "7333"), and zip_code (5-digit ZIP, e.g., "63101").
body latitudenumber
Center point latitude. Required for radius.
body longitudenumber
Center point longitude. Required for radius.
body radius_milesnumber
Search radius in miles. Required for radius.
body coordinatesarray
Array of [longitude, latitude] pairs defining the boundary. Required for polygon (minimum 3 points).
body include_listsobject
Export only people list IDs, for example { "people_list_ids": [123] }.
body exclude_listsobject
Exclude people list IDs, for example { "people_list_ids": [456] }.
body exclude_previously_exportedboolean | object
Exclude people already exported by your organization.
body filtersarray
Array of filter objects. Omit or pass an empty array to export with no filters (location-only).
Filter object properties
body filter_idstringrequired
The filter slug from the List Filters endpoint (e.g., has_phone, age).
body operatorstring
One of the filter's allowed_operators. See Filter Values for all operators by type. Optional for BOOLEAN filters — automatically defaults to is_boolean.
body valueanyrequired
The filter value. Shape depends on the operator — can be a number, string, boolean, array, or object. See Filter Values.
body fieldsstring[]
Field IDs to include in the CSV columns. Omit or pass an empty array for the default set. Include person_coordinates once to add separate person_latitude and person_longitude columns.
body property_matchstring
Defines the person-to-property relationship for the export.
Options: owner, resident, renter
body anchorstringdefault: person
Controls what each CSV row represents. Use person for one row per person (default), phone for one row per phone number, or email for one row per email address.
body require_phoneboolean
Only include records where the contact has a phone number. Useful for telemarketing or outreach campaigns.
body require_emailboolean
Only include records where the contact has an email address. Useful for email marketing campaigns.
body mobile_onlyboolean
Only include wireless phone numbers. Cannot be combined with landline_only.
body landline_onlyboolean
Only include landline phone numbers. Cannot be combined with mobile_only.
body scrub_dncboolean
Exclude contacts on the Do Not Call registry. Recommended for compliance with telemarketing regulations.

Response

FieldTypeDescription
export_idstringUnique identifier for this export
record_countintegerNumber of records in the exported CSV
file_countintegerNumber of files generated (large exports may produce multiple files)
total_file_sizeintegerTotal size of all files in bytes
execution_timenumberTime taken to complete the export in seconds
download_urlsarraySigned download URLs for the exported files
credits.usedintegerTotal credits consumed by this export
credits.peopleintegerNumber of people lead records exported
People, phone, and email exports from Find People charge people data credits per distinct contact. Associated properties included in the output consume property credits.

download_urls

Each object in the download_urls array contains:
FieldTypeDescription
filenamestringSuggested filename for the download (e.g., people_export_2026-02-17.csv.gz)
urlstringSigned URL — valid for a limited time. Download promptly after receiving the response.
sizeintegerFile size in bytes
Exported files are gzip-compressed CSV (.csv.gz). Most tools (Excel, Google Sheets, Python pandas) can open .csv.gz files directly. To decompress manually, use gunzip or any archive tool.

Tips

  • Use the Count People endpoint first to check how many records match your filters before committing to an export.
  • For datasets under 250 records, the paginated Search People endpoint may be more appropriate.
  • People exports are deduplicated — each unique person appears only once in the CSV, even if they match multiple properties.
  • Use the export_id in the response with Get Export to retrieve download URLs later, or List Exports to browse past exports.
  • See the Exporting Guide for timeout configuration, download handling, and best practices.
Request example
curl -X POST "https://api.v2.dealmachine.com/v1/people/export" \ -H "Authorization: Bearer dm_sk_live_xxx" \ -H "Content-Type: application/json" \ --max-time 120 \ -d '{ "locations": [ { "type": "state", "code": "CA" } ], "filters": [ { "filter_id": "has_phone", "value": true } ], "fields": [ "person_coordinates", "full_name", "phones", "emails" ], "property_match": "owner" }'
Response example
{ "export_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890", "record_count": 8234, "file_count": 1, "total_file_size": 1843200, "execution_time": 28.3, "download_urls": [ { "filename": "people_export_2026-02-17.csv.gz", "url": "https://storage.googleapis.com/...", "size": 1843200 } ], "credits": { "used": 8234, "people": 8234 } }