COMPANY SEARCH · TICKER → CIK
The SEC company-search API — ticker to CIK.
Every EDGAR workflow starts by resolving a company to its SEC CIK. Filingrail’s search endpoint matches a ticker, CIK, or name fragment against 8,000+ registered issuers — substring and fuzzy — and hands back the identifiers you pass to every other endpoint.
Free tier: 50 requests/day, no credit card. Endpoint: GET /v1/search/companies
The fields
What every record carries.
Filingrail parses the underlying SEC filing into a flat, typed JSON object. These are the fields you get on each record:
| Field | What it is |
|---|---|
| ticker | The issuer's primary exchange ticker, where one exists. |
| cik | SEC Central Index Key — the identifier you pass to the financials, insider, 8-K, and 13F endpoints. |
| name | Registered company name as it appears in EDGAR. |
SAMPLE
A real-shaped response.
One GET returns the data array plus a meta
block. The values below are an illustrative example of the response shape.
The field that matters most for trust is the link to the source filing on
sec.gov — filing_url on each
record where the rows come from many filings, and
meta.source_filing_url where one filing backs the whole
response. Either way, any value you surface traces back to its source.
{
"data": [
{ "ticker": "AAPL", "cik": 320193, "name": "APPLE INC" },
{ "ticker": "APLE", "cik": 1418121, "name": "APPLE HOSPITALITY REIT, INC." }
],
"meta": {
"query": "apple",
"count": 2,
"as_of": "2026-07-07T08:00:00Z"
}
}Illustrative example. Every record links to its source filing.
HOW-TO
How to resolve a ticker to a SEC CIK with Filingrail
Subscribe on RapidAPI, call the company-search endpoint with a ticker or name, and read the CIK to drive every other endpoint.
- 1
Subscribe on RapidAPI
Subscribe to the free Basic tier (50 requests/day) on the Filingrail RapidAPI listing and copy your X-RapidAPI-Key.
- 2
Call the search endpoint
Request GET /v1/search/companies?q=apple with your headers. The q parameter matches ticker, CIK, or name — substring and fuzzy.
- 3
Read the CIK
Pick the row you want from data[] and read its cik (and ticker).
- 4
Drive the other endpoints
Pass the ticker or CIK to /v1/companies/{id}/financials, /insider-trades, /8k-events, or /v1/institutions/{cik}/13f-holdings.
curl --request GET \
--url 'https://filingrail.p.rapidapi.com/v1/search/companies?q=apple' \
--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
--header 'X-RapidAPI-Host: filingrail.p.rapidapi.com'import os, requests
API = "https://filingrail.p.rapidapi.com"
HEADERS = {
"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"],
"X-RapidAPI-Host": "filingrail.p.rapidapi.com",
}
def cik_for(ticker):
r = requests.get(f"{API}/v1/search/companies",
params={"q": ticker}, headers=HEADERS, timeout=10)
r.raise_for_status()
for row in r.json()["data"]:
if row.get("ticker", "").upper() == ticker.upper():
return row["cik"]
return None
cik = cik_for("AAPL")
print("AAPL CIK:", cik) # -> 320193, then call /v1/companies/AAPL/financials etc.FAQ
Common questions
Still wondering something? Email support@hudsonenterprisesllc.com — same business day response.
What is the SEC company-search API?
What is the endpoint and what does it return?
How does the matching work?
How many companies are covered?
Is there a free tier?
Do I need the CIK, or can I just use the ticker?
Start on the free tier.
50 requests/day, no credit card. Query the endpoint and read the source filing behind every record.