Per-disclosure politician trade feed (cursor, exactly-once)
One item per DISCLOSURE — a congressional STOCK Act periodic transaction report (PTR) or an executive-branch OGE Form 278-T — that contains at least one trade whose bracket LOWER bound is at or above minAmount. Every item carries ALL trades of the report (sorted by bracket lower bound, largest first); qualifyingTradeCount says how many clear the threshold.
Built for polling. Store nextCursor and pass it back as since on the next call: each disclosure is returned exactly once for a given minAmount + kinds, in the order it became complete — plus once more per GROWTH revision (below). nextCursor is returned on every response, including empty pages; keep it even when items is empty. When hasMore is true, call again immediately.
Completeness. Rows of one report reach us across several sweeps, so a report is emitted only once no new row of it has arrived for a settle window (8h by default). If a later row raises the report's largest bracket above a threshold it had not reached, the report is emitted (once) to clients at that threshold. Upstream batches of one large report can arrive more than a day apart, so a report that GROWS materially after it was emitted (+25 trades or +20%) is emitted again, once, with a higher revision; when you already received an earlier revision at your threshold the item says replacesPrevious: true — replace the copy you hold by id (if you hold none, treat it as new). Smaller growth is not re-emitted.
Lateness. filingDelayDays is the largest trade-to-disclosure lag in the report, isLateFiling whether it exceeds 45 days, and lateTradeCount how many trades do — all computed EXCLUDING trades whose transactionDateSuspect is true: a trade lagging its own otherwise on-time report's median by ~one year (335-395 days; median ≤45 days; needs ≥3 other trades) is a probable mistyped year upstream. Such trades are still listed with their date as filed and counted in suspectDateCount. owner is null when not stated ("Not stated", never "Self").
Cold start. Without since, only disclosures that became complete in the last 48 hours are returned. Reports whose filing date is older than the event window (14 days congressional, 30 days executive) are never emitted, so a historical backfill is not replayed as news.
Amounts are brackets. Render amountRange. amountMin is null when the bracket could not be parsed (never "$0"); amountMax is null for "Over $50,000,000". A null ticker is a non-equity asset (bond, fund, real estate) — see assetDescription.
Credit cost: 3
Request
- Base URL: https://api.signal8.ai/api/v1/public
- URL: https://api.signal8.ai/api/v1/public/politicians/disclosures
- Auth: API key in header X-Api-Key
Query parameters
Opaque cursor — the nextCursor of a previous response, verbatim.
Maximum disclosures per page (1-100, default 50).
USD threshold compared to each trade's bracket lower bound (default 50001, i.e. the "$50,001 - $100,000" bracket and above). A disclosure qualifies when ANY of its trades meets it.
Comma-separated subset of congressional,executive (default both).
Response
A page of disclosures plus the cursor to resume from
Changes
No recorded changes to this operation across all 1 revision of this API.