Home / Developers / Company Profiles API
API reference

Company Profiles API

Look up the EDGAR profile of any filer by CIK or ticker: legal name, SIC industry, filer category, fiscal year end, state of incorporation, addresses, phone, EIN, tickers, exchanges and former names. It covers every entity with a CIK, including funds, individuals and private issuers, not only listed companies. Product overview →

Endpoints

/v1/entities

GEThttps://secfeedapi.com/v1/entities

EDGAR entity profile: SIC, addresses, state, fiscal year end, former names.

ParameterTypeDescriptionExample
cikrequiredstringCIK (with or without leading zeros) or a ticker. Tickers are resolved to a CIK first.NVDA

Request examples

Every response below is real output from the API, trimmed to the first records.

Profile by ticker

The ticker is resolved to CIK 1045810. fiscalYearEnd is MMDD, here 0131 for a January year end.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=NVDA"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/entities",
    params={'cik': 'NVDA'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": "0001045810",
  "entityType": "operating",
  "sic": "3674",
  "sicDescription": "Semiconductors & Related Devices",
  "ownerOrg": "04 Manufacturing",
  "insiderTransactionForOwnerExists": 1,
  "insiderTransactionForIssuerExists": 1,
  "name": "NVIDIA CORP",
  "tickers": [
    "NVDA"
  ],
  "exchanges": [
    "Nasdaq"
  ],
  "ein": "943177549",
  "lei": null,
  "description": "",
  "website": "",
  "investorWebsite": "",
  "category": "Large accelerated filer",
  "fiscalYearEnd": "0131",
  "stateOfIncorporation": "DE",
  "stateOfIncorporationDescription": "DE",
  "addresses": {
    "mailing": {
      "street1": "2788 SAN TOMAS EXPRESSWAY",
      "street2": null,
      "city": "SANTA CLARA",
      "stateOrCountry": "CA",
      "zipCode": "95051",
      "stateOrCountryDescription": "CA",
      "isForeignLocation": 0,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    },
    "business": {
      "street1": "2788 SAN TOMAS EXPRESSWAY",
      "street2": null,
      "city": "SANTA CLARA",
      "stateOrCountry": "CA",
      "zipCode": "95051",
      "stateOrCountryDescription": "CA",
      "isForeignLocation": null,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    }
  },
  "phone": "408-486-2000",
  "flags": "",
  "formerNames": [
    {
      "name": "NVIDIA CORP/CA",
      "from": "1998-05-07T04:00:00.000Z",
      "to": "2002-06-04T04:00:00.000Z"
    }
  ]
}

Profile by CIK

Pass a numeric CIK directly when you already have one, for example from a filing.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=320193"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/entities",
    params={'cik': '320193'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": "0000320193",
  "entityType": "operating",
  "sic": "3571",
  "sicDescription": "Electronic Computers",
  "ownerOrg": "06 Technology",
  "insiderTransactionForOwnerExists": 0,
  "insiderTransactionForIssuerExists": 1,
  "name": "Apple Inc.",
  "tickers": [
    "AAPL"
  ],
  "exchanges": [
    "Nasdaq"
  ],
  "ein": "942404110",
  "lei": null,
  "description": "",
  "website": "",
  "investorWebsite": "",
  "category": "Large accelerated filer",
  "fiscalYearEnd": "0926",
  "stateOfIncorporation": "CA",
  "stateOfIncorporationDescription": "CA",
  "addresses": {
    "mailing": {
      "street1": "ONE APPLE PARK WAY",
      "street2": null,
      "city": "CUPERTINO",
      "stateOrCountry": "CA",
      "zipCode": "95014",
      "stateOrCountryDescription": "CA",
      "isForeignLocation": 0,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    },
    "business": {
      "street1": "ONE APPLE PARK WAY",
      "street2": null,
      "city": "CUPERTINO",
      "stateOrCountry": "CA",
      "zipCode": "95014",
      "stateOrCountryDescription": "CA",
      "isForeignLocation": null,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    }
  },
  "phone": "(408) 996-1010",
  "flags": "",
  "formerNames": [
    {
      "name": "APPLE INC",
      "from": "2007-01-10T05:00:00.000Z",
      "to": "2019-08-05T04:00:00.000Z"
    },
    {
      "name": "APPLE COMPUTER INC",
  ...

A ticker with a class suffix

Class share tickers use a hyphen, as in the SEC's ticker file.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=BRK-B"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/entities",
    params={'cik': 'BRK-B'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": "0001067983",
  "entityType": "operating",
  "sic": "6331",
  "sicDescription": "Fire, Marine & Casualty Insurance",
  "ownerOrg": "02 Finance",
  "insiderTransactionForOwnerExists": 1,
  "insiderTransactionForIssuerExists": 1,
  "name": "BERKSHIRE HATHAWAY INC",
  "tickers": [
    "BRK-B",
    "BRK-A"
  ],
  "exchanges": [
    "NYSE",
    "NYSE"
  ],
  "ein": "470813844",
  "lei": null,
  "description": "",
  "website": "",
  "investorWebsite": "",
  "category": "Large accelerated filer",
  "fiscalYearEnd": "1231",
  "stateOfIncorporation": "DE",
  "stateOfIncorporationDescription": "DE",
  "addresses": {
    "mailing": {
      "street1": "3555 FARNAM STREET",
      "street2": null,
      "city": "OMAHA",
      "stateOrCountry": "NE",
      "zipCode": "68131",
      "stateOrCountryDescription": "NE",
      "isForeignLocation": 0,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    },
    "business": {
      "street1": "3555 FARNAM STREET",
      "street2": null,
      "city": "OMAHA",
      "stateOrCountry": "NE",
      "zipCode": "68131",
      "stateOrCountryDescription": "NE",
      "isForeignLocation": null,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    }
  },
  "phone": "4023461400",
  "flags": "",
  "formerNames": [
    {
      "name": "NBH INC",
      "from": "1998-08-10T04:00:00.000Z",
      "to": "1999-01-05T05:00:00.000Z"
    }
  ...

Response fields

FieldTypeMeaning
cikstringCIK padded to 10 digits.
entityTypestringEDGAR entity type, for example operating or other.
sicstringStandard Industrial Classification code.
sicDescriptionstringName of the SIC industry.
ownerOrgstringThe SEC office that reviews the filer, for example 04 Manufacturing.
insiderTransactionForOwnerExistsinteger1 when the entity has filed insider reports as an owner.
insiderTransactionForIssuerExistsinteger1 when insider reports exist with this entity as the issuer.
namestringCurrent legal name on EDGAR.
tickersarray of stringsTrading symbols on file.
exchangesarray of stringsExchanges for those tickers, in the same order.
einstringIRS employer identification number, when on file.
leistring or nullLegal entity identifier, when on file.
descriptionstringFree text description; usually empty.
websitestringWebsite on file; often empty.
investorWebsitestringInvestor relations site on file; often empty.
categorystringFiler status, for example Large accelerated filer or Non-accelerated filer.
fiscalYearEndstringFiscal year end as MMDD.
stateOfIncorporationstringState or country code of incorporation.
stateOfIncorporationDescriptionstringReadable form of the incorporation code.
addresses.mailing / addresses.businessobjectTwo address objects with street1, street2, city, stateOrCountry, zipCode, stateOrCountryDescription, isForeignLocation, foreignStateTerritory, country, countryCode.
phonestringBusiness phone number.
flagsstringEDGAR status flags; empty for most filers.
formerNames[]arrayPrevious names, each with name, from and to timestamps.

How to

How do I find a company's fiscal year end?

Read fiscalYearEnd. It is MMDD, so 0131 means January 31 and 1231 means December 31.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=NVDA"
How do I get the industry (SIC) of a filer?

Use sic and sicDescription. List other companies in the same code with /v1/mapping/sic.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=AAPL"
How do I check whether a company is a large accelerated filer?

Read category. It shows the filer status the company reported to EDGAR.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=MSFT"
How do I see a company's previous names?

formerNames lists each earlier name with the dates it was in use.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=NVDA"
Can I look up an entity that has no ticker?

Yes. Pass the numeric CIK; funds, trusts, individuals and private issuers all have profiles.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=36405"
How do I get the business address and phone?

addresses.business holds the street address and phone holds the number on file.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=320193"
Where is a company incorporated?

stateOfIncorporation holds the state or country code.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=BRK-B"
How do I find the exchange a stock trades on?

tickers and exchanges are parallel arrays: the first ticker trades on the first exchange.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/entities?cik=NVDA"

Errors

See also the error codes every endpoint shares.

Try it with your own key

500 free calls a month.

Get free API key →