draconic21
Guide · SEC filings

How to Find a Company's CIK and Pull Its SEC Filings

Every SEC filer has a permanent Central Index Key (CIK). Once you have it, you can pull a company's entire filing history, or its structured XBRL financial facts, directly and for free. Here's how to find it and use it.

What a CIK is (and isn't)

A Central Index Key (CIK) is the unique numeric ID the SEC assigns to every entity that files through EDGAR (the Electronic Data Gathering, Analysis, and Retrieval system) — public companies, mutual funds, and individual insiders (officers, directors, 10%+ owners who file Forms 3/4/5) alike. It's permanent: once assigned, a company keeps the same CIK for its entire filing history, even through a ticker change, a rebrand, or a relisting on a different exchange.

This is what makes a CIK more reliable than a ticker for programmatic use. A ticker symbol is assigned by an exchange, can be reused by an unrelated company after a delisting, and doesn't exist at all for entities that don't trade publicly (private funds, individual insiders). The CIK is the SEC's own stable key, and it's what every EDGAR API actually indexes on under the hood — tickers are just a convenience layer on top.

CIKs are typically shown zero-padded to 10 digits in API URLs (e.g. 0000320193), but you'll often see them written as a shorter number without leading zeros in the EDGAR web UI or press materials (e.g. 320193, Apple Inc.'s CIK).

Three ways to find a CIK

  1. EDGAR company search (human-friendly). The classic sec.gov/cgi-bin/browse-edgar?action=getcompany&company=<name> search, or the modern EDGAR company search page, lets you type a company name or ticker and see its CIK alongside its filing history — the fastest option for a one-off manual lookup.
  2. company_tickers.json (best for automation). SEC publishes a single JSON file at https://www.sec.gov/files/company_tickers.json mapping every exchange ticker to its CIK and company title. It's small, static-ish (SEC updates it periodically), and requires no account or API key — just a descriptive User-Agent header (see the etiquette section below). This is the right tool when you're resolving many tickers in a script.
  3. EDGAR full-text search. If you only know a company by a distinctive phrase from one of its filings (not its name or ticker), efts.sec.gov / EDGAR full-text search covers filings since 2001 and surfaces the filer's CIK in the result metadata.

Worked example: ticker to CIK to filings

Say you have a ticker, AAPL, and want its recent 8-Ks:

  1. Look up the ticker in company_tickers.json (or the free tool below) → CIK 320193.
  2. Zero-pad it to 10 digits: 0000320193.
  3. Fetch its filing index from the submissions API: https://data.sec.gov/submissions/CIK0000320193.json — this returns company metadata plus a paginated list of recent filings (form type, filing date, accession number, primary document).
  4. For an older filing outside the "recent" window in that JSON, the same API references additional paginated submission files; each individual filing's documents live under https://www.sec.gov/Archives/edgar/data/<CIK-no-padding>/<accession-no-dashes>/.

That's the entire mechanism every EDGAR-based tool — including this one — is built on top of. The free tool below automates steps 1–4 for you.

Pulling structured financial facts instead of documents

If you want numbers (revenue, total assets, net income) rather than documents to read, SEC's XBRL-derived Company Facts API is the right endpoint: https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json returns every standardized (US-GAAP taxonomy) fact the company has ever reported via XBRL tagging, across all its periodic filings, as structured JSON — no PDF or HTML parsing required. This is what powers financial-statement line items like total assets or revenue without you having to open the filing itself.

SEC's fair-access rules (User-Agent, rate limits)

SEC's EDGAR and data.sec.gov endpoints are free and require no API key, but they do require a descriptive User-Agent header identifying your organization and a contact (per SEC's published fair-access guidance), and they apply automated rate limiting to protect the service for everyone. Building a compliant client means: set a real User-Agent, avoid hammering the endpoints in a tight loop, and cache results you'll reuse rather than re-fetching them.

Try it: a free live lookup

draconic21's free CIK Lookup tool resolves a ticker or company name to its CIK live, and the free SEC 8-K & Filings Lookup and EDGAR Company Facts tools go one step further and pull real filings/financial facts for you, with direct document links — no need to hand-build the URLs above.

Look up a CIK free →

Need CIK lookup plus filings, 8-K Item extraction, and XBRL facts to CSV in Python? The $19 SEC EDGAR Starter Kit includes a CLI, examples, and a quickstart notebook.

Need repeat ticker-to-CIK lookups in your own scripts? edgar-cik is a $9 local CLI with an offline sample, optional SEC refresh, and JSON output. It resolves identifiers; use the tools above to fetch filings.

Do it via API (x402 / MCP / RapidAPI)

x402 (pay-per-call, USDC on Base)

curl -X POST https://draconic21-x402-api.onrender.com/v1/edgar_filings \
  -H "content-type: application/json" \
  -d '{"ticker":"AAPL","forms":"8-K","limit":10}'
# unpaid: HTTP 402 + PAYMENT-REQUIRED header (sign with a Base USDC wallet, retry)

curl -X POST https://draconic21-x402-api.onrender.com/v1/edgar_company_facts \
  -H "content-type: application/json" \
  -d '{"ticker":"AAPL","concepts":["Revenues","Assets","NetIncomeLoss"]}'
# unpaid: HTTP 402

$0.02/call each. See /v1/edgar_filings/availability and /v1/edgar_company_facts/availability for exact request/response shapes.

MCP (any MCP-enabled agent)

See /.well-known/mcp.json for the edgar_filings and edgar_company_facts tools.

RapidAPI (billed by card)

Mirror at /rapid/v1/openapi.json.

FAQ

What is a CIK?

A Central Index Key — the SEC's permanent numeric ID for every EDGAR filer, usually shown zero-padded to 10 digits in API URLs.

Is a CIK the same as a ticker symbol?

No. Tickers are exchange-assigned, can change, and can be reused by unrelated companies after a delisting. A CIK is permanent and also covers non-ticker filers like private funds or individual insiders.

What's the fastest free way to resolve many tickers to CIKs?

https://www.sec.gov/files/company_tickers.json — one static JSON file, no API key, just a descriptive User-Agent header.

Not investment advice. This guide is informational, describing publicly documented SEC EDGAR data mechanics. Verify any figure against the primary filing before relying on it for a decision.