Sec Edgar Scraper avatar

Sec Edgar Scraper

Pricing

$10.00 / 1,000 filing scrapeds

Go to Apify Store
Sec Edgar Scraper

Sec Edgar Scraper

Pull official SEC filings from EDGAR. Get 10-K, 10-Q, 8-K, S-1, proxy statements, filer name, CIK, filing date, and document URLs. Ideal for financial research, compliance, and investment analysis. PPE pricing — pay only for results.

Pricing

$10.00 / 1,000 filing scrapeds

Rating

0.0

(0)

Developer

Web Data Labs

Web Data Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Share

SEC EDGAR Scraper — 10-K, 10-Q, 8-K & Insider Filings (No API Key)

Pull SEC EDGAR filings — 10-K annuals, 10-Q quarterlies, 8-K material events, S-1 IPOs, DEF 14A proxies, Form 4 insider trades, and 13F institutional holdings — by company name, CIK, ticker, or full-text keyword. Get a clean structured dataset (company, CIK, ticker, form type, filed date, reporting period, description, direct document URL) ready to drop into your screener, compliance dashboard, or research pipeline. No registration, no API key, no rate-limit babysitting.


Why Use This Instead of EDGAR Directly?

EDGAR is technically a public dataset — but actually using it at scale is a slog:

  • Three different APIs, three different conventions. data.sec.gov, the EDGAR full-text search endpoint, and the legacy Archives/ filing tree each return data in their own shape. You glue them together yourself.
  • CIK lookup is its own project. Companies are keyed by 10-digit Central Index Key, not ticker or name. You have to map names → CIK first, handle subsidiaries, and resolve former tickers.
  • Date filtering is awkward. The full-text search endpoint paginates oddly and filters dates differently than the company-filings endpoint.
  • Document URLs are buried. Each filing has an index page, then a primary document, then sometimes amendments. Constructing the canonical document link takes several hops.
  • Rate limits & user-agent rules. SEC requires a declared User-Agent with a contact email and enforces request rate limits. Get it wrong and you're throttled or temporarily blocked.

This actor handles every part of that — name/ticker/CIK resolution, form filtering, date windows, document URL assembly, and polite request pacing — so you get a clean dataset on a single API call.


What Data You Get

Every filing record returns:

  • company_name — registrant's display name (e.g. Apple Inc.)
  • cik — 10-digit Central Index Key, zero-padded (e.g. 0000320193)
  • ticker — primary ticker symbol when available (e.g. AAPL)
  • filing_type — form code (e.g. 10-K, 10-Q, 8-K, S-1, DEF 14A, 4, 13F-HR)
  • filed_date — date the filing was submitted to EDGAR (YYYY-MM-DD)
  • period_of_report — fiscal period the filing covers (YYYY-MM-DD)
  • description — short human-readable description of the filing
  • document_url — direct link to the primary filing document on sec.gov

Use Cases

1. Earnings & 10-K monitoring Pull every 10-K and 10-Q for a watchlist of tickers as they drop. Pipe straight into your model or note-taking workflow.

2. 8-K material-event alerts Stream 8-K filings (executive changes, M&A, accounting issues, regulatory actions) for any list of companies — react in minutes, not days.

3. Insider-trading tracking (Form 4) Catch officer and director buys/sells across a portfolio of companies. Build dashboards of insider sentiment by sector.

4. 13F institutional holdings Surface what hedge funds and asset managers reported holding at quarter end. Feed it into clone-portfolio strategies or competitive-intelligence reports.

5. IPO and S-1 pipeline Track new S-1 and S-1/A filings across the market. Build an IPO calendar with company name, filing date, and direct link to the prospectus.

6. Compliance & risk monitoring Run scheduled full-text searches ("climate change risk", "cybersecurity incident", "going concern") across all filings to flag emerging disclosures.

7. Academic & quantitative research Build your own historical filings dataset for NLP, sentiment analysis, or topic modeling without paying for Refinitiv or Bloomberg seats.


How to Use

  1. Open the actor on Apify: apify.com/cryptosignals/sec-edgar-scraper
  2. Click Try for free — no credit card required for small runs.
  3. Pick a searchMode:
    • company — list every filing for a single company (by name, CIK, or ticker).
    • fulltext — full-text keyword search across the entire EDGAR corpus.
  4. Set query, optionally narrow by forms (e.g. 10-K,10-Q), startDate, endDate, and maxItems.
  5. Click Start and download results as JSON, CSV, Excel, or pull them programmatically via the Apify API.

Input Parameters

ParameterTypeRequiredDescription
searchModestring (company | fulltext)Optionalcompany looks up all filings for one registrant. fulltext searches keywords across all filings. Default: company.
querystringYesCompany name, CIK, ticker, or full-text keywords (e.g. "Apple Inc", "0000320193", "AAPL", "climate change risk").
formsstringOptionalComma-separated form types (e.g. "10-K,10-Q,8-K,S-1"). Leave empty for all forms. Default: "10-K".
startDatestring (YYYY-MM-DD)OptionalEarliest filing date. Default: 1 year ago.
endDatestring (YYYY-MM-DD)OptionalLatest filing date. Default: today.
maxItemsinteger (1-200)OptionalMaximum filings to return. Default: 20.

Tip: for company mode you can pass a name ("Tesla"), a ticker ("TSLA"), or a zero-padded CIK ("0001318605"). The actor resolves all three.

Example input — Company filings

{
"searchMode": "company",
"query": "Apple Inc",
"forms": "10-K,10-Q,8-K",
"startDate": "2024-01-01",
"endDate": "2026-05-01",
"maxItems": 50
}
{
"searchMode": "fulltext",
"query": "cybersecurity incident",
"forms": "8-K",
"startDate": "2025-01-01",
"maxItems": 100
}

Output Example

[
{
"company_name": "Apple Inc.",
"cik": "0000320193",
"ticker": "AAPL",
"filing_type": "10-K",
"filed_date": "2024-11-01",
"period_of_report": "2024-09-28",
"description": "Annual report pursuant to Section 13 or 15(d)",
"document_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/aapl-20240928.htm"
},
{
"company_name": "Apple Inc.",
"cik": "0000320193",
"ticker": "AAPL",
"filing_type": "10-Q",
"filed_date": "2025-02-01",
"period_of_report": "2024-12-28",
"description": "Quarterly report pursuant to Section 13 or 15(d)",
"document_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000010/aapl-20241228.htm"
}
]

Datasets export as JSON, CSV, XML, or Excel from the Apify console, or stream programmatically via the dataset API.


Calling the Actor Programmatically

cURL

curl -X POST "https://api.apify.com/v2/acts/cryptosignals~sec-edgar-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchMode": "company",
"query": "TSLA",
"forms": "10-K,10-Q,8-K",
"maxItems": 25
}'

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cryptosignals/sec-edgar-scraper").call(run_input={
"searchMode": "company",
"query": "Microsoft",
"forms": "10-K,10-Q",
"startDate": "2024-01-01",
"maxItems": 25,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["filing_type"], item["filed_date"], "-", item["document_url"])

Node.js (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('cryptosignals/sec-edgar-scraper').call({
searchMode: 'fulltext',
query: 'going concern',
forms: '10-K,10-Q',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Pulled ${items.length} filings`);

Pricing

This actor uses Pay-per-event — you only pay for filings extracted, not for compute time or failed runs.

  • Cost: $0.01 per filing record
  • Free tier: Apify's free plan includes $5/month of platform credits — enough to pull ~500 filings to try it out.
  • Typical 10-K monitor run: 25 filings → about $0.25.
  • Typical full-text sweep: 200 filings → $2.00.

See full Apify pricing →


FAQ

Is scraping SEC EDGAR legal?

Yes. SEC EDGAR is a public-domain government database — every filing is public record by law. The SEC explicitly publishes the data for reuse and runs official endpoints to support automated access. This actor respects the SEC's published fair-access guidelines (declared User-Agent, polite request pacing, no abuse). Always consult your own legal counsel for your specific use case.

Do I need an SEC account or API key?

No. EDGAR is fully public. The actor handles everything for you, including the User-Agent header SEC requires.

How fresh is the data?

EDGAR publishes filings in near real time as registrants submit them. This actor queries EDGAR live on every run, so results are as fresh as EDGAR itself — typically within seconds of submission.

Can I get the full filing text, not just metadata?

This actor returns metadata + the canonical document_url for every filing. Pass that URL to your text-extraction pipeline (PDF or HTML parser) to pull the full document. We may add an inline-text mode in a future version — open an issue on the actor page if that's useful for you.

Can I track a list of tickers on a schedule?

Yes. Use Apify's built-in scheduler to run on a cron — daily, weekly, or any interval. Pass each ticker as a separate run, or a comma-list, and push results to a webhook, Google Sheets, Airtable, Slack, or your own database.

What's the difference between company and fulltext search?

company returns every filing for one registrant — best for monitoring a watchlist of tickers. fulltext searches keywords across the entire EDGAR corpus — best for surfacing emerging disclosures ("climate risk", "restatement", "material weakness") across all companies.

Can I get amendments (e.g. 10-K/A)?

Yes — pass amendment forms in the forms field, e.g. "10-K,10-K/A,10-Q,10-Q/A".


Looking for more financial and company data?


About Web Data Labs

This actor is maintained by Web Data Labs — we publish a catalog of 100+ production-ready scrapers on the Apify platform covering jobs, e-commerce, social media, software reviews, and company data. Pay-per-result pricing means you only ever pay for data you receive.

Questions or custom data needs? Reach out via the Apify contact form or visit web-data-labs.com.


New to Apify? Start here

Sign up for Apify through this link to get $5 in free platform credits — enough to try this actor and many others on the Web Data Labs catalog at no cost.