SEC EDGAR Scraper: Filings, Full-Text Search & XBRL Facts avatar

SEC EDGAR Scraper: Filings, Full-Text Search & XBRL Facts

Pricing

from $15.00 / 1,000 company profiles

Go to Apify Store
SEC EDGAR Scraper: Filings, Full-Text Search & XBRL Facts

SEC EDGAR Scraper: Filings, Full-Text Search & XBRL Facts

Pull SEC filings, EDGAR full-text search results, XBRL financial facts and company profiles straight from the SEC's official APIs. Look companies up by ticker or CIK. No key, no login, no scraping.

Pricing

from $15.00 / 1,000 company profiles

Rating

0.0

(0)

Developer

Alex Burton

Alex Burton

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Pull US public-company data straight from the SEC's own APIs. Look companies up by ticker or CIK, search the full text of every filing since 2001, and get machine-readable financial figures without touching a PDF.

One Actor, four jobs:

ModeWhat you get
Company filingsEvery filing for a company: form type, dates, accession number, SEC item codes, and a direct link to the document
Full-text searchEvery filing containing a phrase, with the company, form, date and the exact exhibit that matched
XBRL financial factsReported figures as numbers — revenue, net income, assets — with the period, unit, form and filing they came from
Company profilesName, tickers, exchanges, CIK, SIC industry, state of incorporation, address and former names

Why use this one

  • Official APIs only. Everything comes from data.sec.gov, efts.sec.gov and www.sec.gov/files. There is no HTML parsing anywhere in this Actor, so an EDGAR redesign cannot break it, and there is no terms-of-service grey area.
  • Tickers just work. Enter AAPL instead of hunting for 0000320193. The Actor resolves symbols through the SEC's own published company list.
  • Numbers, not documents. XBRL mode returns one row per reported value, so you can chart a company's revenue over twenty years without opening a single filing.
  • Built to the SEC's rules. The Actor sends a declared User-Agent and defaults to 2 parallel requests, which is what the SEC asks of automated clients. Most scrapers ignore this and get their IP blocked.
  • Complete history on request. Turn on Include the full filing history and the Actor also reads the SEC's archive files, so you get every filing a company has ever made, not just the recent set.

How to use it

  1. Choose What to collect.
  2. Add Companies (tickers or CIKs), or Search queries for full-text search.
  3. Optionally narrow by Form types and a date range.
  4. Click Start, then download results as JSON, CSV, Excel or HTML, or fetch them through the Apify API.

Example input: every 8-K Apple and Microsoft filed this year

{
"mode": "companyFilings",
"contactEmail": "you@example.com",
"companies": [
"AAPL",
"MSFT"
],
"formTypes": [
"8-K"
],
"dateFrom": "2026-01-01"
}

Example input: find every company disclosing a material weakness

{
"mode": "fullTextSearch",
"contactEmail": "you@example.com",
"searchQueries": [
"\"material weakness\""
],
"formTypes": [
"10-K"
],
"dateFrom": "2026-01-01",
"maxResultsPerQuery": 500
}

Example input: twenty years of revenue and net income

{
"mode": "companyFacts",
"contactEmail": "you@example.com",
"companies": [
"AAPL"
],
"xbrlTags": [
"Revenues",
"NetIncomeLoss"
],
"xbrlTaxonomy": "us-gaap"
}

Output

Each item has a type field: filing, searchHit, fact or company. The dataset has ready-made Filings, XBRL facts and Companies table views.

Filing

{
"type": "filing",
"accessionNumber": "0001140361-26-039785",
"cik": "0000320193",
"companyName": "Apple Inc.",
"form": "8-K",
"filingDate": "2026-10-15",
"reportDate": "2026-10-13",
"acceptanceDateTime": "2026-10-16T02:30:17Z",
"items": ["2.02", "9.01"],
"isXBRL": true,
"primaryDocument": "form8k.htm",
"documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036126039785/form8k.htm",
"indexUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036126039785/0001140361-26-039785-index.htm"
}

XBRL fact

{
"type": "fact",
"cik": "0000320193",
"companyName": "Apple Inc.",
"taxonomy": "us-gaap",
"tag": "AccountsPayableCurrent",
"label": "Accounts Payable, Current",
"unit": "USD",
"value": 5520000000,
"end": "2008-09-27",
"fiscalYear": 2009,
"fiscalPeriod": "FY",
"form": "10-K",
"filed": "2009-10-27",
"accessionNumber": "0001193125-09-214859"
}

Before your first run

The SEC asks automated clients to identify themselves and can answer traffic that does not with HTTP 403. Fill in Contact email with an address you monitor — it is sent only to sec.gov, in the User-Agent header, and nowhere else. Without one the Actor still declares itself by name and Store page, which is fine for small runs; add the email before running large or scheduled jobs.

Full-text search covers 2001 onwards, serves 100 hits a page and stops at 10,000 hits for one query; narrow the dates or form types to reach past that.

Pricing

Pay only for results:

ResultPrice
Filing or search hit$10.00 per 1,000
XBRL fact$2.00 per 1,000
Company profile$15.00 per 1,000

Set a maximum spend per run in the run options and the Actor stops cleanly when it's reached.

Limits to know about

These come from the SEC, not from this Actor:

  • Full-text search covers 2001 onwards and will not return results past the 10,000th match for a query. Narrow by form type or date range to get under that ceiling.
  • The submissions file holds at least the most recent 1,000 filings. Anything older needs Include the full filing history, which costs one extra request per archive file.
  • Downloading every XBRL fact is a big file for a large filer. Naming the tags you want under XBRL tags is far faster and cheaper.
  • Rate limit. The SEC asks for no more than 10 requests per second from an identified client. The default of 2 parallel requests stays well inside that. Raising it risks a temporary block.
  • XBRL only exists for filings from roughly 2009 onwards, and small filers may have no tagged data at all.

FAQ

Do I need an SEC account or API key? No. These endpoints are open and keyless. The only requirement is identifying your client, which the Actor does for you.

Can I monitor new filings every day? Yes. Use Company filings with a dateFrom of the last few days, or Full-text search with a date window, and schedule the Actor daily in Apify Console. Connect the dataset to Slack, Google Sheets, Zapier or Make.

Why did a ticker return nothing? The SEC's company list only covers issuers with a registered ticker. Funds, foreign private issuers and individual filers have a CIK but no symbol, so look those up by CIK.

What is an accession number? The SEC's unique ID for one submission, like 0001140361-26-039785. Every filing row includes one, plus ready-made links to the document and its index page.

Is this legal? Yes. These are public APIs the SEC publishes for exactly this purpose, and they require no authentication. Automated access must comply with the SEC's privacy and security policy, which is why the Actor identifies itself and limits its request rate.

Feedback

Found a bug or need a field that's missing? Open an issue on the Actor's Issues tab.