Partnerships API
Trace discovers partnerships from the partner pages and marketplaces companies publish. These endpoints let you list a company’s partners, find everyone who partners with a given company, confirm and describe a partnership between two companies, find their shared partners, and render partner network graphs.
All endpoints require an API key — see Authentication — and
are credit-metered per partner company returned (see Credits).
Wherever a path takes a company {identifier}, you can pass a domain
(stripe.com) or a Trace slug (stripe).
A company’s partnerships
Section titled “A company’s partnerships”GET /v1/companies/{identifier}/partnershipsPaginated list of every company that the given company partners with (bidirectional).
| Query param | Description |
|---|---|
q |
Filter partners by name |
partnership_types |
Comma-separated: technology, channel, generic |
sort |
last_observed_at, first_observed_at, or observation_count; prefix - for descending (default -last_observed_at) |
page, limit |
Pagination (limit max 100) |
curl "https://api.tracedata.ai/v1/companies/stripe.com/partnerships?limit=2" \ -H "X-API-Key: $TRACE_API_KEY"{ "data": [ { "partner_name": "Shopify", "partner_domain": "shopify.com", "partner_slug": "shopify", "partnership_type": "technology", "first_observed_at": "2025-07-14T00:00:00Z", "last_observed_at": "2026-06-10T00:00:00Z", "observation_count": 6 } ], "pagination": { "page": 1, "limit": 2, "total_results": 482, "total_pages": 241, "has_next": true, "has_prev": false }, "company": { "slug": "stripe", "name": "Stripe", "primary_domain": "stripe.com", "partnership_count": 482 }, "type_counts": { "technology": 300, "channel": 120, "generic": 62 }}type_counts gives unfiltered totals per partnership type for the company.
Companies partnering with a domain
Section titled “Companies partnering with a domain”GET /v1/partnerships/{partner_domain}/companiesThe reverse direction: everyone who lists the given company as a partner. Accepts
a domain or slug for {partner_domain}; an unknown one returns
404 partner_not_found.
| Query param | Description |
|---|---|
page, limit |
Pagination (limit max 100) |
include |
firmographics to attach the firmographics object to each company |
curl "https://api.tracedata.ai/v1/partnerships/salesforce.com/companies?limit=2" \ -H "X-API-Key: $TRACE_API_KEY"{ "partner": { "name": "Salesforce", "domain": "salesforce.com", "total_companies": 1530 }, "data": [ { "slug": "stripe", "name": "Stripe", "primary_domain": "stripe.com", "first_seen_at": "2025-10-01T00:00:00Z", "last_seen_at": "2026-06-01T00:00:00Z", "observation_count": 4 } ], "pagination": { "page": 1, "limit": 2, "total_results": 1530, "total_pages": 765, "has_next": true, "has_prev": false }}Bilateral partnership
Section titled “Bilateral partnership”GET /v1/partnerships/{identifier_a}/{identifier_b}Confirms and describes the partnership between two companies. Returns
404 partnership_not_found if no partnership exists (and 404 company_not_found if either identifier doesn’t resolve).
curl "https://api.tracedata.ai/v1/partnerships/stripe.com/shopify.com" \ -H "X-API-Key: $TRACE_API_KEY"{ "company_a": { "slug": "stripe", "name": "Stripe", "primary_domain": "stripe.com" }, "company_b": { "slug": "shopify", "name": "Shopify", "primary_domain": "shopify.com" }, "partnership_type": "technology", "first_observed_at": "2025-07-14T00:00:00Z", "shared_partner_count": 58, "attributions": [ { "source": "partner_page", "source_label": "Partner page", "observed_at": "2026-06-10T00:00:00Z" } ]}attributions lists where Trace observed the partnership (up to 50, most recent
first). shared_partner_count is the number of partners the two companies have
in common.
Shared partners
Section titled “Shared partners”GET /v1/partnerships/{identifier_a}/{identifier_b}/shared-partnersPaginated list of companies that partner with both companies. Requires a
partnership to exist between the two; otherwise 404 partnership_not_found.
| Query param | Description |
|---|---|
page, limit |
Pagination (limit max 100) |
Returns the standard paginated envelope plus company_a and company_b
context objects.
Partner graphs
Section titled “Partner graphs”Two graph endpoints return nodes (companies) and edges (partnerships) for
visualization. Each node carries id, name, primary_domain,
partnership_count, is_root, and (when known) slug. Each edge is a
{ "source": <id>, "target": <id> } pair.
GET /v1/companies/{identifier}/partnerships/graphThe network around one company.
| Query param | Description |
|---|---|
depth |
1 (direct partners) or 2 (partners of partners); default 1 |
max_nodes |
Cap on nodes returned (max 100, default 50) |
GET /v1/partnerships/{identifier_a}/{identifier_b}/graphThe combined network around two companies, prioritizing their shared partners.
| Query param | Description |
|---|---|
max_nodes |
Cap on nodes returned (max 100, default 50) |
curl "https://api.tracedata.ai/v1/companies/stripe.com/partnerships/graph?depth=1&max_nodes=25" \ -H "X-API-Key: $TRACE_API_KEY"{ "root_company": 4021, "nodes": [ { "id": 4021, "name": "Stripe", "primary_domain": "stripe.com", "slug": "stripe", "partnership_count": 482, "is_root": true }, { "id": 5582, "name": "Shopify", "primary_domain": "shopify.com", "slug": "shopify", "partnership_count": 311, "is_root": false } ], "edges": [ { "source": 4021, "target": 5582 } ]}The two-company graph returns root_companies (an array of two IDs) instead of
root_company.
See also
Section titled “See also”- Companies API — full record for a single company.
- Technologies & Vendors API — find companies by the tech they run.