Search by task, endpoint, field, or error.
Company API
Find a company by name, website, ticker or registration identifier.
Connect your company records to the right issuer. Keep its stable ID when joining profiles and SEC records. Search 500 selected issuers listed in the U.S. by name, website, ticker or SEC CIK. Get its name, incorporation country, website, listings and one recorded address in one response. Try the Company API.
Find a company
Parameters 3
- domainstring · path · required
public website hostname
Length: 0 to 254 characters
- deepboolean · query · optional
Add available business details, identifiers, industry and dated employee counts 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/apple.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?
{
"id": "co_g9puf74dwzwn",
"name": "Apple Inc.",
"country": "US",
"website": "https://www.apple.com/",
"listings": [
{
"exchange": "Nasdaq",
"symbol": "AAPL"
}
],
"address": {
"type": "business",
"street": "ONE APPLE PARK WAY",
"city": "CUPERTINO",
"state": "CA",
"postal": "95014",
"country": "US"
}
}Website, ticker and SEC CIK lookups return one company object: /company/domain/apple.com, /company/ticker/AAPL or /company/cik/0000320193. CIK accepts 1 to 10 digits and preserves its normalized identity. Add exchange=Nasdaq if a ticker needs a venue. No match returns 404; an ambiguous lookup returns 409 rather than choosing 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 available business details, identifiers, industry and dated employee counts 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?q=Apple+Inc." \
-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_g9puf74dwzwn",
"name": "Apple Inc.",
"country": "US",
"website": "https://www.apple.com/",
"listings": [
{
"exchange": "Nasdaq",
"symbol": "AAPL"
}
],
"address": {
"type": "business",
"street": "ONE APPLE PARK WAY",
"city": "CUPERTINO",
"state": "CA",
"postal": "95014",
"country": "US"
},
"match": {
"field": "name",
"value": "Apple Inc."
}
}
],
"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.
When connecting a ticker to SEC records, request /company/ticker/AAPL?deep=true. The same response includes the SEC CIK in deep.identifiers and source-qualified profile facts. Confirm the match and save its id for later profile reads. Names and ticker symbols can change; this endpoint does not resolve a ticker for a historical date.
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=Apple%20Inc.
/company?ticker=AAPL&exchange=Nasdaq
/company?identifier=0000320193&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 selected field that matched: name, legal_name, aliases, website, domains, listings or identifiers; filters for 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 available business details, identifiers, industry and dated employee counts 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
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 core fields are null. Optional Deep facts and collections are omitted when unavailable. 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 available business details, identifiers, industry, additional addresses and dated workforce counts. Other names and domains appear only when recorded; a legal name is omitted when it repeats name. 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 any direct profile lookup by website, ticker, CIK or ID. Omit deep or use deep=false for core; an empty deep object means no additional details are available. Unknown details and empty optional collections are omitted.
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, when recorded.
Descriptive profiles also include description, a logo URL, social_profiles, founded when recorded. Unavailable details are omitted. founded preserves a reported year, month or day and is separate from the legal incorporated date. social_profiles contains a url and any known platform or handle. Unknown account metadata is omitted. Logo and social URLs are references; they do not grant rights to reuse assets or verify ownership.
employees gives a reported workforce count and its as_of measurement date. scope covers one legal entity (legal_entity) or the parent and its consolidated subsidiaries (consolidated_group). basis distinguishes people (headcount), full-time employees (full_time) and working hours expressed as full-time roles (full_time_equivalent). Reported counts may be rounded. Annual filings often describe an earlier workforce. Unknown counts are omitted, 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. A specific source-reported purpose, such as fax or customer support, appears in type; generic business and unknown labels are omitted. These collections are omitted when no contacts are selected. They do not establish reachability, delivery or ownership.
curl "https://api.parseapi.com/company/domain/apple.com?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_g9puf74dwzwn",
"name": "Apple Inc.",
"country": "US",
"website": "https://www.apple.com/",
"listings": [
{
"exchange": "Nasdaq",
"symbol": "AAPL"
}
],
"address": {
"type": "business",
"street": "ONE APPLE PARK WAY",
"city": "CUPERTINO",
"state": "CA",
"postal": "95014",
"country": "US"
},
"deep": {
"aliases": [
"APPLE INC",
"APPLE COMPUTER INC",
"APPLE COMPUTER INC/ FA"
],
"jurisdiction": {
"country": "US",
"state": "CA"
},
"identifiers": [
{
"type": "cik",
"authority": "sec",
"value": "0000320193"
}
],
"addresses": [
{
"type": "mailing",
"street": "ONE APPLE PARK WAY",
"city": "CUPERTINO",
"state": "CA",
"postal": "95014",
"country": "US"
}
],
"industries": [
{
"type": "sic",
"code": "3571",
"name": "Electronic Computers"
}
],
"description": "Apple designs, manufactures and markets smartphones, personal computers, tablets, wearables and accessories, and sells related services.",
"logo": "https://www.apple.com/ac/structured-data/images/knowledge_graph_logo.png?202609042047",
"social_profiles": [
{
"platform": "youtube",
"url": "https://www.youtube.com/user/Apple"
},
{
"platform": "linkedin",
"url": "https://www.linkedin.com/company/apple"
},
{
"platform": "facebook",
"url": "https://www.facebook.com/Apple"
},
{
"platform": "twitter",
"url": "https://www.twitter.com/Apple"
}
],
"employees": {
"count": 166000,
"as_of": "2025-09-27",
"scope": "consolidated_group",
"basis": "full_time_equivalent"
},
"phone_numbers": [
{
"number": "(408) 996-1010"
}
]
}
}Recorded response excerpt for Apple, showing a dated workforce count. Other profile and deep fields are omitted here.
{
"id": "co_g9puf74dwzwn",
"deep": {
"employees": {
"count": 166000,
"as_of": "2025-09-27",
"scope": "consolidated_group",
"basis": "full_time_equivalent"
}
}
}Response fields
- deep.legal_namestring or null
- Different legal name; omitted when it repeats name or is unknown
- deep.aliasesarray
- Other company names
- deep.jurisdictionobject or null
- Recorded registration location as country and state codes, omitted when unknown
- 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 when only the country is known
- 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, omitted when unknown
- 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, omitted when unknown
- deep.parentstring or null
- Known parent company ID in this directory, omitted when unknown
- deep.descriptionstring or null
- Business summary based on company filings, omitted when unknown
- 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
- Specific source-reported purpose, such as fax; omitted for unknown or generic business labels
- 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
- Specific source-reported purpose, such as customer_support; omitted for unknown or generic business labels
- deep.foundednull or object
- Reported founding date and precision, omitted when unknown. 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, omitted when unknown. Reported counts may be rounded
- 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 covers one legal entity; consolidated_group covers the parent and its consolidated subsidiaries
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 local profile candidate also reports counts with a logo, founding information, a dated employee count and published contacts. These counts describe the same selected cohort. Counts measure profiles with a selected value, not complete coverage, currentness or independent verification. Older editions can omit the optional counts; omitted does not mean zero. snapshot_at is the latest committed review time across this cohort; workforce measurement dates remain separate. The recorded example illustrates the response shape.
Response fields
- scopestring
- Scope classification of the directory edition
- labelstring
- Name of the directory edition
- descriptionstring
- What the edition covers
- snapshot_atstring
- Latest committed review time across the loaded cohort, in UTC. Source capture and fact measurement dates remain separate; unchanged rechecks do not advance this timestamp
- 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
- with_logointeger
- Optional: profiles with a selected logo URL; not guaranteed render-ready assets
- with_foundedinteger
- Optional: profiles with reported founding information, preserving its precision
- with_employeesinteger
- Optional: profiles with a dated workforce observation; measurements may describe an earlier workforce
- with_email_addressesinteger
- Optional: profiles with at least one selected published email address; not delivery verification
- with_relationshipsinteger
- Optional: profiles with a selected relationship in this directory; zero does not establish absence elsewhere
Existing integrations
Existing query and ID routes preserve the employee method and approximate fields, contact type and nullable social-profile keys required by released clients. Website, ticker and CIK routes use the compact profile shown above. Sources remain internal on every route. Existing SDK and MCP operations continue working without an upgrade.
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 lookup returns 404. A direct lookup with multiple matches returns 409 ambiguous_company; use a stable company ID or add an exchange for ticker lookup. 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.
Try advanced searches
Questions? Email