CompanyData.com
CompanyData.com — keyless JSON API
CompanyData.com. Connect your software to real-time company data from official trade
We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗
On our probe schedule. Uptime charts appear after the first check lands.
GET https://companydata.com/openapi.json
{
"openapi": "3.0.3",
"info": {
"title": "CompanyData API",
"version": "1.0.0",
"description": "CompanyData API: search and export companies, plus lookup helpers for exact location names.\n\n**Authentication**: send your API key in the `x-api-key` header on every request.\n**Rate limit**: 50 requests per second (default). **Monthly quota**: 100,000 requests unless agreed otherwise with support.\n\nHuman-readable documentation: https://companydata.com/api-docs/ (see also returned-fields and pagination guides on the docs site).",
"contact": {
"name": "CompanyData",
"url": "https://companydata.com/api-docs/"
},
"license": {
"name": "Commercial",
"url": "https://companydata.com/business-data-api/"
}
},
"servers": [
{
"url": "https://app.companydata.com",
"description": "Production"
}
],
"tags": [
{
"name": "Company",
"description": "Company search and export"
},
{
"name": "Lookup",
"description": "Autocomplete helpers for city, province, region, and country names"
}
],
"security": [
{
"ApiKeyAuth": []
}
],
"paths": {
"/api/company/search": {
"get": {
"operationId": "companySearch",
"tags": [
"Company"
],
"summary": "Company search",
"description": "Search companies by name, address, and filters. Returns a lightweight default field set; additional search fields may be available per agreement with support. Uses **standard pagination only** (no scroll). Search defaults: pageSize 25 (max 50), maximum **50 total records** retrievable across pages.",
"parameters": [
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/pageSize"
}
],
"responses": {
"200": {
"description": "Standard pagination response. Records are under data.records; totalCount reflects the full result set size.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StandardCompanyListResponse"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
}
}
},
"/api/company/export": {
"get": {
"operationId": "companyExport",
"tags": [
"Company"
],
"summary": "Company export",
"description": "Export companies with the field set included in your subscription. Supports **standard pagination** (max 10,000 records) or **scroll pagination** (unlimited; scroll context expires after 8 minutes). Pass `export=true` as shown in the docs.",
"parameters": [
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/pageSize"
}
],
"responses": {
"200": {
"description": "Either standard pagination (data.records) or scroll pagination (data as array). Inspect useScroll / scrollId usage to interpret the shape.",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/StandardCompanyListResponse"
},
{
"$ref": "#/components/schemas/ScrollCompanyExportResponse"
}
]
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
}
}
},
"/api/cities": {
"get": {
"operationId": "lookupCities",
"tags": [
"Lookup"
],
"summary": "Look up city names",
"description": "Returns exact cityName values to use with company search/export (cityName requires an exact database value).",
"parameters": [
{
"$ref": "#/components/parameters/lookupSearch"
},
{
"$ref": "#/components/parameters/lookupCountries"
}
],
"responses": {
"200": {
"description": "List of matching cities.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"description": "Matching city entries with exact names for use in API filters.",
"items": {
"type": "object",
"required": [
"cityName",
"countryCode"
],
"properties": {
"cityName": {
"type": "string",
"description": "City name as stored in the database (use verbatim in cityName filter)."
},
"countryCode": {
"type": "string",
"description": "ISO 2-letter country code for this city entry."
}
}
}
},
"total": {
"type": "integer",
"description": "Number of matching lookup results returned in this response."
},
"limit": {
"type": "integer",
"description": "Effective limit applied to this lookup request (requested or default)."
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
}
}
}
}
}curl "https://companydata.com/openapi.json"const res = await fetch("https://companydata.com/openapi.json");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://companydata.com/openapi.json")
print(res.json())/openapi.jsonPROBEDCompanyData.com — keyless JSON API
/openapi.json?limit=5Paginated variant with limit parameter.
/api/company/searchCompany search
/api/company/exportCompany export
/api/citiesLook up city names
/api/protool/proxy/Proxy — documented GET route.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Not tracked yet. Shape-change history starts once this API joins our probe schedule.
CompanyData.com: common questions
Is CompanyData.com free to use?
Yes — CompanyData.com is a free finance API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.
Does CompanyData.com need an API key?
No — CompanyData.com needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call CompanyData.com from the browser?
Yes — CompanyData.com returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is CompanyData.com up right now?
CompanyData.com is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.