Search by task, endpoint, field, or error.
Company API
Find a company by name, website, ticker or registration identifier.
Search 500 selected leading U.S. public companies by name, website, ticker or SEC CIK. Get its name, country, website, listings and one recorded address in one response. Try the Company API.
Find a company
Parameters 13
- qstring · query · optional
Company name or alias text. Use at most one of q, domain, ticker or identifier; without a selector, country or an industry pair is required. Name matches rank by exact name, prefix, then substring. Filter-only results use stable ID order.
Length: 1 to 300 characters
- domainstring · query · optional
Website hostname or HTTP(S) URL. Matches the exact normalized host, including subdomains; a conventional www. prefix is removed.
Length: 1 to 4096 characters
- tickerstring · query · optional
Exact ticker symbol, case-insensitive. Use exchange to narrow the listing.
Length: 1 to 64 characters
- identifierstring · query · optional
SEC CIK as a string, with or without leading zeros. The optional authority is sec.
Length: 1 to 256 characters
- countrystring · query · optional
Filter the profile country by ISO 3166-1 alpha-2 code. Case-insensitive.
Pattern:
^[A-Za-z]{2}$- industrystring · query · optional
Exact four-digit SIC industry code. Requires industry_type=sic. Matches recorded classifications only; no inferred classifications or prefix matching.
Pattern:
^[0-9]{4}$- industry_typestring · query · optional
Industry classification namespace. Currently sic; requires industry.
Values:
sic- exchangestring · query · optional
Exchange name, case-insensitive. Supported only with ticker.
Length: 1 to 128 characters
- limitinteger · query · optional
Maximum companies per page.
Default:
20Range: 1 to 50
- cursorstring · query · optional
Opaque next cursor from the previous response. Keep the selector, filters and limit unchanged. An invalid or expired cursor returns 400; restart the search.
Length: 1 to 1024 characters
- deepboolean · query · optional
Add legal name, aliases, jurisdiction, legal entity status, other domains, identifiers, incorporation date, additional addresses, industry classifications, parent and sourced descriptive details inside each profile's deep object. Included on every plan in the same pooled request. Omit or use false for core.
Default:
false- prettyboolean · query · optional
Format the JSON response for reading.
Default:
false
curl "https://api.parseapi.com/company?domain=microsoft.com" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Parse-Version: 2.0.0"Run on your server with a secret key. Calling from a browser or app?
{
"companies": [
{
"id": "co_u5ntnpyvja2a",
"name": "MICROSOFT CORP",
"country": "US",
"website": "https://www.microsoft.com/",
"listings": [
{
"exchange": "Nasdaq",
"symbol": "MSFT"
}
],
"address": {
"type": "business",
"street": "ONE MICROSOFT WAY",
"city": "REDMOND",
"state": "WA",
"postal": "98052-6399",
"country": "US"
},
"match": {
"field": "website",
"value": "microsoft.com"
}
}
],
"next": null
}Find a company with one selector: q for a name, domain for a website, ticker for a listing, or identifier for a SEC CIK. Add country to narrow the company country, exchange with a ticker, or authority with an identifier.
To discover companies, send country=US, an exact industry pair such as industry=7372&industry_type=sic, or both. These filters also narrow a name, domain, ticker or identifier search. Country refers to the recorded profile country; unknown values do not match. SIC codes keep all four digits. Filter-only results have match: { field: "filters", value: null } and use stable ID order.
More searches and pagination
/company?q=Microsoft
/company?ticker=MSFT&exchange=Nasdaq
/company?identifier=0000789019&authority=sec
Name matches rank exact names first, then prefixes and contained matches. Ticker matches include the matched exchange. Identifier matches include type and authority; keep identifier values as strings to preserve leading zeros.
Search returns up to 20 companies. Set limit from 1 to 50. Pass a non-null next as cursor with the same selector, filters and limit. This example retrieves two pages with one company per page.
const url = new URL('https://api.parseapi.com/company?q=Micro&limit=1');
const headers = { 'X-API-Key': 'YOUR_API_KEY', 'Parse-Version': '2.0.0' };
async function readPage() {
const response = await fetch(url, { headers });
const data = await response.json();
if (!response.ok) throw new Error(data.message);
return data;
}
const first = await readPage();
if (first.next) {
url.searchParams.set('cursor', first.next);
const second = await readPage();
console.log(second.companies);
}Response fields
- companiesarray
- Matching company profiles in selector rank order, or stable ID order for filter-only discovery. An empty array means no match in this directory edition
- companies[].match.fieldstring
- The name, legal_name, aliases, website, domains, listings or identifiers field that matched; filters for country/industry discovery without a selector
- companies[].match.valuestring or null
- Matched name, normalized domain, ticker or identifier value; null for filter-only discovery
- companies[].match.exchangestring
- Present for ticker matches: the matched exchange or trading venue label
- companies[].match.typestring
- Present for identifier matches: the matching identifier type
- companies[].deepobject
- Additional details on each company when deep=true
- nextstring or null
- Opaque next-page cursor, or null. Reuse the same selector, filters and limit
Keep the company ID
Parameters 3
- idstring · path · required
Stable company ID returned by search.
Pattern:
^co_[23456789abcdefghjkmnpqrstuvwxyz]{12}$- deepboolean · query · optional
Add legal name, aliases, jurisdiction, legal entity status, other domains, identifiers, incorporation date, additional addresses, industry classifications, parent and sourced descriptive details inside each profile's deep object. Included on every plan in the same pooled request. Omit or use false for core.
Default:
false- prettyboolean · query · optional
Format the JSON response for reading.
Default:
false
curl "https://api.parseapi.com/company/id/co_u5ntnpyvja2a" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Parse-Version: 2.0.0"Run on your server with a secret key. Calling from a browser or app?
{
"id": "co_u5ntnpyvja2a",
"name": "MICROSOFT CORP",
"country": "US",
"website": "https://www.microsoft.com/",
"listings": [
{
"exchange": "Nasdaq",
"symbol": "MSFT"
}
],
"address": {
"type": "business",
"street": "ONE MICROSOFT WAY",
"city": "REDMOND",
"state": "WA",
"postal": "98052-6399",
"country": "US"
}
}Store the chosen company's id to retrieve it later. IDs begin with co_ followed by 12 characters; treat them as opaque values. Names, domains and ticker symbols can match more than one company.
website is one recorded URL, or null when no URL is recorded. listings keeps each symbol with its exchange or trading venue label; exchange labels are not standardized MIC codes.
Profile fields
Response fields
- idstring
- Stable company ID. Store it to retrieve the same profile later
- namestring
- Primary company name
- countrystring or null
- Recorded incorporation country as ISO 3166-1 alpha-2, or null. It does not establish headquarters or operations
- websitestring or null
- Recorded company website URL, or null when unknown
- listingsarray
- Exchange and ticker pairs. An empty list does not establish private ownership
- listings[].exchangestring
- Recorded exchange or trading venue label; not a standardized MIC code
- listings[].symbolstring
- Ticker symbol on that exchange
- addressobject or null
- One recorded address, or null. Prefers headquarters, then business, registered, mailing; first recorded within a type
- address.typestring
- Recorded address type: registered, headquarters, business or mailing
- address.streetstring or null
- Street address, or null
- address.citystring or null
- City, or null
- address.statestring or null
- State code within the address country, using the same code format as the geography APIs, or null
- address.postalstring or null
- Postal code string, or null
- address.countrystring or null
- ISO 3166-1 alpha-2 address country, or null
Unknown fields are null and unrecorded lists are empty. The default address is a recorded headquarters when available, otherwise a business, registered or mailing address, in that order. Its type tells you which address it is. Street, city and postal values stay as recorded; country and state codes use the same format as the geography APIs. If no address is recorded, address is null.
Additional details with deep
Add deep=true for legal name and status, aliases, registration jurisdiction, identifiers, incorporation date, other associated domains, additional addresses, industry classifications and parent company. deep.addresses contains the remaining recorded addresses without repeating the default address. Deep is included on every plan in the same pooled request. It appears on each company in a search, or on the profile returned by ID. Omit deep or use deep=false for core; an empty deep object means no additional details are available.
deep.status is the recorded legal entity status, not a check of trading activity or website availability. deep.domains contains other associated domains with their recorded URLs, or null when only the domain is known. The domain used by website is not repeated. If website is null, all associated domains remain in Deep.
jurisdiction uses separate country and state codes, consistent with the geography APIs. The state is null when only a registration country is recorded. The company's recorded country can differ from an address's country. parent is the recorded parent company's ID, or null.
Descriptive profiles also include description, a logo URL, social_profiles, founded and sources. Missing values remain null or empty lists; older editions may omit this group. founded preserves a reported year, month or day and is separate from the legal incorporated date. social_profiles contains platform, url and handle; unknown platform or handle values remain null. Logo and social URLs are references; they do not grant rights to reuse assets or verify ownership.
employees gives a reported workforce count, its as_of measurement date, and the legal_entity or consolidated_group scope stated by the source. basis distinguishes headcount, full_time and full_time_equivalent. approximate preserves the source's qualification. Annual filings often describe an earlier workforce. Unknown counts are null, and a reported zero stays zero.
When sourced, phone_numbers and email_addresses contain selected public business contacts. Each record preserves its number or address and a source-reported type, such as support, or null when unknown. These collections are omitted when no contacts are selected. They do not establish reachability, delivery or ownership.
Each sources entry names the company page or SEC filing and the fields it supplied. observed_at records when the source was read. updated_at is its reported update timestamp or null. Employee measurement dates stay in employees.as_of. Website claims do not establish legal identity.
curl "https://api.parseapi.com/company/id/co_u5ntnpyvja2a?deep=true" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Parse-Version: 2.0.0"Run on your server with a secret key. Calling from a browser or app?
{
"id": "co_u5ntnpyvja2a",
"name": "MICROSOFT CORP",
"country": "US",
"website": "https://www.microsoft.com/",
"listings": [
{
"exchange": "Nasdaq",
"symbol": "MSFT"
}
],
"address": {
"type": "business",
"street": "ONE MICROSOFT WAY",
"city": "REDMOND",
"state": "WA",
"postal": "98052-6399",
"country": "US"
},
"deep": {
"legal_name": "MICROSOFT CORP",
"aliases": [],
"jurisdiction": {
"country": "US",
"state": "WA"
},
"status": null,
"domains": [],
"identifiers": [
{
"type": "cik",
"authority": "sec",
"value": "0000789019"
}
],
"incorporated": null,
"addresses": [
{
"type": "mailing",
"street": "ONE MICROSOFT WAY",
"city": "REDMOND",
"state": "WA",
"postal": "98052-6399",
"country": "US"
}
],
"industries": [
{
"type": "sic",
"code": "7372",
"name": "Services-Prepackaged Software"
}
],
"parent": null,
"description": "Microsoft develops software, cloud computing, artificial intelligence, productivity and personal computing products and services.",
"logo": null,
"social_profiles": [],
"founded": null,
"employees": {
"count": 223000,
"as_of": "2026-06-30",
"scope": "consolidated_group",
"method": "reported",
"approximate": true,
"basis": "full_time"
},
"sources": [
{
"type": "sec_filing",
"url": "https://www.sec.gov/Archives/edgar/data/789019/000119312526323660/msft-20260630.htm",
"observed_at": "2026-09-26T13:14:27.975Z",
"updated_at": "2026-07-29T20:08:01.000Z",
"fields": [
"description",
"employees"
]
}
]
}
}Recorded response excerpt for Apple, showing a dated workforce observation and source attribution. Other profile and deep fields are omitted here.
{
"id": "co_g9puf74dwzwn",
"deep": {
"employees": {
"count": 166000,
"as_of": "2025-09-27",
"scope": "consolidated_group",
"method": "reported",
"approximate": true,
"basis": "full_time_equivalent"
},
"sources": [
{
"type": "sec_filing",
"url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
"observed_at": "2026-09-26T13:14:27.675Z",
"updated_at": "2025-10-31T10:01:26.000Z",
"fields": [
"description",
"employees"
]
}
]
}
}Response fields
- deep.legal_namestring or null
- Legal entity name, or null
- deep.aliasesarray
- Other company names
- deep.jurisdictionobject or null
- Recorded registration location as country and state codes, or null
- deep.jurisdiction.countrystring
- Registration country as ISO 3166-1 alpha-2
- deep.jurisdiction.statestring or null
- State code within the registration country, such as WA, or null
- deep.statusstring or null
- Recorded legal entity status; does not establish current business activity, website availability or listing status
- deep.domainsarray
- Other associated domains, excluding the core website hostname. Includes all recorded domains when the core URL is unknown
- deep.domains[].domainstring
- Associated hostname, normalized to lowercase ASCII without a conventional www. prefix
- deep.domains[].urlstring or null
- Recorded URL for this domain, or null; never inferred from a domain alone
- deep.identifiersarray
- Identifiers paired with their type and issuing authority
- deep.identifiers[].typestring
- SEC identifier type: cik
- deep.identifiers[].valuestring
- Identifier string. Preserve leading zeros
- deep.incorporatedstring or null
- Legal entity incorporation date as YYYY-MM-DD, or null
- deep.addressesarray
- Other recorded addresses, excluding the address returned in core, in recorded order
- deep.addresses[].typestring
- Recorded address type: registered, headquarters, business or mailing
- deep.addresses[].streetstring or null
- Street address, or null
- deep.addresses[].citystring or null
- City, or null
- deep.addresses[].statestring or null
- State code within the address country, with the same formatting as the core address, or null
- deep.addresses[].postalstring or null
- Postal code string, or null
- deep.addresses[].countrystring or null
- ISO 3166-1 alpha-2 address country, or null
- deep.industriesarray
- Industry classifications, each with its type and code
- deep.industries[].typestring
- Classification type, such as sic
- deep.industries[].codestring
- Industry code string
- deep.industries[].namestring or null
- Industry name, or null
- deep.parentstring or null
- Known parent company ID in this directory, or null
- deep.descriptionstring or null
- Business summary based on company filings, or null
- deep.logostring or null
- Recorded logo URL, or null. A reference does not grant permission to reuse the asset
- deep.phone_numbersarray
- Selected public business phone numbers; omitted when none are selected
- deep.phone_numbers[].numberstring
- Source-recorded phone number; no reachability verification
- deep.phone_numbers[].typestring or null
- Source-reported purpose, such as support, or null when unknown
- deep.email_addressesarray
- Selected public business email addresses; omitted when none are selected
- deep.email_addresses[].addressstring
- Source-recorded email address; no delivery verification
- deep.email_addresses[].typestring or null
- Source-reported purpose, such as support, or null when unknown
- deep.foundednull or object
- Reported founding date and precision, or null. Separate from legal incorporation
- deep.founded.valuestring
- YYYY, YYYY-MM or YYYY-MM-DD, matching the recorded precision without invented date components
- deep.founded.precisionstring
- year, month or day
- deep.employeesobject or null
- Reported workforce count with its measurement basis, date and organization scope, or null
- deep.employees.countinteger
- Reported number of employees, including a supported zero
- deep.employees.basisstring
- headcount, full_time or full_time_equivalent; omitted on older headcount responses
- deep.employees.as_ofstring
- Explicit measurement date in YYYY-MM-DD form
- deep.employees.scopestring
- legal_entity or consolidated_group, as supported by the source
- deep.employees.methodstring
- reported
- deep.employees.approximateboolean
- Whether the source calls the count approximate
- deep.sourcesarray
- Attribution for returned business details and workforce observations
- deep.sources[].typestring
- website or sec_filing
- deep.sources[].urlstring
- Page that supplied the attributed fields
- deep.sources[].fieldsarray
- Returned fields supplied by this source: description, logo, social_profiles, founded, employees, phone_numbers or email_addresses
- deep.sources[].observed_atstring
- When the page was read; not when each company fact changed
- deep.sources[].updated_atstring or null
- Source-reported update timestamp, or null; never inferred from observed_at or a date without a time
Directory coverage
Parameters 1
- prettyboolean · query · optional
Format the JSON response for reading.
Default:
false
curl "https://api.parseapi.com/company/directory/coverage" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Parse-Version: 2.0.0"Run on your server with a secret key. Calling from a browser or app?
{
"scope": "us_public_top500",
"label": "U.S. public companies",
"description": "500 selected U.S. public-company issuers. Share classes are grouped by issuer; this is not complete U.S. business coverage.",
"snapshot_at": "2026-09-26T13:45:47.339Z",
"companies": 500,
"countries": [
"BM",
"CH",
"CW",
"IE",
"JE",
"LR",
"NL",
"SG",
"US"
],
"with_website": 500,
"with_listings": 500,
"with_address": 500
}Read this endpoint for the current edition's profile count, countries and counts with listings, addresses and domains. The recorded example illustrates the response shape. These counts describe the returned edition, not complete country or worldwide coverage.
Response fields
- scopestring
- Scope classification of the directory edition
- labelstring
- Name of the directory edition
- descriptionstring
- What the edition covers
- snapshot_atstring
- Latest source observation time across the loaded cohort, in UTC
- companiesinteger
- Number of company profiles in the edition
- countriesarray
- Country codes recorded on profiles; not a complete-country coverage claim
- with_websiteinteger
- Profiles with a primary website or associated domain
- with_listingsinteger
- Profiles with at least one exchange and ticker pair
- with_addressinteger
- Profiles with at least one typed address
Access and errors
Use your API key with Parse-Version: 2.0.0. Company requests use the normal pooled request allowance.
A search with no matches returns 200 with an empty companies array. An unknown company ID returns 404. Invalid options or an expired cursor return 400; restart the search for a fresh cursor. Authentication uses 401 or 403, request limits use 429, and an unavailable directory returns 503. Error responses include code, message, docs and request_id.
Questions? Email