SEC EDGAR Full-Text Search Scraper icon

Lead generation

SEC EDGAR Full-Text Search Scraper

Search SEC EDGAR's full-text index for any phrase across every filer and form type since 2001, and get structured rows — accession number, form type, filer names and CIKs, SIC codes, and a resolved link to the filing — instead of a web form you click through by hand.

Free Apify credit covers a first run. No credit card to try.

What this Actor scrapes

This Actor is a direct client for SEC EDGAR's full-text search index (efts.sec.gov) — the same backend behind the official EDGAR full-text search UI. Give it a phrase, optionally narrow by form type, date range, or a single filer's CIK, and it returns one row per matching filing: accession number, form type, filer names and CIKs, SIC codes, business locations, relevance score, and a direct link to the filing's index page.

This is deliberately not a per-company filing lister and not a Form D lead-gen tool — we ship both of those separately (sec-edgar-filings-scraper for "every filing company X ever made"; sec-form-d-leads for Regulation D capital-raise leads). If you want "which filings anywhere mention this phrase," you're in the right place.

What we handle for you

  • 🔎 Phrase search across every form type — 10-K, 10-Q, 8-K, S-1, and everything else EDGAR indexes, all in one query.
  • 📅 Date-range and CIK filters — narrow to a quarter, a year, or one filer.
  • 🧊 Structured rows, not HTML — accession number, form type, filer identity, SIC codes, and a resolved filing-index URL, every time.
  • 🛡️ We handle the fair-access gate. EDGAR requires a descriptive User-Agent with contact info or it 403s — we send one so you don't have to figure that out.
  • 🔁 We retry on transport failures with exponential backoff, and we track EDGAR's own 10,000-row pagination ceiling so a broad query never silently truncates without telling you.
  • 💰 You pay only for results that land. No matches → no per-row charge, only the small warm-up fee.

Use cases

  • Compliance & legal research — find every 8-K mentioning "material weakness" in a quarter, across the entire market.
  • Investigative journalism — trace a phrase (a product name, an executive, a lawsuit) across every filer that mentioned it.
  • Investor due diligence — check whether a company's own 10-Ks ever mentioned "going concern," "stock buyback," or a competitor by name.
  • Market research — count how many filers mention a technology, regulation, or trend across a date window.

Input

Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.

FieldTypeRequiredWhat it does
query string yes Search phrase sent to EDGAR full-text search (exact-phrase matched server-side).
forms array no Form types to filter to (e.g. 10-K, 8-K). Omitted/empty = all forms.
dateFrom string no Inclusive lower bound on filing date (YYYY-MM-DD). Omitted = unbounded.
dateTo string no Inclusive upper bound on filing date (YYYY-MM-DD). Omitted = unbounded.
entityCik string no Restrict results to one filer's CIK (1-10 digits; zero-padded automatically).
maxResults integer no Maximum rows returned (1-10000). Pagination also stops at EDGAR's own 10,000-row ceiling.
{
  "query": "material weakness",
  "forms": [
    "8-K"
  ],
  "dateFrom": "2026-01-01",
  "dateTo": "2026-03-31",
  "maxResults": 200
}

Output

One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.

accession_numberform_typeroot_formfiled_datecompany_namescikssic_codesrelevance_scorefiling_index_url

{
  "accession_number": "0000320193-23-000106",
  "form_type": "10-K",
  "root_form": "10-K",
  "filed_date": "2023-11-03",
  "period_ending": "2023-09-30",
  "company_names": [
    "Apple Inc."
  ],
  "ciks": [
    "0000320193"
  ],
  "primary_cik": "0000320193",
  "sic_codes": [
    "3571"
  ],
  "business_locations": [
    "CA"
  ],
  "file_numbers": [
    "001-36743"
  ],
  "relevance_score": 12.4,
  "filing_index_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019323000106/0000320193-23-000106-index.htm",
  "edgar_hit_id": "0000320193-23-000106:0"
}

Pricing

EventPriceWhen
Actor start$0.20Once per run, covers warm-up and proxy session setup.
Result row emitted$0.0030Per result written to the dataset.

You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.

Limitations

  • EDGAR's full-text search index covers filings from 2001-01-01 onward — this is a platform limit, not an Actor bug.
  • Pagination stops at EDGAR's own 10,000-row ceiling per query; a very broad query will hit this before returning every match.
  • This Actor returns the filing's search hit and index-page link, not the filing document body or XBRL data.

FAQ

Does this need an API key or login?
No. SEC EDGAR's full-text search is a public, keyless endpoint.
How is this different from a per-company filing lister?
That's a different job — see sec-edgar-filings-scraper for "every filing company X ever made." This Actor answers "which filings anywhere mention this phrase."
Can I search for Form D capital-raise leads?
Use sec-form-d-leads for that — it's purpose-built for Regulation D lead generation.
What happens if my query matches nothing?
The run succeeds with zero rows and a status message describing exactly what was searched — you're never charged for rows that don't exist.

Ready to run it?

Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.

Related Actors

Teams that run this also run