Back to Blog

SEC CIK Number Lookup — Find Any Company's CIK Instantly (3 Methods)

Every SEC EDGAR API call requires a CIK number. Here are three reliable ways to find one for any public company, with code you can copy and run immediately.

What Is a CIK Number?

A CIK (Central Index Key) is the unique identifier the SEC assigns to every entity that files through EDGAR. Think of it as a company's "social security number" for SEC filings. Every public company, mutual fund, and individual insider filer has one.

You need a company's CIK to use virtually every SEC EDGAR API endpoint:

All of these endpoints require the CIK to be zero-padded to 10 digits. So Apple's CIK of 320193 becomes CIK0000320193 in API URLs.

Common CIK Numbers Reference

Here are the CIK numbers for the most frequently looked up companies:

Company Ticker CIK Padded Format
Apple Inc.AAPL320193CIK0000320193
Microsoft Corp.MSFT789019CIK0000789019
Alphabet Inc.GOOGL1652044CIK0001652044
Amazon.com Inc.AMZN1018724CIK0001018724
Tesla Inc.TSLA1318605CIK0001318605
Meta Platforms Inc.META1326801CIK0001326801
NVIDIA Corp.NVDA1045810CIK0001045810
JPMorgan Chase & Co.JPM19617CIK0000019617
Berkshire HathawayBRK-B1067983CIK0001067983
Netflix Inc.NFLX1065280CIK0001065280

Method 1: company_tickers.json (Best for Bulk Lookups)

The SEC publishes a JSON file mapping all tickers to CIK numbers. This is the fastest and most reliable method, especially when you need to look up multiple companies.

import requests

HEADERS = {'User-Agent': 'YourName [email protected]'}

def build_ticker_to_cik_map():
    """Download the SEC's ticker-to-CIK mapping file."""
    url = 'https://www.sec.gov/files/company_tickers.json'
    response = requests.get(url, headers=HEADERS)
    data = response.json()

    # Build a ticker -> CIK dictionary
    ticker_map = {}
    for entry in data.values():
        ticker_map[entry['ticker'].upper()] = entry['cik_str']
    return ticker_map

# Build the map once
ticker_map = build_ticker_to_cik_map()

# Look up any company by ticker
print(ticker_map.get('AAPL'))   # 320193
print(ticker_map.get('TSLA'))   # 1318605
print(ticker_map.get('MSFT'))   # 789019

This file contains approximately 13,000 entries and updates as new companies go public. Download it once and cache it locally for fast lookups.

Method 2: Submissions API (Best for Single Lookups)

If you already know a CIK and want to verify it or get additional company metadata, use the submissions endpoint:

import requests

HEADERS = {'User-Agent': 'YourName [email protected]'}

def get_company_info(cik):
    """Get company info from the submissions endpoint."""
    cik_padded = str(cik).zfill(10)
    url = f'https://data.sec.gov/submissions/CIK{cik_padded}.json'
    response = requests.get(url, headers=HEADERS)
    data = response.json()

    return {
        'name': data.get('name'),
        'cik': data.get('cik'),
        'tickers': data.get('tickers', []),
        'sic': data.get('sic'),
        'sic_description': data.get('sicDescription'),
        'state': data.get('stateOfIncorporation'),
        'fiscal_year_end': data.get('fiscalYearEnd')
    }

# Look up Apple
info = get_company_info(320193)
print(f"{info['name']} ({info['tickers']}) - CIK: {info['cik']}")
# Apple Inc. (['AAPL']) - CIK: 320193

Method 3: EDGAR Company Search (Manual/Browser)

For quick one-off lookups, use the SEC's browser-based search tool:

  1. Go to sec.gov/cgi-bin/browse-edgar
  2. Enter the company name or ticker in the search box
  3. The CIK appears in the results next to the company name

You can also automate this with a direct URL:

# Direct URL lookup by ticker
https://www.sec.gov/cgi-bin/browse-edgar?company=&CIK=AAPL&type=&dateb=&owner=include&count=10&search_text=&action=getcompany

CIK Padding: How It Works

EDGAR API endpoints require CIK numbers padded with leading zeros to exactly 10 digits. Here is how to handle this in your code:

# Python
cik = '320193'
padded = cik.zfill(10)  # '0000320193'
url = f'https://data.sec.gov/submissions/CIK{padded}.json'
// JavaScript
const cik = '320193';
const padded = cik.padStart(10, '0');  // '0000320193'
const url = `https://data.sec.gov/submissions/CIK${padded}.json`;

Common mistakes to avoid:

Building a Reusable CIK Resolver

Here is a complete Python class that combines all three methods with caching:

import requests
import json
import os

class CIKResolver:
    """Resolve company tickers to SEC CIK numbers with local caching."""

    CACHE_FILE = 'ticker_cik_cache.json'
    HEADERS = {'User-Agent': 'YourName [email protected]'}

    def __init__(self):
        self.ticker_map = self._load_or_fetch()

    def _load_or_fetch(self):
        """Load from cache or fetch fresh data from SEC."""
        if os.path.exists(self.CACHE_FILE):
            with open(self.CACHE_FILE) as f:
                return json.load(f)

        url = 'https://www.sec.gov/files/company_tickers.json'
        data = requests.get(url, headers=self.HEADERS).json()
        ticker_map = {v['ticker'].upper(): v['cik_str'] for v in data.values()}

        with open(self.CACHE_FILE, 'w') as f:
            json.dump(ticker_map, f)
        return ticker_map

    def lookup(self, ticker):
        """Get the CIK for a ticker symbol."""
        cik = self.ticker_map.get(ticker.upper())
        if cik is None:
            raise ValueError(f'Ticker {ticker} not found')
        return str(cik)

    def lookup_padded(self, ticker):
        """Get the 10-digit zero-padded CIK for API calls."""
        return self.lookup(ticker).zfill(10)

# Usage
resolver = CIKResolver()
print(resolver.lookup('AAPL'))         # 320193
print(resolver.lookup_padded('AAPL'))  # 0000320193

FAQ

What is a CIK number?

A CIK (Central Index Key) is a unique 10-digit identifier assigned by the SEC to every entity that files documents through EDGAR. Companies, mutual funds, and individuals who file with the SEC all have CIK numbers.

How do I find a company's CIK number from its ticker symbol?

The fastest method is to download the SEC's company_tickers.json file from sec.gov/files/company_tickers.json. This JSON file maps every ticker symbol to its CIK number.

What is Apple's CIK number?

Apple's CIK number is 320193. In the zero-padded 10-digit format used by EDGAR API endpoints, it is CIK0000320193.

Why does the SEC pad CIK numbers with zeros?

EDGAR API endpoints require CIK numbers to be zero-padded to exactly 10 digits. This ensures consistent URL formatting across all API calls.

Can I look up multiple CIK numbers at once?

Yes. Download company_tickers.json once (it contains all ~13,000 publicly traded companies) and search it locally. This is far more efficient than making individual API calls for each ticker.

Related Guides