Getting started
The Deep Sync API gives you programmatic access to the same deterministic identity graph that powers our platform. Every capability — resolution, enrichment, audience building, and activation — is exposed as a REST resource that speaks JSON over HTTPS.
All requests go to a single base URL. The API is versioned in the path, so upgrades never break your integration without warning.
https://api.deepsync.com/v1api.sandbox.deepsync.com/v1 with synthetic identities — no billable matches and no production data.Authentication
Authenticate every request with a bearer token. Create keys from the API keys tab of your Deep Sync workspace; each key is scoped to an environment and a set of capabilities.
curl https://api.deepsync.com/v1/identity/resolve \
-H "Authorization: Bearer $DEEPSYNC_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "email": "alex@example.com" }'Identity resolution
Send any combination of email, phone, or postal identifiers and receive a stable deepsync_id, the household it belongs to, and the linked device identifiers (MAIDs) we hold for that person.
{
"email": "alex@example.com",
"phone": "+12065551234",
"postal": {
"name": "Alex Morgan",
"zip": "98033"
}
}A successful response returns the resolved identity and a confidence score:
{
"deepsync_id": "DS_4f3c9a21e8",
"match": true,
"confidence": 0.98,
"household_id": "HH_91b07c",
"maids": ["a1b2c3d4", "e5f6g7h8"]
}Enrichment
Once you hold a deepsync_id, append attributes from the graph — demographics, household composition, and modeled behavioral segments. Request only the attribute groups you need; you are billed per group, per record.
{
"deepsync_id": "DS_4f3c9a21e8",
"attributes": ["demographics", "household", "interests"]
}Audiences
Group resolved records into an audience, then let the graph expand it with deterministic lookalikes drawn from real, matched people — not probabilistic models. Audiences are reusable across every activation destination.
{
"name": "High-value lapsed buyers",
"seed": ["DS_4f3c9a21e8", "DS_77ab12c0"],
"expand": {
"model": "lookalike",
"size": 250000
}
}Activation
Deliver an audience to any connected destination — Meta, Google, The Trade Desk, Snowflake, and 200+ more — with a single call. Deep Sync handles the onboarding, match, and channel-specific formatting.
{
"audience_id": "AUD_3b9f01",
"destination": "meta",
"account_id": "act_5567",
"refresh": "daily"
}Rate limits & errors
Limits are applied per key. Every response includes your remaining quota in the response headers. The API uses conventional HTTP status codes to signal success or failure.
200Success — the request was processed.400Bad request — a parameter is malformed or missing.401Unauthorized — the API key is missing or invalid.429Too many requests — you have exceeded your rate limit.5xxServer error — safe to retry with backoff.SDKs & tools
Official SDKs wrap authentication, retries, and pagination so you can call the graph in one line. Install the one for your stack:
# Node
npm install @deepsync/sdk
# Python
pip install deepsyncFAQs
How is a match billed?
You are billed only for successful matches and the enrichment groups you request. Sandbox calls are always free.
Is the data privacy-safe?
Yes. The graph is built on consented, deterministic data and the API never returns raw PII you did not send. See our Data Ethics & Privacy page.
How do I get production access?
Talk to our team to provision a production key and review your use case. Sandbox access is available the moment you sign up.
Need a hand wiring this up?
Talk to an engineer