Enrichment API
The Enrichment API looks up partnership intelligence for a batch of domains in one request. Send a list of domains; get back, for each one, the company Trace resolved it to and the partners observed for that company.
There is one endpoint:
| Method | Path | Purpose |
|---|---|---|
POST |
/v1/enrich/partnerships |
Batch partnership lookup for up to 100 domains |
Authenticate with your API key in the X-API-Key header (a user key or an org
key). See /authentication/.
Base URL: https://api.tracedata.ai.
Request
Section titled “Request”{ "domains": ["stripe.com", "shopify.com", "notarealdomain.example"]}domains— array of domain strings. Required, 1 to 100 entries.- Domains are normalized server-side: lowercased, trimmed, a leading
www.stripped, and duplicates removed. Entries that don’t look like a domain (no dot, or longer than 253 characters) are dropped silently.
Sending more than 100 domains returns 400 batch_too_large.
Response
Section titled “Response”The response returns one result per requested domain, in request order, plus batch totals.
{ "results": [ { "domain": "stripe.com", "status": "found", "company_name": "Stripe", "company_id": 4567, "slug": "stripe", "partnerships": [ { "partner_name": "Shopify", "partner_domain": "shopify.com", "partner_slug": "shopify", "first_observed_at": "2024-03-11T00:00:00Z", "last_observed_at": "2025-09-02T00:00:00Z", "observation_count": 12, "category": null, "description": null } ], "partnership_count": 1 }, { "domain": "notarealdomain.example", "status": "not_tracked", "company_name": null, "company_id": null, "slug": null, "partnerships": [], "partnership_count": 0 } ], "total_domains_requested": 3, "domains_found": 1, "domains_with_partnerships": 1}Each result’s status is one of:
found— the domain resolved to a company that has partnerships.no_partnerships— the domain resolved to a company, but no partnerships are recorded.not_tracked— Trace has no company for that domain.
Partnerships are returned bidirectionally: a partner appears whether the
relationship was observed from your domain’s side or the partner’s side.
category and description are reserved and currently always null.
Credits
Section titled “Credits”This endpoint is credit-metered. You’re charged for the companies whose
partnership intelligence was returned (the resolved companies in the batch),
subject to the 30-day re-access window — a company you already unlocked
recently draws zero. The charge happens after the lookup, so an exhausted
balance surfaces as a clean 402 rather than a partial result. See
/credits/.
Worked example
Section titled “Worked example”curl -X POST https://api.tracedata.ai/v1/enrich/partnerships \ -H "X-API-Key: $TRACE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domains": ["stripe.com", "shopify.com"]}'Walk results in order — it lines up with the domains you sent. Use
partnership_count to skip domains with nothing to show, and last_observed_at
to gauge recency.
Errors
Section titled “Errors”400 batch_too_large— more than 100 domains in one request.402— insufficient credits (see /credits/).429— rate limit or operational backpressure; retry after a pause.
See /errors/ for the shared error shape.
Try it in the reference
Section titled “Try it in the reference”The interactive API reference documents the full request and response schema and lets you run the endpoint against your own key.