
Acquire.com Scraper
scrape.ly/store/roamandroof/acquire-scraperLead generationBusiness
1 monthly user

Scrape US Congress stock trades from House and Senate Periodic Transaction Reports: member, party, ticker, asset, purchase/sale, amount range, trade and disclosure dates, owner and report link.
Get every stock trade that US senators and representatives disclose under the STOCK Act, straight from the official House and Senate Periodic Transaction Reports. One clean row per transaction: member, party, state, ticker, asset, purchase or sale, amount range, trade date, disclosure date, owner and a link to the original report. No login, no API key.
isScanned) with a link instead of being silently dropped, and they are free.daysToDisclose, map holdings against committee work.Disclosed from = 1 day and push new trades to Slack, a sheet or your database.Pelosi, Tuberville) and/or tickers (e.g. NVDA).| Field | Description |
|---|---|
members | Member names, partial names allowed (Pelosi, Nancy Pelosi, Tuberville). |
tickers | Only trades in these tickers (NVDA, AAPL, BRK.B). |
maxResults | Hard cap on saved rows for the whole run (default 20, 0 = no limit): transactions plus free scanned-report rows count toward it. Newest disclosures first. |
chamber | both (default), house or senate. |
dateFrom / dateTo | Transaction date range (2025-01-01 or relative like 90 days). |
filedFrom / filedTo | Disclosure (filing) date range of the report. |
transactionTypes | purchase, sale, exchange. |
includeScannedReports | List scanned paper reports once each, free (default on). |
includeMemberDetails | Add party, state, district and Bioguide ID (default on). |
{
"members": ["Pelosi"],
"tickers": ["NVDA", "AAPL"],
"dateFrom": "2025-01-01",
"chamber": "both",
"transactionTypes": ["purchase"],
"maxResults": 100
}
| Field | Description |
|---|---|
memberName, firstName, lastName | Member of Congress who filed the report |
chamber, party, partyCode, state, district, bioguideId | Chamber, party and seat (party for current members) |
ticker, assetName, assetType, assetTypeName | What was traded (House asset codes such as ST, OP, GS are spelled out) |
transactionType, transactionTypeCode | Purchase, Sale, Sale (Partial), Sale (Full), Exchange |
transactionDate, notificationDate, disclosureDate, daysToDisclose | When it was traded, when the member was notified (House), when it was disclosed |
amountRange, amountMin, amountMax | Value range as disclosed and as numbers |
owner, ownerCode | Self, Spouse, Joint, Dependent Child |
description, comment, filingStatus, subholdingOf, capitalGainsOver200 | Extra details from the report (option strikes, bond coupons, amendments) |
reportId, reportUrl, reportTitle, isScanned, parseStatus | The source report |
Example (fictional member):
{
"chamber": "House",
"memberName": "Alex Rivera",
"firstName": "Alex",
"lastName": "Rivera",
"party": "Democrat",
"partyCode": "D",
"state": "CA",
"district": 99,
"stateDistrict": "CA99",
"ticker": "NVDA",
"assetName": "NVIDIA Corporation - Common Stock",
"assetType": "ST",
"assetTypeName": "Stocks (including ADRs)",
"transactionType": "Purchase",
"transactionTypeCode": "P",
"transactionDate": "2026-09-18",
"notificationDate": "2026-09-19",
"disclosureDate": "2026-10-14",
"daysToDisclose": 26,
"amountRange": "$15,001 - $50,000",
"amountMin": 15001,
"amountMax": 50000,
"owner": "Spouse",
"ownerCode": "SP",
"description": "Purchased 200 shares.",
"filingStatus": "New",
"subholdingOf": "Example Brokerage Account",
"reportId": "20099999",
"reportUrl": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2026/20099999.pdf",
"isScanned": false,
"parseStatus": "parsed"
}
$1.50 per 1,000 transactions ($0.0015 each), plus a small amount of platform usage (compute and datacenter proxy). Example: 1,000 transactions ≈ $1.50 in transaction fees plus about a cent of usage. Scanned paper reports listed with isScanned: true are not charged.
Is it legal? Yes. Periodic Transaction Reports are public records published by the Clerk of the House and the Secretary of the Senate. Respect the Senate site's terms: the data may not be used for commercial purposes like credit ratings or soliciting money, except by news and communications media.
Do I need a login or proxy? No login. The default datacenter proxy works for both sites.
How far back does it go? House reports from 2008 and Senate reports from 2012, as far as the sources publish electronic reports.
Why are some reports marked isScanned? Some members file handwritten or scanned paper reports. Their trades exist only as an image, so there is no text to parse. The row gives you the member, the disclosure date and the PDF/page link.
Why is a field empty? The reports don't always contain it: Senate reports have no notification date or House asset codes, many assets (bonds, funds, private companies) have no ticker, and party is filled for current members only.
Can I schedule it or use the API? Yes. Schedule daily runs with Disclosed from set to 1 day or 7 days, and read the dataset over the API or through integrations.
dateTo are only found if you widen filedTo.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
membersarrayOptionalMembers of Congress
Names of senators or representatives, e.g. Pelosi, Nancy Pelosi or Tuberville. Partial names match (every word must match the start of a name). Leave empty for all members.
tickersarrayOptionalTicker symbols
Only keep trades in these stocks, e.g. NVDA, AAPL, BRK.B. Leave empty for every asset (including bonds, funds and private holdings).
maxResultsintegerOptionaldefault 20Max transactions
Maximum number of rows to save in total (across all members, tickers and chambers): transactions plus any free scanned-report rows. The run stops exactly at this number. 0 = no limit. Newest disclosures come first.
chamberenumOptionaldefault "both"Chamber
Which chamber's Periodic Transaction Reports to search.
dateFromstringOptionalTransaction date from
Earliest trade date (YYYY-MM-DD, or relative like '90 days').
dateTostringOptionalTransaction date to
Latest trade date (YYYY-MM-DD). Reports filed up to 180 days later are searched, because members disclose trades weeks after making them.
filedFromstringOptionalDisclosed from
Earliest disclosure (filing) date of the report (YYYY-MM-DD, or relative like '7 days'). Handy for daily monitoring.
filedTostringOptionalDisclosed to
Latest disclosure (filing) date of the report (YYYY-MM-DD).
transactionTypesarrayOptionalTransaction types
Only keep these transaction types. Leave empty for all.
includeScannedReportsbooleanOptionaldefault trueList scanned paper reports
Some members file handwritten or scanned reports whose trades exist only as an image. When on, each such report is listed once (isScanned = true, report link, member, date) free of charge, so you can open it yourself. Skipped when you filter by ticker or type.
includeMemberDetailsbooleanOptionaldefault trueAdd party and state
Add party, state, district and Bioguide ID for current members of Congress.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy for the House and Senate disclosure sites. Datacenter works well.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| memberName | any | Member |
| chamber | any | Chamber |
| party | any | Party |
| state | any | State |
| ticker | any | Ticker |
| assetName | any | Asset |
| transactionType | any | Type |
| amountRange | any | Amount |
| transactionDate | any | Traded |
| disclosureDate | any | Disclosed |
| owner | any | Owner |
| reportUrl | any | Report |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Transaction | One disclosed stock transaction saved to the dataset. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/congress-trades-scraper').call({
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/congress-trades-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/congress-trades-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Recent stock trades from both chambers with member details.
One senator's disclosed trades.
Trades in one ticker within a date range.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.