Endpoints
/v1/mapping/ticker
https://secfeedapi.com/v1/mapping/tickerTicker to CIK, name, exchange.
| Parameter | Type | Description | Example |
|---|---|---|---|
tickerrequired | string | Ticker. Case-insensitive; dots and dashes are treated the same (BRK.B = BRK-B). | BRK-B |
- Returns an empty list for unknown tickers.
/v1/mapping/cik
https://secfeedapi.com/v1/mapping/cikCIK to tickers.
| Parameter | Type | Description | Example |
|---|---|---|---|
cikrequired | integer | Company CIK, without leading zeros. | 320193 |
- A company with several share classes returns one row per ticker.
/v1/mapping/cusip
https://secfeedapi.com/v1/mapping/cusipCUSIP to issuer and ticker.
| Parameter | Type | Description | Example |
|---|---|---|---|
cusiprequired | string | 9 character CUSIP. | 037833100 |
- Returns the issuer names used for the CUSIP in 13F reports and the listed companies whose names match.
/v1/mapping/name
https://secfeedapi.com/v1/mapping/nameCompany name search.
| Parameter | Type | Description | Example |
|---|---|---|---|
namerequired | string | Any part of the company name, case-insensitive. | apple |
- At most 25 matches.
/v1/mapping/exchange
https://secfeedapi.com/v1/mapping/exchangeEvery listed company on an exchange.
| Parameter | Type | Description | Example |
|---|---|---|---|
exchangerequired | string | NYSE, Nasdaq, CBOE or OTC, case-insensitive. | NYSE |
- Returns every listed company on that exchange in one response.
/v1/mapping/sic
https://secfeedapi.com/v1/mapping/sicCompanies by SIC industry code.
| Parameter | Type | Description | Example |
|---|---|---|---|
sicrequired | integer | 4 digit SIC code. | 3674 |
from | integer | Offset in steps of 100. Default 0. | 100 |
- 100 companies per page, from EDGAR's company list for that SIC, including companies that no longer file.
Request examples
Every response below is real output from the API, trimmed to the first records.
Ticker to CIK
One row per matching listing, with CIK, name and exchange.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/ticker?ticker=BRK-B"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/mapping/ticker",
params={'ticker': 'BRK-B'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
timeout=60,
)
r.raise_for_status()
print(r.json())[
{
"cik": 1067983,
"name": "BERKSHIRE HATHAWAY INC",
"ticker": "BRK-B",
"exchange": "NYSE"
}
]CUSIP to company
issuerName is the name used in 13F filings; matches lists listed companies with that name.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/cusip?cusip=037833100"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/mapping/cusip",
params={'cusip': '037833100'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
timeout=60,
)
r.raise_for_status()
print(r.json())[
{
"cusip": "037833100",
"issuerName": "APPLE INC",
"matches": [
{
"cik": 320193,
"name": "Apple Inc.",
"ticker": "AAPL",
"exchange": "Nasdaq"
},
{
"cik": 1418121,
"name": "Apple Hospitality REIT, Inc.",
"ticker": "APLE",
"exchange": "NYSE"
}
]
},
{
"cusip": "037833100",
"issuerName": "Apple Inc",
"matches": [
{
"cik": 320193,
"name": "Apple Inc.",
"ticker": "AAPL",
"exchange": "Nasdaq"
},
{
"cik": 1418121,
"name": "Apple Hospitality REIT, Inc.",
"ticker": "APLE",
"exchange": "NYSE"
}
]
}
]Companies in an industry
state is the location code EDGAR shows for the company.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/sic?sic=3674"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/mapping/sic",
params={'sic': '3674'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
timeout=60,
)
r.raise_for_status()
print(r.json())[
{
"cik": 1025881,
"name": "3DLABS INC LTD",
"state": "D0"
},
{
"cik": 1651235,
"name": "Acacia Communications, Inc.",
"state": "MA"
}
]Response fields
| Field | Type | Meaning |
|---|---|---|
[].cik | integer | Company CIK. |
[].name | string | Company name. |
[].ticker | string | Trading symbol. |
[].exchange | string | Listing exchange. |
[].cusip | string | cusip endpoint: the CUSIP you asked for. |
[].issuerName | string | cusip endpoint: issuer name used in 13F reports. |
[].matches[].cik / name / ticker / exchange | mixed | cusip endpoint: listed companies matching that issuer name. |
[].state | string | sic endpoint: state or country code. |
How to
Does BRK.B work as well as BRK-B?
Yes, dots are converted to dashes.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/ticker?ticker=brk.b"
How do I go from CIK to ticker?
Use the cik endpoint.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/cik?cik=320193"
How do I find a company when I only know part of its name?
Search by name; up to 25 matches come back.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/name?name=apple"
How do I list every NYSE company?
Use the exchange endpoint.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/exchange?exchange=NYSE"
How do I get the next page of an industry list?
Use from=100, 200 and so on.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/sic?sic=3674&from=100"
What does an unknown ticker return?
An empty list, not an error, so check the length of the result before reading row 0.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/ticker?ticker=AAPL"
Why does a CUSIP return several matches?
Matching is by name, so similar names can appear; check ticker and exchange.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/cusip?cusip=037833100"
How do I map a ticker to a CUSIP?
There is no direct ticker to CUSIP lookup; look up the company's holdings rows in the 13F API by name, or keep a CUSIP list and map it with the cusip endpoint.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/mapping/cusip?cusip=037833100"
Errors
- 400 when the required parameter is missing.
See also the error codes every endpoint shares.
Try it with your own key
500 free calls a month.