Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For public SEC filings, start with the SEC’s unauthenticated JSON APIs when you need issuer filing history or standardized XBRL facts. Retrieve the original filing from EDGAR when you need narrative text, exhibits, custom-tagged data, or the context behind a reported number. Keep the CIK, accession number, document identity, and reporting period with every extracted result so you can trace it back to its source.

Choose the SEC route that matches the data you need

Need Use Important limit
Find an issuer’s filings and filing metadata Submissions API Recent history is in the main JSON response; follow its referenced history files for older filings.
Retrieve standardized financial facts for an issuer Companyfacts or companyconcept The described company APIs aggregate non-custom taxonomies and facts applying to the filing entity as a whole. They do not guarantee every filing-specific or custom-tagged detail.
Compare one fact across issuers or periods Frames API Frames align facts to calendar periods. Issuers’ fiscal calendars can differ, so inspect the reporting dates.
Extract narrative, exhibits, or filing-specific context Original filing documents and filing indexes You need document-aware parsing and validation; the SEC does not prescribe a universal HTML parser.
Backfill broad historical data SEC bulk ZIPs and indexes Bulk data can reduce individual requests, but its refresh cadence differs from the API’s typical processing times.
Manage a filer account, submit filings, or check submission status EDGAR Next filer APIs These are distinct authenticated filer tools, not prerequisites for public filing extraction.

The SEC says its public data.sec.gov APIs return JSON and do not require authentication or API keys. They are different from the authenticated EDGAR Next APIs used by eligible filers for account and submission tasks. Do not build a public-data reader around filer credentials unless it genuinely needs filer-only actions.

Resolve the issuer to a CIK before requesting data

Use the issuer’s Central Index Key (CIK), not its name or ticker, as the stable identifier in the SEC API request. A ticker can be ambiguous or change; a CIK identifies the filer. The SEC API expects a 10-digit, zero-padded CIK in the submissions URL. Keep the original CIK alongside any normalized representation in your own records.

For example, the endpoint pattern is https://data.sec.gov/submissions/CIK##########.json, with the ten number signs replaced by the zero-padded CIK. Resolve the correct CIK from SEC company-name and CIK resources before beginning a multi-company job, and store the resolution so later runs do not silently switch issuers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
25 Pieces Alphabet File Dividers for File Cabinet A-Z File Guides Letter Size Top Tab File Guides Polypropylene Alphabet Labels with Tabs with Self Adhesive A-Z for Office Business Classroom
  • You will get: the package contains 25 file cabinet dividers guides, a total of 5 sets, each set contains 5 colors, including rose, blue, green, orange and yellow, and each color has 5; there are 5 self-adhesive waterproof stickers containing letters and numbers, which can be used according to your own needs.
  • Material: The top tab file guides is made of high-quality polypropylene, which is soft and durable, waterproof and wear-resistant, such as easy to clean, soft and not easy to break.
  • Easy to use: The file dividers with tabs for file cabinet is very thin, easy to use, occupies no space, and easy to find. The A-Z top tab file guides sticker can be pasted as needed, or you can write the name you want to classify with a pen.
  • Suitable color and size: The size of the alphabet dividers for file cabinet drawers is 30 x 25.4 cm/11.8 x 10 inches, which is applicable to the general file size, and the color is easier to distinguish, so that you can easily and quickly find the required documents in the file cabinet, saving your energy and time.
  • Beautiful and versatile: The tab polypropylene guides has smooth and tidy edges, elegant appearance and high applicability. It can be used to classify filing cabinets, learning materials, customer materials, and notes to improve your efficiency.

Download filing history with Python

The following script fetches a company’s submissions JSON, prints recent filing metadata, and saves the response. Set a meaningful User-Agent with a contact address for the person or organization responsible for the automation. The SEC asks automated clients to identify themselves; do not leave a generic or misleading identifier in production.

import json
import os
import re
import time
from pathlib import Path

import requests

CIK = os.environ.get("SEC_CIK", "0000320193").zfill(10)
USER_AGENT = os.environ.get(
    "SEC_USER_AGENT",
    "Example research contact@example.com"
)

if not re.fullmatch(r"d{10}", CIK):
    raise ValueError("SEC_CIK must resolve to a 10-digit CIK")

url = f"https://data.sec.gov/submissions/CIK{CIK}.json"
headers = {"User-Agent": USER_AGENT, "Accept-Encoding": "gzip, deflate"}

response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()

Path("submissions.json").write_text(
    json.dumps(data, indent=2), encoding="utf-8"
)

recent = data.get("filings", {}).get("recent", {})
fields = ("form", "filingDate", "accessionNumber", "primaryDocument")
rows = zip(*(recent.get(field, []) for field in fields))
for form, filing_date, accession, primary_document in rows:
    print(f"{filing_date}t{form}t{accession}t{primary_document}")

Install the dependency with python -m pip install requests. Set SEC_CIK to the zero-padded CIK and SEC_USER_AGENT to an identifiable value before running the script. The default CIK is only an example; change it for the issuer you intend to process.

The recent arrays are parallel lists: the item at a given position in form, filingDate, accessionNumber, and primaryDocument refers to the same filing. The code prints a compact index and retains the full response. If the filing you need is not in these recent arrays, inspect the response’s referenced older-submission files and retrieve the relevant history rather than assuming the main response is complete.

Rank #2
Sale
Noveread 2 Set 50 Pcs Alphabet File Dividers A-z Top Tab Guides Set, Letter Size Filing Organizers 1/5 Cut Alphabetical File Folder Tabs for Home, Office, School(Classic Colors)
  • Ample Size and Quantity: with an appreciable size of about 9.8 x 11.7 inches, these alphabetical file dividers are large enough to cater for the organization of various forms of data, documents, and charts; The package includes 50 dividers in 12 assorted colors, providing sufficient quantity for individual usage as well as sharing with classmates, friends, colleagues, and others
  • Durable Alphabetical Dividers: manufactured from 500g heavyweight cardboard, the A-Z alphabet file dividers are robust, sturdy, and not easily susceptible to deform, breaking or deformation; They can endure long term usage, making them a nice choice for organizing your important documents through time
  • Unique and Stylish Design: these alphabetical dividers are finished in the charming fresh color palette, providing a stylish alternative to universal file folders; Comprising of 12 different beautiful colors, these dividers not only function to keep your files organized but also present a pleasing aesthetic value to your workspace
  • Enhanced Efficiency and Convenience: each alphabetical file organizer is equipped with 1/5 cut top tabs preprinted with A-Z, allowing for easy classification, reduced searching time, and elevated productivity; They are designed for desktop and drawer filing, hence promoting a tidy and organized environment
  • Extensive Applications: the A-Z tab dividers are not only suitable for office use but also for classrooms and study spaces; They can be applied to categorize or organize various materials including work documents, study materials, or even recipes; Their versatile nature brings about convenience and organization to your life

Extract structured XBRL facts without losing their meaning

Use companyfacts for the issuer’s aggregated facts, or companyconcept when you have a specific taxonomy and tag in mind. These endpoints can save you from parsing a filing for common standardized financial concepts, but their scope is not “everything in every filing.” SEC’s described company APIs exclude custom taxonomies and facts that do not apply to the filing entity as a whole. For a custom tag, segment, footnote, or filing-specific presentation, inspect the underlying submission.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not flatten a fact into a bare number. Preserve enough context to interpret and reproduce it:

  • Issuer and source: CIK, accession number, form, filing date, and source document or API response.
  • Concept: taxonomy and tag name, such as the standardized concept used by the source.
  • Value context: unit, period start and end where present, and any dimensional or contextual details returned.
  • Retrieval context: when your pipeline fetched the source and which extraction version produced the record.

Be careful with calendar-frame data. The SEC describes frames as selecting facts by their closest calendrical fit; reporting dates can vary, particularly where issuers have different fiscal calendars. A calendar-aligned annual frame is not automatically identical to an issuer’s fiscal-year figure. Retain the dates and reconcile the result to the issuer’s filing before comparing or presenting it.

Retrieve the filing when structured endpoints are not enough

For narrative or exhibit extraction, start from the submissions record. Its accession number identifies the accepted submission, and its primary-document field identifies the main filing document. Use the SEC filing index to establish the company, form, CIK, filing date, and document path; then retrieve the document or exhibit you actually need. Preserve the accession number and document identity with every extracted passage or value so a reviewer can navigate back to the source.

Parsing is your application’s responsibility. Filing documents can contain tables, footnotes, inline XBRL, exhibits, and formatting that a plain text extraction can lose. Validate fields against the source document and retain enough source context to distinguish a value in the body from one in a note or exhibit. If an extracted figure conflicts with the structured API, do not silently choose one: compare the underlying filing, context, unit, period, and any dimensional information.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Accepted filing records are not necessarily immutable. The SEC describes post-acceptance corrections or removals and index updates on their rebuild schedules. For recurring jobs, make reconciliation possible: retain source identifiers and check updated source indexes instead of treating a previously observed record as permanently unchanged.

Rank #4
The Folio® Important Document Organizer by Savor | Binder with Guided Labels, Acid-Free File Folder Organizer with 10 Pockets, Document Holder for Home Records, Legal and Medical Papers (Black)
  • Keep important documents safe: A document organizer designed to protect papers from getting lost. Store birth certificates, social security cards, wills, tax forms, insurance policies, titles & more in one secure place.
  • Easy to organize and find: Folders with pockets and a table of contents help track where documents live, while 33 hand-illustrated labels show what to save. Acid-free materials protect your papers for years to come.
  • Fits documents of various sizes: This document binder includes 3 vertical and 3 horizontal envelopes for 8.5 x 11 inch papers, plus 4 half-size envelopes for smaller keepsakes and important details.
  • Practical and easy to use: An important document folder organizer with a front pouch that provides a quick landing space for papers before filing, making it easy to stay organized as documents come in.
  • Premium quality, timeless style: Made with custom-dyed cloth, reinforced edges, and acid-free paper for long-term durability. An elegant file organizer designed to beautifully complement your office or living room décor.

Use bulk files for broad historical jobs

If you need a large historical backfill, evaluate the SEC submissions and companyfacts bulk ZIPs before issuing a request for every issuer or fact. Bulk downloads can reduce request volume, while individual API requests are more suitable for targeted lookups or freshness needs. The SEC says these bulk JSON ZIPs are republished nightly at approximately 3:00 a.m. Eastern Time; that cadence is not a promise that every individual API response updates at that same time.

The SEC’s API documentation, last reviewed or updated April 8, 2025, describes typical processing delays of under a second for submissions data and under a minute for XBRL APIs. These are typical timings, not service guarantees, and the SEC notes delays can be longer during peak filing periods. Design jobs to tolerate delayed data rather than treating an empty or stale-looking result as proof that no filing exists.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Respect SEC access limits and deployment constraints

SEC Developer Resources, last reviewed or updated March 10, 2025, states a maximum guideline of 10 requests per second per user, regardless of how many machines make requests. It also warns that excessive or unclassified automated access may be managed or blocked. This policy detail can change, so verify the SEC’s current guidance immediately before deployment.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Throttle globally: Apply a shared rate limit across workers and machines; per-process throttling alone can exceed the per-user limit.
  • Identify the client: Send a meaningful User-Agent that identifies the automated application and provides a contact.
  • Retry carefully: Retry transient network failures and temporary server errors with exponential backoff and jitter. Do not retry malformed requests indefinitely.
  • Cache and monitor: Cache responses where appropriate, record status codes and retrieval times, and alert on repeated failures or unexpectedly missing data.
  • Keep browser calls server-side: The SEC states that data.sec.gov does not support CORS. A browser page should not assume it can call these endpoints cross-origin; use a server-side retrieval service subject to the same access policy.

Troubleshoot common extraction failures

Symptom Likely cause What to do
Request is rejected or access is restricted Requests are too frequent, automated access is not identified, or total traffic exceeds the current policy. Check the current SEC developer guidance, add an informative User-Agent, lower the shared deployment-wide request rate, and back off before retrying.
Issuer appears to have no desired filing The CIK is wrong, the filing is outside the recent history arrays, or you are filtering on a ticker or form incorrectly. Verify the CIK, inspect the full submissions metadata, and follow referenced historical files when needed.
A financial fact is absent from companyfacts The concept may use a custom taxonomy, be filing-specific, or not apply to the entity as a whole. Check the filing itself and its index, then parse and validate the relevant document context.
Two annual figures do not line up Periods, units, fiscal calendars, frames, or contexts differ. Compare dates and units, inspect the fact context and dimensions, and reconcile against the issuer’s filing rather than comparing labels alone.
A direct browser request fails data.sec.gov does not support CORS. Make the SEC request from a server-side component, while applying the SEC’s access limits there.
A previously extracted record changes The SEC can update indexes following post-acceptance corrections or removals. Reconcile against updated index/source data and keep a change history tied to the accession and document.

Or skip the browser setup

ScreenshotNeo is a separate website screenshot API, not a source for SEC filing metadata, XBRL facts, or filing-document extraction. It can help when your workflow separately needs a visual capture of a rendered public page. For SEC data extraction, use the API and document workflow above.

One GET request returns a screenshot or PDF. See the ScreenshotNeo documentation for options and setup.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://sec.gov -o shot.webp

ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, with the outcome identified in response headers. An MCP server provides screenshot tools for AI agents. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan.

Frequently Asked Questions

Do I need EDGAR Next credentials to read public filings?

No. Public submissions and XBRL API access is separate from authenticated filer account and submission actions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I use a ticker in place of a CIK?

No. Resolve the issuer to its CIK and use the zero-padded CIK for SEC API requests.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.