SPAC Redemptions Scraper — SEC EDGAR Lifecycle Tracker avatar

SPAC Redemptions Scraper — SEC EDGAR Lifecycle Tracker

Pricing

from $1.50 / 1,000 spac filing results

Go to Apify Store
SPAC Redemptions Scraper — SEC EDGAR Lifecycle Tracker

SPAC Redemptions Scraper — SEC EDGAR Lifecycle Tracker

Track the full SPAC lifecycle from SEC EDGAR: blank-check S-1 IPO filings, Rule 425 merger communications, DEFM14A merger-vote proxies with parsed meeting dates, and 8-K redemption disclosures with redeemed-share counts, per-share price and trust withdrawals. Official public SEC data — no login.

Pricing

from $1.50 / 1,000 spac filing results

Rating

0.0

(0)

Developer

Nomad.Dev

Nomad.Dev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Track the full SPAC lifecycle straight from SEC EDGAR: new blank-check S-1 IPO filings, Rule 425 merger communications, DEFM14A merger-vote proxies (meeting date parsed out of the proxy) and 8-K redemption disclosures (redeemed share count, per-share redemption price and trust-account withdrawal parsed out of the filing). Official public SEC data — no login, no proxies, no API key.

This is the structured SPAC event feed that arbitrage desks, merger-arb analysts and SPAC-tracking products otherwise assemble by hand from EDGAR — or buy as a $300+/month database subscription. Point it at a date range, a single SPAC (by name, ticker or CIK), or run it on a schedule with delta mode to get only new events.

Input

FieldTypeDefaultDescription
modeselect"redemptions"Which lifecycle stage to track: ipos (S-1 blank-check filings), mergers (Form 425 communications), votes (DEFM14A proxies), redemptions (8-K redemption disclosures) or all (all four in sequence, sharing one maxItems budget).
entitystring(empty)Filter to one SEC filer — company name (e.g. "AlphaVest"), ticker or CIK. Empty = all SPACs.
fromDatedate(empty)Only filings filed on/after this date.
toDatedate(empty)Only filings filed on/before this date.
parseFilingTextbooleantrueFetch each proxy/8-K document and extract meeting date, redeemed shares, price per share and trust withdrawal (see Parsed fields). Applies to votes and redemptions; ipos and mergers records are index metadata only.
onlyNewSinceLastRunbooleanfalseOnly output filings not seen in previous runs with this flag — see Delta mode.
maxItemsinteger100Hard cap on filings returned per run (1–2000).
concurrency (Advanced)integer3Parallel document fetches when parseFilingText is on (1–5). All SEC requests are rate-spaced internally to respect EDGAR fair-access limits.

What SPAC data does this scraper extract?

One flat JSON record per filing (one per accession number — exhibit hits are deduplicated). All fields are present on every record; fields that don't apply to an event type, or that could not be extracted with confidence, are null — never guessed.

FieldMeaning
idSEC accession number, e.g. 0001493152-25-014682 — stable and unique per filing
sourceAlways "sec-edgar"
eventTypeipo_filing | merger_communication | merger_vote_proxy | redemption_disclosure
companyFiler name as registered with the SEC
cikSEC CIK, zero-padded 10 digits
tickerPrimary listed ticker, or null when the filer has none on record
tickersAll listed tickers (common/rights/units/warrants), possibly empty
formTypeRoot form: S-1, 425, DEFM14A or 8-K
matchedFileTypeThe specific file the search matched (8-K, EX-99.1, ...)
filedAtFiling date YYYY-MM-DD
accessionNumberSame as id
filingUrlDirect URL of the matched document on sec.gov
indexUrlFiling folder on sec.gov (all documents + exhibits)
redeemedSharesParsed share count redeemed (redemptions only)
redemptionPricePerShareParsed per-share redemption price in USD (redemptions only)
trustAmountRemovedParsed total USD removed from the trust account (redemptions only)
hasVoteResultstrue when the 8-K contains Item 5.07 vote results (redemptions only)
meetingDateParsed shareholder-meeting date YYYY-MM-DD (votes only)
excerpt≤300-char snippet of the filing text the numbers were read from — verify at a glance
parse_confidence"high" / "medium" / "low" — see below; null when text parsing was skipped
warningsHuman-readable notes on anything ambiguous or unparsed (empty array when clean)
isNewtrue on every pushed record — only present when Only new since last run is on

Parsed fields & parse confidence

SEC filings state redemption facts in prose. The parser extracts them with strict rules and reports how sure it is:

  • high — all primary facts for the event type found unambiguously (redemptions: share count and per-share price; votes: one consistent meeting date; ipos/mergers: always high, the record is index metadata).
  • medium — some facts found; the rest are null with a warnings entry.
  • low — nothing recognized; all parsed fields null, warnings says why (unusual phrasing, data in an unfetched exhibit, document fetch failed).

When a filing mentions multiple conflicting values (e.g. per-meeting redemption counts plus a combined total that can't be told apart), the field is left null and the candidates are listed in warnings — the actor never picks a number for you. The excerpt field shows the exact sentence so you can verify in one glance.

How to track SPAC redemptions with this Actor

  1. Pick a lifecycle stageredemptions for trust redemptions, votes for upcoming merger votes, ipos for new blank-check registrations, mergers for de-SPAC announcements, or all.
  2. Optionally set entity (one SPAC) and a date range.
  3. Leave Parse filing text on to get the structured numbers, not just filing metadata.
  4. Turn on Only new since last run and put the actor on a daily schedule to get a clean feed of new SPAC events only — new redemption results land on EDGAR the same day they're filed.
  5. Run and export JSON, CSV or Excel — or call it over the API:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("nomad-agent/spac-redemptions-scraper").call(run_input={
"mode": "redemptions",
"fromDate": "2026-01-01",
"maxItems": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["filedAt"], item["company"], item["redeemedShares"],
item["redemptionPricePerShare"], item["filingUrl"])
curl -X POST \
"https://api.apify.com/v2/acts/nomad-agent~spac-redemptions-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode": "redemptions", "fromDate": "2026-01-01", "maxItems": 50}'

Output example

Real record (live run, June 2026):

{
"id": "0001213900-26-053305",
"source": "sec-edgar",
"eventType": "redemption_disclosure",
"company": "ClimateRock",
"cik": "0001903392",
"ticker": "CLRCF",
"tickers": ["CLRCF", "CLRRF"],
"formType": "8-K",
"matchedFileType": "8-K",
"filedAt": "2026-05-07",
"accessionNumber": "0001213900-26-053305",
"filingUrl": "https://www.sec.gov/Archives/edgar/data/1903392/000121390026053305/ea0289583-8k_climate.htm",
"indexUrl": "https://www.sec.gov/Archives/edgar/data/1903392/000121390026053305/",
"redeemedShares": 4543,
"redemptionPricePerShare": 13.19,
"trustAmountRemoved": 59900000.0,
"hasVoteResults": true,
"meetingDate": null,
"excerpt": "...Shareholders holding 4,543 Public Shares exercised their right to redeem such Public Shares for a pro rata portion of the funds in the Trust Account. As a result, approximately $59.9 million (or approximately $13.19 per share) will be removed from the T...",
"parse_confidence": "high",
"warnings": []
}

isNew (delta mode) is added on top of this shape when that input is on.

Delta mode

Turn on Only new since last run (onlyNewSinceLastRun) to have the Actor remember which filings it has already returned (keyed by event type + accession number) across runs, and skip filings it has already seen.

  • Skipped (already-seen) filings are not pushed and not billed — repeat runs only charge for genuinely new events.
  • Every filing that is pushed with this flag on is tagged "isNew": true.
  • State is kept in a dedicated key-value store (separate from the run's default store) so it persists across scheduled runs.

How the four searches work

Each stage is one EDGAR full-text search using the standard terms of art in SPAC filings, verified against live filings:

StageForm filterMatches filings containing
iposS-1"blank check company"
mergers425"business combination"
votesDEFM14A"special meeting" + "business combination"
redemptions8-K"exercised their right to redeem"

EDGAR full-text search covers filings from 2001 onwards and indexes exhibits too — redemption numbers announced in an EX-99.1 press release attached to an 8-K are found and parsed just the same.

Integrations

Export results as JSON, CSV or Excel, or wire this Actor into Make, Zapier or n8n; call it programmatically with run-sync-get-dataset-items; or use it from AI agents via the Apify MCP server.

Pricing

Pay per event: $0.05 per Actor start and $0.004 per filing returned. 100 filings ≈ $0.45. No subscription — pay only for what you fetch.

Use cases

  • SPAC arbitrage: daily feed of redemption results, trust withdrawals and per-share redemption prices
  • Merger-arb calendars: upcoming de-SPAC votes with parsed meeting dates
  • Deal-flow monitoring: new blank-check S-1 registrations and 425 merger announcements as they hit EDGAR
  • Law firms / advisors: track redemption levels and extension votes across the active SPAC universe
  • Quant/data teams: replace a $300+/month SPAC database subscription for event-date data you can re-derive from primary sources

FAQ

Is it legal to scrape this data? Yes. SEC filings are public-domain U.S. government records, and this Actor uses the SEC's own public search API and archive URLs, honoring the SEC's fair-access guidance (identified User-Agent, throttled request rate well under the published 10 req/s limit).

Do I need an API key or login? No. All endpoints used are unauthenticated public SEC services.

How fresh is the data? Every run queries EDGAR live. Full-text search indexes new filings within minutes to a few hours of acceptance — same-day for redemption 8-Ks.

Why is a numeric field null when the filing clearly states the number? The parser only reports values it can extract unambiguously. If a filing states several conflicting counts (common when one 8-K covers two meetings), the field is null and warnings lists the candidates — check excerpt and filingUrl. That's deliberate: no silent guessing.

Does it cover redemptions announced only in press-release exhibits? Yes — EDGAR full-text search indexes exhibits (EX-99.x), and the parser runs on whichever document matched.

Something broken or missing? Open an issue on the Actor's Issues tab — it is monitored and fixes ship fast.