SEC EDGAR Filings Scraper - 10-K, 10-Q, Insider Trades
Pricing
from $12.75 / 1,000 filing records
SEC EDGAR Filings Scraper - 10-K, 10-Q, Insider Trades
Scrape SEC EDGAR filings (10-K, 10-Q, 8-K), parsed Form 3/4/5 insider trades, XBRL financial facts, peer benchmarks and full-text search for any public company. Export to CSV, Excel, JSON. No login or API key needed. Pay per result, filing rows from $0.015 each.
Pricing
from $12.75 / 1,000 filing records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
π SEC EDGAR Filings Scraper: 10-K, 10-Q, Insider Trades & XBRL
SEC EDGAR Filings Scraper returns filings, parsed Form 3/4/5 insider trades, XBRL financial facts and full-text search hits from SEC's official API. Export CSV, Excel or JSON, no login or API key. Filter by filing date range, get SIC code and state of incorporation on filing rows and full-text search hits, and use optional monitor mode to return only new filings since your last run. Filing rows cost $0.015 each.
SEC EDGAR Filings Scraper reads data.sec.gov and efts.sec.gov, the SEC's public endpoints, with no HTML scraping. Give it a ticker such as AAPL or a CIK and it returns that company's latest filings, newest first, with form type, filing date, accession number and document URL. A real run for Apple on 2026-10-03 returned a Form 4 filed 2026-10-01 with the parsed insider sale (2,399 shares at $336.18) in the same row.
π What does SEC EDGAR Filings Scraper do?
Four jobs, each with its own recordType:
- Filing history (
filing-record): every form type the company filed (10-K, 10-Q, 8-K, 4, S-1), filterable by form and by filing date range (dateFrom,dateTo). Every filing row carries the company profile (SIC code, exchange, fiscal year end, state of incorporation) at no extra charge. - Insider transactions (parsed from Form 3/4/5 XML, attached to the filing row, billed per transaction): who traded, code, shares, price and shares owned afterwards.
- Financial facts (
financial-fact-record): one row per XBRL concept (Revenues, NetIncomeLoss, Assets and others) with the full reported time series. - Full-text search (
search-hit-record): search a phrase across every filer's filings, independent of any ticker, up to 1,000 hits per search. Each hit also carries the filer's SIC code, state and location, 8-K item codes and report date where EDGAR gives them, at no extra charge.
An optional peer benchmark adds other companies' values per concept for the same fiscal year.
π What data does SEC EDGAR Filings Scraper return?
| Field | Applies to | Example |
|---|---|---|
recordType | all | filing-record |
cik / ticker / companyName | filings, facts, search hits | 0000320193 / AAPL / Apple Inc. |
sic / sicDescription | filings, search hits | 3571 / Electronic Computers |
exchanges | filings | ["Nasdaq"] |
stateOfIncorporation | filings, search hits | EDGAR code such as DE or NV |
fiscalYearEnd / filerCategory / entityType / ein / lei / website | filings | company profile, only when SEC has a value |
businessState / businessLocation | filings, search hits | CA / city and state |
form / filingDate / reportDate | filings, search hits | 10-K / 2025-10-31 / 2025-09-27 |
items / fileNumber / documentDescription | filings, search hits | filing details; items lists 8-K items such as 2.02 |
accessionNumber | filings, search hits | 0000320193-25-000079 |
documentUrl / indexUrl | filings, search hits | direct link, EDGAR filing index page |
isXBRL / isInlineXBRL | filings | true |
insiderTransactions | filings | object, only on Form 3/4/5 with insider transactions on |
concept / unit / series | facts | Assets / USD / list of periods |
peerBenchmark | facts | object, only with peer benchmark on and SEC peer data |
errorType / hint | error rows | free row explaining a failed lookup |
scrapedAt | all | ISO timestamp (UTC) |
π§Ύ Sample output from a real run
Filing row with insider transactions on (Apple, Form 4):
{"recordType": "filing-record","cik": "0000320193","ticker": "AAPL","companyName": "Apple Inc.","sic": "3571","form": "4","filingDate": "2026-10-01","accessionNumber": "0001140361-26-038307","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036126038307/xslF345X06/form4.xml","scrapedAt": "2026-10-03T12:00:00.000Z","insiderTransactions": {"reportingOwnerName": "Newstead Jennifer","transactions": [{ "transactionType": "non-derivative", "transactionCode": "S", "shares": 2399, "pricePerShare": 336.18, "acquiredDisposed": "D", "sharesOwnedAfter": 41992 }]}}
On full-text search hits the SIC, state and location values are those AS FILED, which can differ from the company's current ones on filing rows (one filer was SIC 3714 on a 2021 hit and 7372 today). States are EDGAR codes, not ISO codes. The sample is shortened; fields with no value are left out of the row.
π² How much does SEC EDGAR Filings Scraper cost?
Pay per event, only for saved rows. Error rows, empty runs and failed runs charge nothing.
| Event | What it is | Price (Free plan) |
|---|---|---|
filing-record | One filing | $0.015 |
insider-transaction-record | One parsed Form 3/4/5 transaction | $0.01 |
financial-fact-record | One XBRL concept time series for one company | $0.01 |
search-hit-record | One full-text search hit | $0.01 |
peer-benchmark-record | One peer company value | $0.01 |
Paid plans get a small discount on the filing event (Gold: $0.01275). The date range, company profile and filing-detail fields add no cost. Example: 10 filings cost $0.15. For 1,000 results (Free plan): 1,000 filing records cost 1,000 x $0.015 = $15.00, and 1,000 financial fact records, search hits or insider transactions cost 1,000 x $0.01 = $10.00 each. A cloud run for Apple 10-K filings plus a full-text search, 6 rows, was charged 3 filing records and 3 search hits. A 1,000-hit search returned 1,000 rows in 143 seconds. A maximum total charge stops the run cleanly.
π Only new results (monitor mode)
Turn on Only new results (onlyNew) and the Actor skips every record that this same search already returned in an earlier run. Skipped records are not charged. Inputs: onlyNew (default false; skipped records do not count against maxItems), stateKey (optional label to keep several independent monitors) and resetSeen (clears the stored list for this exact search so the latest records return again).
The state lives in a key-value store named sec-edgar-seen in your own Apify account, one entry per search (tickers, CIKs, forms, search phrase, extras and stateKey; changing maxItems or the other caps does not start a new monitor). A record is marked as seen only after it was saved and charged. If nothing is new, the run succeeds with a status such as "Delivered 0 new records, skipped 12 already seen" and charges nothing. Schedule it and add a webhook (Slack, Make, Zapier, n8n).
π How to scrape SEC EDGAR filings in 3 steps
- Enter a ticker (
AAPL), a company name or a CIK. Empty lists use the default (AAPL). - Pick form types (for example
10-K,10-Q,4) and the maximum rows. Switch on insider transactions, financial facts or peer benchmark only if needed. - Click Start, then download the dataset.
βοΈ Input
| Field | Meaning |
|---|---|
tickers | Tickers or company names, resolved with SEC's own ticker list. Up to 1,000 per run |
ciks | CIK numbers, zero-padded for you. Up to 1,000 per run with tickers |
forms | Keep only these form types. Empty means all. An amendment such as 10-K/A is a separate type |
dateFrom / dateTo | Filing date range, YYYY-MM-DD, either bound optional. Applies to filings and full-text search. Invalid dates end with one free error row |
maxPerCompany / maxItems | Filings per company (default 50) / total rows (default 100, Free plan 10) |
includeInsiderTransactions | Parse Form 3/4/5 transactions (billed per transaction) |
includeFinancialFacts / financialConcepts | XBRL concepts, as SEC us-gaap names, up to 30 per company |
includePeerBenchmark / maxPeers | Add other companies' values per concept |
searchQuery / searchForms / maxSearchHits | Full-text search across all filers, up to 1,000 hits |
onlyNew / stateKey / resetSeen | Monitor mode: skip records already returned by an earlier run of the same search, free of charge |
Example input:
{ "tickers": ["AAPL"], "forms": ["10-K", "10-Q"], "maxItems": 10 }
π How does it compare with other SEC EDGAR scrapers on Apify?
Read on 2026-10-10 from the public Store pages.
| Capability | This Actor | blackfalcondata | dami_studio |
|---|---|---|---|
| Form 3/4/5 transactions | Parsed: shares, price | Not shown | Not shown |
| Full-text search | Yes, with SIC and state | Yes, since 2001 | Yes, one phrase |
| Date range and monitor mode | Yes, both | Yes, both | Date range only |
| Peer benchmark | Yes, XBRL Frames | Not shown | Not shown |
| Price per 1,000 rows | $15 filing, $10 other | $2 recent, $0.50 old | $2.00 |
We are the most expensive per filing row, about 7 times blackfalcondata, which also adds a $0.005 start fee from 4 October 2026. The extra buys parsed insider trades, XBRL series, peer benchmark and 41 columns in one run. For a plain filing list blackfalcondata is the better fit, and it also has exchange filtering and notification integrations that we lack. actorworks excludes Forms 3, 4 and 5, and trendlab links to insider forms only. Not built here: the rival fields changeType and taxonomy.
πΌ Use cases
Insider-trading monitoring (daily forms: ["4"] runs with onlyNew), financial screening of a watchlist, compliance research (search all filers for "going concern") and data products use this data without a custom EDGAR integration.
π How do I use SEC EDGAR Filings Scraper with the API and integrations?
Call it with the Apify API, the JavaScript or Python client, Make, Zapier or n8n, or schedule it.
curl -X POST "https://api.apify.com/v2/acts/RecordsData~sec-edgar-filings-scraper/runs?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"tickers":["AAPL"],"forms":["10-K"],"maxItems":10}'
π€ SEC EDGAR Filings Scraper MCP server for AI agents
AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/sec-edgar-filings-scraper. The URL loads only this Actor as a tool.
MCP client configuration (Claude Desktop, Cursor, VS Code):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/sec-edgar-filings-scraper"}}}
Example agent prompt:
Use the SEC EDGAR Filings Scraper for ticker AAPL with forms ["4"], insider transactions on and maxItems 10, then tell me who sold shares recently, how many, and at what price.
Choose this tool when an agent needs SEC filings by ticker or CIK, parsed Form 3/4/5 insider transactions, XBRL financial facts or a full-text search across filers. It takes the same fields as the Input table above.
βοΈ Is it legal to scrape SEC EDGAR?
SEC EDGAR is public government data, and the SEC publishes these APIs for public use. The Actor sends the User-Agent that SEC's fair-access policy asks for and bypasses no protection. You are responsible for how you use the data. This is an independent tool, not affiliated with or endorsed by the U.S. Securities and Exchange Commission.
β FAQ
How do I get only new SEC filings, 8-Ks or insider trades since my last run?
Set onlyNew to true and schedule the actor. Each run skips the records that the same search already delivered and charges only for new rows. Use stateKey for separate monitors and resetSeen to start over. If nothing is new, the run charges nothing.
Does SEC EDGAR Filings Scraper parse Form 4 data or only list the filings?
SEC EDGAR Filings Scraper opens the raw Form 3, 4 or 5 XML and returns the parsed insider transaction: reporting owner, transaction code, shares, price per share, acquired or disposed flag and shares owned afterwards. This needs includeInsiderTransactions on, and each parsed transaction is billed as one $0.01 event.
Why did SEC EDGAR Filings Scraper return 0 results?
The ticker or CIK did not resolve, your form filter matched nothing, or the full-text search had no hits. The run then ends as succeeded with a status message and charges nothing. If SEC EDGAR cannot be reached, the run fails with a clear message and charges nothing.
Why is the peerBenchmark field missing on some SEC EDGAR fact rows?
The peer benchmark uses SEC's XBRL Frames data for flow concepts such as Revenues or NetIncomeLoss. Balance-sheet concepts such as Assets, Liabilities and StockholdersEquity return no peers because the Actor asks for a yearly period that source does not hold for them (not fixed yet), so peerBenchmark is left out and no peer benchmark event is charged.
Why does Apple's Revenues series stop in 2018 in SEC EDGAR data?
Many large filers moved to the tag RevenueFromContractWithCustomerExcludingAssessedTax after the ASC 606 accounting standard. If the Revenues series ends in 2018 for a company, add the newer concept name to financialConcepts to get the later series as a separate fact row.
Can I filter SEC EDGAR filings and full-text search by date?
Yes. Set dateFrom and dateTo (YYYY-MM-DD). The range filters company filings by filing date and is sent to the full-text search as its start and end date. The SEC submissions response holds only about the latest 1,000 filings, so for older ranges the Actor also reads the extra files EDGAR lists. An invalid date ends the run with one free error row. A single bound also works on the search: the Actor fills the missing bound and filters locally.
Which company profile fields does each SEC EDGAR filing row include?
Every filing row from SEC EDGAR Filings Scraper carries sic, sicDescription, exchanges, fiscalYearEnd, stateOfIncorporation, filerCategory, entityType, ein, lei, website, businessState and formerNames. They come from the SEC response already fetched, with no extra charge. A field the SEC does not publish is left out. Full-text search hits carry only the as-filed sic, sicDescription, stateOfIncorporation, businessState and businessLocation.
Do I need a login or API key for SEC EDGAR?
No. SEC EDGAR Filings Scraper reads data.sec.gov and efts.sec.gov, the SEC's public endpoints, with no HTML scraping, no login and no API key. It sends the User-Agent that SEC's fair-access policy asks for. You only need an Apify account; Free accounts return up to 10 rows per run.
How fresh is the SEC EDGAR data?
SEC EDGAR Filings Scraper is as fresh as SEC EDGAR itself: new filings usually appear within minutes, and the actor reads them live on each run. Combine a schedule with onlyNew to pick up new 8-Ks, Form 4 trades or 10-Ks shortly after publication.
What if I hit my spending limit with SEC EDGAR Filings Scraper?
SEC EDGAR Filings Scraper stops cleanly when your maximum total charge is reached and reports it in the run status. Rows already saved stay in the dataset and are billed normally. Set maxItems and the maximum charge together to cap the cost of broad searches. A run also stops if it delivers no billable record for 180 seconds.
π Want more public-data scrapers?
- Bank Regulatory Intelligence Scraper
- Federal Contracts Spending Scraper
- USPTO Trademark Status Scraper
π Support
Open the Issues tab on this Actor or write to contact.punkrecordsdata@gmail.com.
Last updated: 2026-10-11