Home / Developers / Subsidiaries API
API reference

Subsidiaries API

A company's subsidiaries and where each is organized, read from Exhibit 21 of its annual report. Works for 10-K, 20-F and 40-F filers; tables and plain lists are both parsed. Product overview →

Endpoints

/v1/subsidiaries

GEThttps://secfeedapi.com/v1/subsidiaries

Subsidiaries and jurisdictions from Exhibit 21.

ParameterTypeDescriptionExample
tickerstringCompany ticker. Use either ticker or cik.AAPL
cikstringCompany CIK. Takes precedence over ticker.320193
accessionNostringA specific annual report. Defaults to the latest 10-K, 20-F or 40-F.0000320193-25-000079

Request examples

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

Apple's subsidiaries

Name and jurisdiction for each subsidiary in Exhibit 21.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=AAPL"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/subsidiaries",
    params={'ticker': 'AAPL'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": 320193,
  "accessionNo": "0000320193-25-000079",
  "exhibit": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/a10-kexhibit21109272025.htm",
  "subsidiaries": [
    {
      "name": "Apple Asia Limited",
      "jurisdiction": "Hong Kong"
    },
    {
      "name": "Apple Asia LLC",
      "jurisdiction": "Delaware, U.S."
    }
  ]
}

Microsoft by CIK

exhibit links the source document.

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

r = requests.get(
    "https://secfeedapi.com/v1/subsidiaries",
    params={'cik': '789019'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": 789019,
  "accessionNo": "0001193125-26-323660",
  "exhibit": "https://www.sec.gov/Archives/edgar/data/789019/000119312526323660/msft-ex21.htm",
  "subsidiaries": [
    {
      "name": "Microsoft Ireland Research Unlimited Company",
      "jurisdiction": "Ireland"
    },
    {
      "name": "Microsoft Global Finance Unlimited Company",
      "jurisdiction": "Ireland"
    }
  ]
}

Coca-Cola

Group by jurisdiction to see where a company operates.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=KO"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/subsidiaries",
    params={'ticker': 'KO'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": 21344,
  "accessionNo": "0001628280-26-010047",
  "exhibit": "https://www.sec.gov/Archives/edgar/data/21344/000162828026010047/a20251231exhibit211.htm",
  "subsidiaries": [
    {
      "name": "The Coca-Cola Company",
      "jurisdiction": "Delaware"
    },
    {
      "name": "Atlantic Industries",
      "jurisdiction": "Cayman Islands"
    }
  ]
}

Response fields

FieldTypeMeaning
cikintegerCompany CIK.
accessionNostringAnnual report the exhibit belongs to.
exhibitstringURL of the Exhibit 21 document.
subsidiaries[]arrayOne object per subsidiary, in filing order.
subsidiaries[].namestringSubsidiary name as written.
subsidiaries[].jurisdictionstringState or country of organization, null when the exhibit does not say.

How to

How do I count subsidiaries by country?

Group subsidiaries by jurisdiction.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=MSFT"
How do I use an older annual report?

Pass that report's accessionNo.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=AAPL&accessionNo=0000320193-25-000079"
How do I find the annual report accession numbers?

Search 10-K filings with the Filing Query API.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/filings?query=ticker:AAPL%20AND%20formType:%2210-K%22&size=5"
How do I see the exhibit as filed?

Open the exhibit URL or convert it with the PDF Generator.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=KO"
How do I compare two years?

Call once per accessionNo and diff the names.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=AAPL"
Does it work for foreign filers?

Yes, for 20-F and 40-F filers that attach an Exhibit 21 or 8.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=JNJ"
What if the company has no Exhibit 21?

You get a 400 saying no Exhibit 21 in this filing. Large filers such as Pfizer attach one, so the example returns the list.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/subsidiaries?ticker=PFE"
Can I use a CIK with leading zeros?

Yes, leading zeros are ignored.

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

Errors

See also the error codes every endpoint shares.

Try it with your own key

500 free calls a month.

Get free API key →