# Relativity Business Data API SEC-derived business overview, ownership, insider, similarity, media, and workforce data. Read-only JSON over HTTPS. Every endpoint is a GET. OpenAPI spec: https://data.relativityinvest.ai/openapi.json Human docs: https://data.relativityinvest.ai/docs/ ## Endpoints - GET /health — Liveness probe - GET /mcp — Not allowed — MCP is POST only - GET /v1/business-overview/companies/{cik} — Everything we hold on a company's business, in one call - GET /v1/business-overview/companies/{cik}/competitors — Competitors named in a company's filings - GET /v1/business-overview/companies/{cik}/customers — Customers and end markets for one company - GET /v1/business-overview/companies/{cik}/filings — A company's SEC filings, newest first - GET /v1/business-overview/companies/{cik}/risk-factors — Risk factors a company disclosed in Item 1A - GET /v1/business-overview/companies/{cik}/suppliers — Suppliers named in a company's filings - GET /v1/business-overview/companies/{cik}/workforce — Headcount and workforce composition for one company - GET /v1/company-reviews/companies/{cik} — Company Culture ratings and sentiment for a company - GET /v1/media/ — Media appearances with verified company matches, newest first - GET /v1/media/{mediaItemId} — One media appearance and its verified matches - GET /v1/media/companies/{cik} — Media appearances for one company - GET /v1/meta/companies — The company universe, cursor-paginated - GET /v1/meta/coverage — Per-dataset company counts and freshness - GET /v1/meta/usage — This account's daily API usage - GET /v1/movements/ — Insider movements across all covered companies, newest first - GET /v1/movements/companies/{cik} — Insider movements for one company - GET /v1/ownership/companies/{cik} — Company-level insider ownership percentage - GET /v1/similarity/companies/{cik}/peers — Ranked peers with component sub-scores - GET /v1/similarity/pairs/{cik1}/{cik2} — The similarity relationship between two specific companies ## Briefing I am integrating the Relativity Business Data API. Facts you need: - Base URL: https://data.relativityinvest.ai - Auth: every request sends `Authorization: Bearer `, where the key looks like `cen_…`. No other auth, no cookies. - If I do not have a key yet, one call gets one, no browser needed: POST https://api.relativityinvest.ai/v1/business/agents/sign-up with `{email, name, company_name}`. The `token` in the response is the key, returned once, on a pay-as-you-go account with free credits to start. - Pay-as-you-go spends one prepaid credit per request and reports `X-Credits-Remaining` on every response. A `402 business.credits_insufficient` means the balance is empty: buy more at POST https://api.relativityinvest.ai/v1/business/credits/top-up (same bearer key) and retry. Better: watch the header and top up before zero. - All endpoints are GET and return JSON. - Success responses are wrapped: `{ "success": true, "data": { … } }`. - Error responses are `{ "success": false, "message": "…", "code": "business.…" }`. Branch on `code`, never on `message`. - Retry 429 and 503 with exponential backoff, honouring `Retry-After`. Never retry a 401 or 403 — those are configuration errors. - List endpoints are cursor-paginated: read `data.meta.cursor` and pass it back as `?cursor=`; stop when `data.meta.has_more` is false. - The full OpenAPI 3.1 spec is at https://data.relativityinvest.ai/openapi.json — fetch it and use it as the source of truth for paths, parameters, and fields. Read the spec, then write me a small, typed client with retry handling and pagination already dealt with. Ask me which language if unclear.