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:

Fields returned by the Company Search API
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.govfiling_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.

GET /v1/search/companies?q=apple · 200 OK
{
  "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. 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. 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. 3

    Read the CIK

    Pick the row you want from data[] and read its cik (and ticker).

  4. 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 · Company Search API
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'
Python · resolve.py
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?
It resolves a company to its SEC identifiers. Filingrail indexes 8,000+ SEC-registered issuers and matches your query — a ticker, a CIK, or a name fragment — against them, returning the ticker, CIK, and registered name. It is the lookup step before you call any data endpoint.
What is the endpoint and what does it return?
GET /v1/search/companies?q={query}. It returns an array of matching issuers (ticker, cik, name) plus a meta block with the query and result count. Matching is substring and fuzzy, so partial names and near-spellings still resolve.
How does the matching work?
Filingrail matches on ticker, CIK, and name using Postgres trigram similarity, so a substring or a slightly misspelled name still returns the right issuer. Order is by relevance, most likely match first.
How many companies are covered?
Around 8,000 SEC-registered issuers with filings in EDGAR. New issuers appear within a few business days of registering with the SEC. If a company you expect is missing, email support@hudsonenterprisesllc.com.
Is there a free tier?
Yes — Basic is $0 with a hard cap of 50 requests/day, no credit card. Pro is $9/mo for 5,000 requests, Ultra $49/mo for 50,000, Mega $199/mo for 500,000. RapidAPI handles billing and keys.
Do I need the CIK, or can I just use the ticker?
Most Filingrail endpoints accept either a ticker or a CIK for company lookups, so you can often skip the search step. You need the search endpoint when you only have a name, when a ticker is ambiguous, or when you are resolving an institution CIK for the 13F endpoint.

Start on the free tier.

50 requests/day, no credit card. Query the endpoint and read the source filing behind every record.