+SEC EDGAR API
SEC filings, XBRL financials, 13F holdings and insider trades as JSON, looked up by ticker or CIK.
The API.SH SEC EDGAR API turns EDGAR into a handful of ticker-friendly JSON endpoints. Find a company's CIK, read its profile and filing history, search the full text of filings since 2001, pull XBRL financial facts over time or for every company in a period, and list 13F holdings of institutional investors and Form 4 insider transactions with the transaction code explained.
- 9 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/sec-edgar/v1/ company-search
{ "success": true } What you can build with the SEC EDGAR API
Fundamental analysis and financial models
Pull a concept such as revenue or net income from a company's XBRL facts with its full history by fiscal year and period, or just the latest annual value.
Cross-company screening
Get one XBRL concept for every company that reported it in a calendar period, sorted by value, to rank companies or build a peer set.
Filing alerts and compliance monitoring
List a company's filings newest first, filtered by form type, 8-K item and date range, then open a filing's index to reach every document in it.
Insider trading signals
Track Form 4 purchases, sales, awards and option exercises by a company's officers, directors and 10% owners, or follow one insider across companies.
Following institutional investors
Read a fund's 13F holdings for the latest or a chosen quarter, with value, shares, put/call and portfolio share, to see what it owns and how that changes.
Research and AI agents
Search the full text of filings for a phrase, company or risk topic, filtered by form and date, and feed the matching documents to an analyst or an agent.
SEC EDGAR data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
SEC EDGAR API endpoints and prices
Every SEC EDGAR endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| SEC EDGAR company search /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR full-text search /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR company profile /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR XBRL company facts /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR filing index /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR filings list /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR frames (one concept across companies) /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR 13F holdings /sec-edgar/ | $1 · $2 PAYG 1 credit |
| SEC EDGAR insider transactions /sec-edgar/ | $1 · $2 PAYG 1 credit |
Call the SEC EDGAR API
SEC EDGAR company search: GET https://api.api.sh/sec-edgar/
curl "https://api.api.sh/sec-edgar/v1/company-search?q=apple" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/sec-edgar/v1/company-search",
params={"q": "apple"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/sec-edgar/v1/company-search");
url.searchParams.set("q", "apple");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/sec-edgar/v1/company-search", "q", "apple")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "SEC EDGAR" and "SEC EDGAR company search".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 482 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for SEC EDGAR data
- Public data only: no SEC EDGAR login, cookies or account needed
- One key and one response shape for SEC EDGAR and 481 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official SEC EDGAR API
Yes. The SEC publishes free data APIs at data.sec.gov (submissions, XBRL company facts and frames) with no key, but you must send a declared User-Agent, stay under the SEC's request rate limit and work with CIKs and raw XBRL. API.SH accepts tickers, adds full-text search, 13F holdings and Form 4 insider data, and returns everything in one paged JSON shape.
Instead of writing your own EDGAR parser with Python libraries or paying for a dedicated SEC data vendor, API.SH gives you filings, financials, holdings and insider trades with one key and a fixed price per call.
SEC EDGAR API questions
What SEC EDGAR data can I get?+
Company search by name or ticker (/sec-edgar/v1/company-search), company profiles (/sec-edgar/v1/company), filing history (/sec-edgar/v1/filings), a filing's index (/sec-edgar/v1/filing), full-text search (/sec-edgar/v1/search), XBRL company facts (/sec-edgar/v1/company-facts), one concept across companies (/sec-edgar/v1/frames), 13F holdings (/sec-edgar/v1/holdings) and Form 4 insider transactions (/sec-edgar/v1/insider).
How much does the SEC EDGAR API cost?+
Every SEC EDGAR endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /sec-edgar/v1/company at 1 credit each.
Is the official SEC EDGAR API free?+
Yes, the SEC's data.sec.gov APIs are free and need no key, with a declared User-Agent and a request rate limit. API.SH is a paid convenience layer on top of public EDGAR data: ticker lookups, full-text search, 13F and Form 4 parsing and one JSON format, with blocks and retries handled for you.
Do I need an EDGAR account or login?+
No. API.SH reads public EDGAR data only. You do not need EDGAR filer access codes, a Login.gov account or a User-Agent header.
Can I use the SEC EDGAR API from Python?+
Yes. Use the API.SH Python SDK or any HTTP client: send your key and a ticker, for example to /sec-edgar/v1/company-facts, and you get JSON back. There is no XBRL or HTML parsing to write.
How do I get 10-K and 10-Q financial data?+
Call /sec-edgar/v1/company-facts with a ticker to list every reported concept with its latest annual value, then pass a concept with form, fiscal_year or fiscal_period to get its history. /sec-edgar/v1/frames gives one concept for every company in a period.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key. 3. Call /sec-edgar/v1/company with a ticker such as AAPL. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.