← Docs

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.

GET
api.parseapi.com/company/domain/{domain}
Get one company by website
Explore
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

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

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?

Example response
{
  "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.

GET
api.parseapi.com/company
Search company names or discover profiles
Explore
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

authoritystring · query · optional

Identifier authority, case-insensitive. Supported only with identifier.

Length: 1 to 128 characters

Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.:/-]{0,127}$

limitinteger · query · optional

Maximum companies per page.

Default: 20

Range: 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

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

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?

Example response
{
  "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[].match.authoritystring
Present for identifier matches: the matching issuing authority
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

GET
api.parseapi.com/company/id/{id}
Retrieve one company profile
Explore
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.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

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?

Example response
{
  "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.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[].authoritystring
Issuing authority
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.social_profilesarray
Recorded social profiles; omitted when none are recorded
deep.social_profiles[].platformstring or null
Social platform; omitted when unknown
deep.social_profiles[].urlstring
Recorded HTTP(S) profile URL
deep.social_profiles[].handlestring or null
Recorded account handle; omitted when unknown
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
GET
api.parseapi.com/company/directory/coverage
Coverage and edition details
Explore
Parameters 1
prettyboolean · query · optional

Format the JSON response for reading.

Default: false

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

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?

Example response
{
  "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_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