US Market Events Scraper (FDA, SEC, Contracts, Insiders) avatar

US Market Events Scraper (FDA, SEC, Contracts, Insiders)

Pricing

from $5.00 / 1,000 results

Go to Apify Store
US Market Events Scraper (FDA, SEC, Contracts, Insiders)

US Market Events Scraper (FDA, SEC, Contracts, Insiders)

Unified daily feed of FDA drug approvals (NDA/BLA only, no generics), SEC 8-K material-event filings, $1M+ federal contract awards from USAspending.gov, and Form 4 insider buy/sell transactions from OpenInsider. One normalized JSON schema across all four high-signal US public-data sources.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Manik Anand

Manik Anand

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

0

Monthly active users

18 hours ago

Last modified

Share

US Material Events Monitor — SEC 8-K, FDA, Federal Contracts & Insider Trades

One actor. Four high-signal US public-data sources. One normalized JSON schema.

Stop wiring up four separate scrapers. This actor pulls SEC EDGAR 8-K material-event filings, FDA drug approvals, $1M+ federal contract awards, and Form 4 insider buy/sell transactions in a single run — deduplicated, date-sorted, and flattened into the same shape so your downstream pipeline only has to parse one format.

Built for event-driven trading signals, catalyst monitoring, compliance surveillance, BD/lead-gen, and investor alerts. Schedule it hourly or daily; pipe the dataset straight into a spreadsheet, database, webhook, Slack, or an LLM.


Why this actor beats single-source scrapers

Most Apify actors give you one feed and leave you to stitch the rest together. Material corporate catalysts don't respect source boundaries — an M&A shows up as an 8-K and a contract award and an insider buy. This actor unifies them:

Single-source SEC scraperSingle-source FDA / contracts / insider scraperUS Material Events Monitor
Sources114, unified
Output schemasource-specificsource-specificone normalized schema across all four
8-K item codesraw (2.02, 5.02…)n/adecoded to plain English ("Results of Operations (Earnings)", "Executive/Director Departure")
Ticker extractionusually nonenoneparsed from EDGAR display names + insider hrefs
Noise controlall formsall submissionsNDA/BLA only (no generic ANDA spam); ORIG + efficacy supplements
Cross-source dedup / sortnonoyes — deduped, newest-first
Resiliencevariesvariesretries transient errors; never crashes; delivers partial results

The 8-K difference: material events, decoded

An 8-K is just an envelope. What matters is the item code inside it. This actor decodes them so you can filter on the event, not the form:

ItemDecoded to
1.01 / 1.02Entry into / Termination of a Material Agreement
1.03Bankruptcy or Receivership
2.01Completion of Acquisition/Disposition of Assets
2.02Results of Operations (Earnings)
2.06Material Impairment
3.01Delisting / Listing-Rule Failure
5.02Executive/Director Departure or Appointment
7.01Regulation FD Disclosure
8.01Other Material Event
…plus the full common setfallback to Item X.YY for anything unmapped

Example summary: 8-K filed by Ategrity Specialty Insurance Co Holdings on 2026-07-10 — Results of Operations (Earnings); Executive/Director Departure or Appointment; Financial Statements and Exhibits

Both the raw items array and the decoded item_descriptions are in every 8-K record's raw block.


Output schema

Every event from every source comes out in the same shape:

{
"source": "sec_8k",
"source_id": "0002040491-26-000029",
"event_type": "8-K Filing",
"ticker": "ASIC",
"company": "Ategrity Specialty Insurance Co Holdings",
"event_date": "2026-07-10",
"summary": "8-K filed by Ategrity ... — Results of Operations (Earnings); Executive/Director Departure or Appointment",
"url": "https://www.sec.gov/Archives/edgar/data/2040491/000204049126000029/0002040491-26-000029-index.htm",
"amount_usd": null,
"raw": { "accession_number": "...", "ciks": ["..."], "items": ["2.02","5.02","9.01"], "item_descriptions": ["Results of Operations (Earnings)", "..."] }
}
FieldTypeNotes
sourcestringfda | sec_8k | federal_contracts | insider
source_idstringStable unique ID per record (accession no., award ID, etc.)
event_typestringFDA Approval | 8-K Filing | Contract Award | Insider Buy | Insider Sell
tickerstring | nullParsed where available; null for private/holding-co filers
companystringCompany / sponsor / recipient name
event_datestringThe truthful "this happened" date (see below), YYYY-MM-DD
summarystringHuman-readable one-liner
urlstringDeep link to the primary source (specific filing / award / profile)
amount_usdnumber | nullPopulated for contract awards and insider transactions
rawobjectFull source-specific fields, including 8-K items + item_descriptions

event_date is always the real event date, not an inception date:

  • FDA — approval status date
  • SEC 8-K — filing date
  • Federal contracts — last-modified date (not the original start, which can be decades old for long-running contracts)
  • Insider — Form 4 filing date

Sources

SourceCoverageNotes
SEC EDGAR (sec_8k)8-K material-event filings — earnings, M&A, exec changes, bankruptcy, delisting, impairments, Reg FDFull-text-search endpoint; item codes decoded; deep-links to the filing index.
openFDA (fda)NDA + BLA drug approvals (status AP: original approvals + efficacy supplements)Skips ANDA generics and routine housekeeping — the noise that drowns out real approvals.
USAspending.gov (federal_contracts)Federal contract awards above your $ thresholdFiltered by recent activity (last-modified), not just contracts that happened to start this week.
OpenInsider (insider_trades)Form 4 insider buys and sells ≥ $25kBoth purchases and sales; deduped; dollar value parsed into amount_usd.

Inputs

FieldDefaultNotes
sourcesall fourSubset by name: fda, sec_8k, federal_contracts, insider_trades
lookback_days71–30. Applied to each source's event date.
tickers[]Optional symbol whitelist. Empty = no filter.
keywords[]Optional case-insensitive filter over summary + company + event_type. Empty = no filter.
min_contract_usd1000000Federal-contracts only — minimum award value.
max_results_per_source100Hard cap per source (1–1000). Use it to control cost.

A bare run with no input returns a full four-source feed of the last 7 days — nothing is required.

Example — last 3 days, biotech catalysts only

{
"sources": ["fda", "sec_8k", "insider_trades"],
"lookback_days": 3,
"keywords": ["pharma", "biotech", "therapeutics", "oncology", "FDA"],
"max_results_per_source": 50
}

Use cases

  • Event-driven trading signals — earnings (8-K 2.02), M&A (2.01/1.01), insider cluster buys, FDA approvals, and defense-contract wins in one catalyst feed.
  • Compliance & surveillance — monitor delistings (3.01), non-reliance restatements (4.02), bankruptcies (1.03), and insider activity for a watchlist of tickers.
  • BD / lead generation — GovCon vendors track new federal awards; biotech/defense sales teams get sales triggers the day they file.
  • Investor & IR alerts — push a Slack/email digest of every material event touching your holdings or your competitors.
  • News-desk feeds — journalists covering biotech, defense, or markets get filings and awards minutes after they post.
  • RAG / LLM grounding — feed fresh, structured US corporate events into a custom GPT or retrieval pipeline via tool-call.
  • No-code automation — wire the dataset into Zapier / Make / n8n, or Apify's native Postgres / Supabase / Slack integrations. No code on your side.

Reliability

This actor is built to run unattended on a schedule:

  • Every network call retries transient failures (HTTP 429 / 5xx / timeouts / connection resets) with exponential backoff, honoring Retry-After.
  • One flaky upstream can't zero out the others — each source is isolated; a source that's down simply contributes nothing that run while the rest deliver.
  • It never crashes to a failed run. Any unexpected error still delivers the results gathered so far and exits cleanly — no exit-1, no empty output on a transient blip.
  • SEC-compliant identification. Requests to SEC EDGAR carry a descriptive User-Agent with contact info per SEC's access policy (generic user-agents are 403'd). Override it with the ACTOR_CONTACT_UA environment variable if you re-deploy your own copy.

Pricing

Pay per result. You pay $0.005 per event returned (each item written to the dataset), plus a negligible per-run start fee. Example: 100 results ≈ $0.50. Your tickers / keywords / min_contract_usd / max_results_per_source settings only ever lower the bill — you pay for what the actor actually returns.

What this actor is NOT

  • Not investment advice. It's a data pipe. Trade decisions are yours.
  • Not real-time push. Pull-based; schedule it hourly or daily. Filings appear minutes after they post, not within the first seconds.
  • Not non-US. All four sources are US public data.
  • Not a completeness guarantee. Each source has its own coverage gaps. OpenInsider lags Form 4 filings ~30 min; EDGAR full-text-search lags the raw filing by a few minutes.

Known gotchas

  • FDA is intentionally selective. Only NDA/BLA original approvals and efficacy supplements are returned — generics (ANDA) and routine submissions are filtered out. A quiet window can legitimately return zero FDA events.
  • 8-K filings include routine items. Want only M&A and departures? Filter with keywords: ["acquisition", "departure", "going concern"] or post-filter on raw.items.
  • Tickers on 8-K filings can be missing for private/holding-company filers or multi-share-class listers.
  • OpenInsider depends on HTML stability. Their layout has been stable for years; if it ever changes, insider events pause until a parser fix ships. File a Store issue.

Support

Found a bug or an edge case? File an issue on the actor's Apify Store page. Turnaround target: 48 hrs for parser breaks.