U.S. SECNot published by vendorVerified 2026-10-18

SEC EDGAR API for AI agents (free, no key)

Official, free JSON for U.S. public-company filings: each filer’s submission history plus XBRL facts from 10-K, 10-Q, 8-K and similar forms. No key; send a descriptive User-Agent and stay under 10 requests a second.

Verified factsChecked 2026-10-18

PriceFree. The SEC says the data.sec.gov APIs need no authentication or API keys.1 [Verified 2026-10-18]
API key / authNo key, but send a descriptive User-Agent (name and contact email). On 2026-10-18 our request with a contact User-Agent returned HTTP 200; with no User-Agent, or curl’s default, it returned HTTP 403.3 [Verified 2026-10-18]
Rate limitNo more than 10 requests per second per user in total, regardless of how many machines you use. The SEC may block IPs that send excessive requests and does not allow unclassified bots.3 [Verified 2026-10-18]
TermsAutomated access must follow SEC.gov’s Privacy and Security Policy and fair-access rules. The API pages publish no separate data license.1 [Verified 2026-10-18]
FreshnessSubmissions update with a typical delay under a second and XBRL APIs under a minute after dissemination (longer at peak times). Bulk ZIPs are rebuilt nightly around 3:00 a.m. ET.1 [Verified 2026-10-18]
CORSThe SEC says data.sec.gov does not support CORS. Our GET with an Origin header did return Access-Control-Allow-Origin: *, but an OPTIONS preflight got HTTP 403, so plan on calling it from a server.1 [Verified 2026-10-18]

FeaturesChecked 2026-10-18

YesNoN/ANot published
CapabilityValueNote
StatusThe SEC gives no stage label; the API page was last reviewed Apr 8, 2025.Not published1 [Not published by vendor: checked 2026-10-18 on https://www.sec.gov/search-filings/edgar-application-programming-interfaces]The SEC gives no stage label; the API page was last reviewed Apr 8, 2025.
API key requiredNo key; User-Agent required. With a contact User-Agent we got 200; with none or curl’s default, 403.No2 [Verified 2026-10-18 by test request to https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/AccountsPayableCurrent.json]No key; User-Agent required. With a contact User-Agent we got 200; with none or curl’s default, 403.
Free tierFree. The SEC says the APIs need no authentication or API keys.Yes1 [Verified 2026-10-18 on https://www.sec.gov/search-filings/edgar-application-programming-interfaces]Free. The SEC says the APIs need no authentication or API keys.
Rate limitAcross all your machines; the SEC may block IPs that exceed it.10 requests/second per user3 [Verified 2026-10-18 on https://www.sec.gov/about/developer-resources]Across all your machines; the SEC may block IPs that exceed it.
Official MCP serverNo official MCP server. The SEC developer pages list REST APIs, RSS feeds and bulk files only.No3 [Verified 2026-10-18 on https://www.sec.gov/about/developer-resources]No official MCP server. The SEC developer pages list REST APIs, RSS feeds and bulk files only.
Official SDKPlain JSON over HTTPS. No SEC client library is published.No3 [Verified 2026-10-18 on https://www.sec.gov/about/developer-resources]Plain JSON over HTTPS. No SEC client library is published.
Data license / termsThe API pages publish no data license; access must follow SEC.gov’s Privacy and Security Policy and fair-access rules.Not published1 [Not published by vendor: checked 2026-10-18 on https://www.sec.gov/search-filings/edgar-application-programming-interfaces]The API pages publish no data license; access must follow SEC.gov’s Privacy and Security Policy and fair-access rules.
Commercial use allowedThe SEC does not state rules for commercial reuse on its API pages.Not published1 [Not published by vendor: checked 2026-10-18 on https://www.sec.gov/search-filings/edgar-application-programming-interfaces]The SEC does not state rules for commercial reuse on its API pages.
CORS / browser useNot supported (per SEC). GET returned Access-Control-Allow-Origin: *, but our OPTIONS preflight got 403 and the SEC says CORS is unsupported.No1 [Verified 2026-10-18 on https://www.sec.gov/search-filings/edgar-application-programming-interfaces]Not supported (per SEC). GET returned Access-Control-Allow-Origin: *, but our OPTIONS preflight got 403 and the SEC says CORS is unsupported.
Freshness / coverageSubmissions under a second, XBRL under a minute after dissemination; ZIPs around 3:00 a.m. ET.Real time; bulk ZIPs nightly1 [Verified 2026-10-18 on https://www.sec.gov/search-filings/edgar-application-programming-interfaces]Submissions under a second, XBRL under a minute after dissemination; ZIPs around 3:00 a.m. ET.

What it does

The SEC’s data.sec.gov APIs return JSON straight from EDGAR. submissions/CIK##########.json lists a filer’s names, tickers, exchanges and recent filings (at least a year or 1,000 filings, with links to older pages). The XBRL APIs return reported financial facts: companyconcept (one company, one tag), companyfacts (every tag for one company) and frames (one tag across all companies for a calendar period). Everything updates as filings are disseminated, and nightly ZIP bundles cover bulk needs. This is reported data, not advice: agents should quote the filing, form and period behind every number.

Working exampleRun 2026-10-18

curl -sS "https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/AccountsPayableCurrent.json" \
  -A "YourApp research you@example.com"

Response (trimmed)

HTTP 200 (application/json), run 2026-10-18
{"cik":320193,"taxonomy":"us-gaap","tag":"AccountsPayableCurrent","label":"Accounts Payable, Current",
 "entityName":"Apple Inc.","units":{"USD":[ ...142 facts...,
  {"end":"2026-06-27","val":64525000000,"accn":"0000320193-26-000020","fy":2026,"fp":"Q3",
   "form":"10-Q","filed":"2026-07-31","frame":"CY2026Q2I"}]}}

Agent setup

Prompt to give your agent

Use the SEC EDGAR APIs with a User-Agent of "<your app> <contact email>". Look up the company's 10-digit CIK first (pad with leading zeros), then use companyconcept or companyfacts for the figures. For every number, give the form, fiscal period, period end date and accession number. Stay under 10 requests a second. Report what was filed; do not give investment advice.

Agent / MCP-style tool snippet

// Minimal agent tool (OpenAI/Anthropic function-calling style)
{
  "name": "sec_company_concept",
  "description": "Reported XBRL values for one company and one us-gaap tag from SEC EDGAR (data.sec.gov).",
  "input_schema": {
    "type": "object",
    "properties": {
      "cik": { "type": "string", "description": "10-digit CIK with leading zeros, e.g. 0000320193" },
      "tag": { "type": "string", "description": "us-gaap tag, e.g. AccountsPayableCurrent" }
    },
    "required": ["cik", "tag"]
  }
}
// Implementation: GET https://data.sec.gov/api/xbrl/companyconcept/CIK{cik}/us-gaap/{tag}.json
//   with header User-Agent: "<app> <contact email>"

Fit and safety

Good for

  • Pulling reported revenue, cash or debt for a company into an analysis
  • Watching a company’s newest filings
  • Comparing one reported metric across all filers for a quarter with frames

Watch out

  • Do not call it from a browser app. The SEC says data.sec.gov does not support CORS; proxy through your server.
  • Do not crawl it in parallel from many machines. The 10-requests-a-second limit is per user across all machines; use the nightly bulk ZIPs for large pulls.
  • Do not expect non-U.S. filers that don’t file with the SEC, or custom company tags. The XBRL APIs only aggregate standard taxonomies (us-gaap, ifrs-full, dei, srt).
  • Do not present the numbers as investment advice. They are what companies reported.

Alternatives

FinancialFilings MCPFilings from 60 markets including Europe and Japan, as Markdown, through a hosted MCP with a free account.
OpenFIGI APIFree identifier mapping (tickers to FIGIs) to pair with EDGAR data.
DexPaprika APIKeyless market data for crypto tokens, which EDGAR does not cover.

FAQ

Does the SEC EDGAR API need an API key?

No. data.sec.gov needs no key, but requests without a descriptive User-Agent were refused with HTTP 403 in our test.

What is the SEC EDGAR rate limit?

No more than 10 requests per second per user, across all of your machines.

Can I call data.sec.gov from the browser?

The SEC says it does not support CORS. In our test a preflight request was refused, so call it from a server.

Compare

Put SEC EDGAR APIs (data.sec.gov) side by side with other free agent tools on keys, limits, MCP support, licensing and CORS. Open the comparison grid →

SourcesFootnotes