BYTETOOLS

SEC EDGAR API

Free SEC EDGAR API with no key: every US public company filing — 10-K, 10-Q, 8-K — plus structured XBRL financial data straight from the regulator. Tested.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the SEC EDGAR API?

The SEC EDGAR API is a free, key-free US government API providing every filing submitted by publicly listed US companies — annual and quarterly reports, current reports and ownership disclosures — plus structured XBRL financial data.

This is the primary source for US public company financials. Every 10-K, 10-Q and 8-K ever filed is here, and the XBRL company-facts endpoints expose the actual reported numbers as structured data rather than PDFs.

The SEC enforces a User-Agent policy strictly: requests must identify your application and include a contact email, or they are blocked. Companies are addressed by ten-digit zero-padded CIK numbers, not ticker symbols, so a ticker-to-CIK lookup is usually the first step.

Quick facts

Base URL
https://data.sec.gov
Authentication
No API key, but a User-Agent naming your app and a contact email is mandatory and enforced.
Rate limit
10 requests per second, strictly enforced.
Pricing
Free public domain US government data.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the SEC EDGAR API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Fetch a company's filing history

GET https://data.sec.gov/submissions/CIK0000320193.json

curl
curl 'https://data.sec.gov/submissions/CIK0000320193.json'
JavaScript (fetch)
const res = await fetch("https://data.sec.gov/submissions/CIK0000320193.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://data.sec.gov/submissions/CIK0000320193.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "cik": "0000320193",
  "entityType": "operating",
  "sic": "3571",
  "sicDescription": "Electronic Computers",
  "ownerOrg": "06 Technology",
  "insiderTransactionForOwnerExists": 0,
  "insiderTransactionForIssuerExists": 1,
  "name": "Apple Inc.",
  "tickers": [
    "AAPL"
  ],
  "exchanges": [
    "Nasdaq"
  ],
  "ein": "942404110",
  "lei": null,
  "description": "",
  "website": "",
  "investorWebsite": "",
  "category": "Large accelerated filer",
  "fiscalYearEnd": "0926",
  "stateOfIncorporation": "CA",
  "stateOfIncorporationDescription": "CA",
  "addresses": {
    "mailing": {
      "street1": "ONE APPLE PARK WAY",
      "street2": null,
      "city": "CUPERTINO",
      "stateOrCountry": "CA",
      "zipCode": "95014",
      "stateOrCountryDescription": "CA",
      "isForeignLocation": 0,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    },
    "business": {
      "street1": "ONE APPLE PARK WAY",
      "street2": null,
      "city": "CUPERTINO",
      "stateOrCountry": "CA",
      "zipCode": "95014",
      "stateOrCountryDescription": "CA",
      "isForeignLocation": null,
      "foreignStateTerritory": null,
      "country": null,
      "countryCode": null
    }
  },
  "phone": "(408) 996-1010",
  "flags": "",
  "formerNames": [
    {
      "name": "APPLE INC",
      "from": "2007-01-10T05:00:00.000Z",
      "to": "2019-08-05T04:00:00.000Z"
    },
    {
      "name": "APPLE COMPUTER INC",
      "from": "1994-01-26T05:00:00.000Z",
      "to": "2007-01-04T05:00:00.000Z"
    },
    {
      "name": "APPLE COMPUTER INC/ FA",

Parameters

ParameterTypeRequiredDescription
submissions/CIK<cik>.jsonpathRequiredFiling history. CIK is zero-padded to 10 digits. submissions/CIK0000320193.json
api/xbrl/companyfacts/CIK<cik>.jsonpathOptionalAll reported XBRL financial facts. companyfacts/CIK0000320193.json
api/xbrl/companyconcept/...pathOptionalOne specific financial concept over time. Revenues.json
User-AgentheaderRequiredApp name and contact email. Mandatory. MyApp you@example.com

Response fields

cikstring
Central Index Key identifying the company.
namestring
Registered company name.
tickersarray
Stock ticker symbols.
sic / sicDescriptionstring
Standard Industrial Classification code and description.
filings.recentobject
Recent filings as parallel arrays — form type, date, accession number.
filings.recent.formarray
Form types such as 10-K, 10-Q, 8-K.
filings.recent.accessionNumberarray
Identifiers used to construct document URLs.

What you can build with the SEC EDGAR API

  • Pull official financial statements for US public companies
  • Monitor new filings for a company or sector
  • Extract structured XBRL financials for analysis
  • Build investor research and compliance tooling

Common errors and how to fix them

403

Missing or generic User-Agent.

Fix: The SEC requires a User-Agent naming your app with a contact email, and blocks requests without one.

404 on a CIK

CIKs must be zero-padded to ten digits.

Fix: Apple is CIK0000320193, not CIK320193. Use the company_tickers.json file to map tickers to CIKs.

Filings are parallel arrays

form, filingDate and accessionNumber are separate arrays.

Fix: Zip them by index rather than expecting an array of filing objects.

SEC EDGAR API — frequently asked questions

Is the SEC EDGAR API free?

Yes, completely free with no API key. It is public domain US government data, but a User-Agent identifying your application and contact email is mandatory.

How do I find a company's CIK?

Fetch https://www.sec.gov/files/company_tickers.json, which maps every ticker symbol to its CIK. Remember to zero-pad the CIK to ten digits in API paths.

Can I get actual financial figures?

Yes, the XBRL companyfacts endpoints return every reported financial concept as structured data with values and periods — not just links to PDF filings.

Why is the filings object structured as parallel arrays?

For compactness. form, filingDate, accessionNumber and the rest are separate arrays that you zip by index to reconstruct each filing.

Tools that pair with this API

SEC EDGAR is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.