Skip to content

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 body
{
"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.

The response returns one result per requested domain, in request order, plus batch totals.

Response
{
"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.

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/.

Terminal window
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.

  • 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.

The interactive API reference documents the full request and response schema and lets you run the endpoint against your own key.