API

Read-only JSON over HTTPS, for everything the site shows. Sign in to create a key.

Requests

Base
https://thirdpartyindex.com/api/v1
Key
Authorization: Bearer vti_…. Never in the URL.
Limit
20 requests a minute per key unless agreed otherwise; 429 with Retry-After beyond it.
Responses
{"data": …}; lists add next_cursor, passed back as ?cursor=. Errors: {"error": {"code", "message"}}.
Times
RFC 3339, UTC. Dates YYYY-MM-DD.
License
Data is CC BY 4.0: reuse it, crediting Third Party Index with a link. Evidence text quotes vendors’ documents, which remain theirs.
Evidence
evidence_id is the snapshot a value was read from: its hashes; its text with ?include=text, what we read from it with ?include=parsed.
curl -H "Authorization: Bearer $API_KEY" https://thirdpartyindex.com/api/v1/vendors/slack/subprocessors

Endpoints

GETParametersReturns
/vendorsq, limit (≤500), cursorVendors: transparency score, document and subprocessor counts
/vendors/{slug}A vendor, its monitored documents, its parent and child companies, the transparency rating's parts, its reach in the subprocessor graph, upstream_incidents: incidents of the last 30 days reported by vendors it names as subprocessors, each with a source (status; hibp: a breach listed by Have I Been Pwned, CC BY 4.0; sec: a Form 8-K Item 1.05 filing, Item 8.01 not read) and a date with its date_kind (started: when a status incident began; listed: the day HIBP added a breach; filed: the filing day). id and started_at are status-only; occurred_on is the breach or event date when the source states it
/vendors/{slug}/subprocessorscursor, limit (≤500; without it, the whole list)Current subprocessors: purposes, locations, transfer mechanisms, listed since, the AI model provider an entry is
/vendors/{slug}/used-bycursor, limit (≤500; without it, the whole list)Tracked vendors listing it as a subprocessor, with their stated purposes
/vendors/{slug}/changescursor, limitIts published changes
/vendors/{slug}/incidentsimpact, q, since, cursor, limit (≤500)Incidents its status page reported, newest first. An incident's url is on the status page's own host: its incident page there, or the status page itself
/vendors/{slug}/statusWhat its status page says now, incidents under way, the last 90 days by impact, typical time to resolve
/vendors/{slug}/complianceCertifications its trust center lists (audited or claimed), its FedRAMP Marketplace offerings, its IAB Europe TCF registrations (purposes, special features), the cybersecurity section of its latest annual report
/vendors/{slug}/securityCISA known exploited vulnerabilities, SEC Form 8-K Item 1.05 filings, Have I Been Pwned breaches, its security.txt
/vendors/{slug}/websiteWhat its homepage loads in a browser, who controls each domain, technologies detected, its third parties by category (each entry's source: detected on this homepage, reviewed from the company's own page, or usually detected as that category elsewhere), and the security headers its response carried (observed values, no grade)
/vendors/{slug}/federalrole (funding | awarding)Federal agencies in its contract records
/vendors/{slug}/federal/awardsorg, roleThe award records behind them
/government/orgslevel, parentDepartments, agencies or offices, with tracked vendors
/government/orgs/{slug}roleAn organization and the vendors in its records
/changescursor, vendor, limit (≤1000)All published changes
/incidentsimpact (critical,major,minor,none), q, since, cursor, limit (≤500)Incidents across tracked vendors' status pages, each once, newest first; url as for a vendor's incidents
/incidents/ongoingIncidents under way now, and status pages reporting problems
/evidence/{id}include=text,parsedA snapshot: source, fetch time, hashes; with include, its normalized text and what we read from it

AI agents

No key needed for these. Same license: credit Third Party Index with a link.

Markdown
Any vendor page as Markdown: /vendors/{slug}.md, or send Accept: text/markdown to the page
OpenAPI
/api/openapi.json: this API described for tools and agent frameworks
DORA draft
/vendors/{slug}/dora.csv: the declared subcontracting chain as a draft of the EBA register of information. What's this?
llms.txt
/llms.txt: an index of the site for language models

Change feed

/changes lists published changes oldest first. Keep the last next_cursor and pass it back to receive only newer ones; an empty page returns the same cursor.

Incidents

What vendors' own status pages report (Atlassian Statuspage, incident.io, Instatus, Better Stack, status.io, StatusIQ, Uptime.com, StatusPal, PagerDuty, Sorry, Cronitor, Rootly): the vendor's words, not measured downtime. /incidents pages newest first: pass next_cursor back for older ones; it is absent on the last page. impact is none when the page states none. url is the vendor's own report and evidence_id the reading it came from. Incidents a page listed before our first reading come from its history, without components.