Congress trading data API and licensing
The dataset behind this site is available to license. STOCK Act transactions, annual financial disclosures, committee assignments and net-worth history, as an API, a bulk file or a scheduled drop into your own storage.
Coverage
Live counts from the production database. Figures without a public endpoint were measured on 2 September 2026.
What you can license
Take one dataset or all of them. Field lists below are the actual columns, not a summary of them.
Transactions (PTRs)
201,818 current recordsEvery buy, sell and exchange disclosed under the STOCK Act, parsed out of the House and Senate Periodic Transaction Report PDFs. Amendments are kept and linked, so you can either read only the current version of a trade or replay the full filing history.
- transaction_date, filing_date
- type (buy / sell / exchange)
- size_range, amount_lower, amount_upper
- ticker, company_name, asset_description
- security_type (stock, ETF, fund, option, corporate bond, municipal, structured, crypto)
- owner and ownership (self, spouse, dependent, joint)
- is_amendment, amendment_number, is_latest
- pdf_url, disclosure_url (link back to the source filing)
Members of Congress
1,014 members with trading or net-worth recordsThe member roster the trades join to, with the cross-reference IDs you need to merge our data with yours. Committee assignments are stored per member, which is what makes conflict-of-interest analysis possible.
- full_name, chamber, party, state, term_start, term_end
- bioguide_id, thomas_id, govtrack_id, opensecrets_id, votesmart_id, icpsr_id, fec_ids, cspan_id, wikipedia_id
- committees (name, title, rank)
- leadership_positions
- estimated_net_worth
- official website, phone, address, contact form, social handles
- birthday, gender, image_url
Annual financial disclosures
3,989 filings, 2008 to 2026The annual Financial Disclosure reports, which are a separate filing from PTRs and are where holdings, income and debt actually live. Most congressional trading feeds stop at PTRs and do not have this.
- filing year, chamber, filing_type, filing_date, report_url
- 121,424 asset line items: asset_name, ticker, asset_category, owner, value_min, value_max, income_type, income_min, income_max
- 5,701 liability line items: creditor, liability_type, owner, amount_min, amount_max, date_incurred, interest_rate, term
- total_assets_min / max, total_liabilities_min / max
- estimated_net_worth per year, giving a year-over-year series per member
- is_amendment, amendment_number, is_latest
Company and security master
10,914 entities, 7,868 distinct tickers tradedTickers on a PTR are typed by hand and are often wrong, missing or written as a fund name. We resolve them to a company record, which is the part that takes the work and the part that is worth licensing.
- ticker, name, slug, cik, cusip, exchange
- sector, industry, country, currency, employees
- market_cap, price, change_percent, year_high, year_low
- description, website, logo_url
Committees
211 committees and subcommitteesCommittee and subcommittee rosters mapped to members, including title and rank. This is the join that turns a trade into a jurisdiction question.
- committee name, slug, member_count
- per-member title and rank within the committee
Derived datasets
Three standing analyses, rebuilt dailyAnalyses we compute on top of the raw filings. They are available under the same licence and can be adjusted to your definitions.
- Committee conflicts: trades in an industry the member's committee oversees, with trade count and estimated value
- Filing compliance: disclosure lag per member, count of trades filed past the 45-day deadline, average and worst delay
- Insider confluence: tickers bought by members of Congress and by corporate insiders in the same window
How it is delivered
Pick whichever fits your stack. Most licensees take the API for serving and a nightly file for their warehouse.
REST API
JSON over HTTPS with filtering by member, ticker, chamber, party, date window, security type and trade size, plus cursor pagination. This is the same API that runs this site, so it is already load-tested against real traffic.
Bulk snapshot
The full history as CSV, JSON Lines or Parquet, delivered once or refreshed on a schedule. Sensible if you are backtesting or loading into a warehouse rather than serving requests.
Scheduled delta
Daily or hourly incremental file containing only rows added or amended since the last run, dropped to S3, GCS or an SFTP path you own.
Webhook
A signed POST when a new filing is parsed, for alerting products that need to move as soon as a PTR appears rather than on a poll.
Database replica
For larger engagements, a read replica or periodic dump of the normalised schema so you can query it as your own tables.
What you get that a scraper will not give you
Congressional filings are public, and there are free feeds. Here is the difference in practice.
Both chambers, one schema
House and Senate filings arrive in different formats and are published by different systems. We parse both into the same rows, so you are not writing a Senate special case.
Annual disclosures, not only trades
121,424 asset line items and 5,701 liabilities across 3,989 annual filings back to 2008. Holdings, income and debt, which PTR-only feeds do not carry.
Amendments handled properly
A member can amend a filing months later. We keep the superseded rows and flag the current one, instead of overwriting history and silently changing your past query results.
Every row links to its source
126,292 transactions carry the URL of the PDF they came from. When a number is questioned, you can settle it.
Entity resolution
Hand-typed tickers reconciled to a company master with CIK, CUSIP, exchange, sector and industry, so you can group by sector without building your own mapping first.
Sister datasets from the same vendor
Corporate insider Form 4 filings and 13F institutional holdings run on the same backend and can be added to one agreement.
Who licenses this
Fintech and brokerage apps
Show congressional activity on a ticker page or build a follow-the-politician screen without running a PDF parser you then have to maintain.
Newsrooms and research desks
Query the full history by member, committee or sector, with a link back to the source PDF on every row so a claim can be checked before it is published.
Quantitative research
Point-in-time transaction and filing dates, amendment history and normalised amount ranges, which is what a backtest needs to avoid look-ahead.
Compliance and governance
Cross-reference member holdings and committee jurisdiction for conflict screening, ESG scoring or political-exposure checks.
Academic and civic use
Discounted or free access for published research and non-commercial transparency projects. Tell us what you are studying.
AI and search products
A clean, entity-resolved corpus for retrieval or model training, licensed explicitly for that use rather than scraped and hoped for.
Licensing terms
Commercial use is the point
Licences are written for products that make money. Display to your end users, redistribution inside your app, internal research and derivative analytics are all in scope, subject to what we agree.
You are licensing the work, not the facts
The underlying filings are US government public records and nobody owns them. What we licence is the parsed, deduplicated, entity-resolved dataset, the delivery infrastructure, the corrections and the support. We say this plainly because a vendor claiming to own public records is a vendor to be careful with.
Attribution
Consumer-facing use normally carries a credit and a link. Internal and research use normally does not. Negotiable either way.
Evaluation sample
A free extract, typically a recent slice plus a schema document, so your engineers can load it before anyone signs anything.
Corrections and support
A named contact, a channel for reporting parse errors, and notice before any breaking schema change.
Exclusivity
The standard licence is non-exclusive. Category exclusivity can be discussed for larger commitments.
Pricing
Quoted per engagement. Five things move the number: which datasets you take, how much history, how often it refreshes, whether the data is displayed to your end users or used internally, and whether you need an SLA and support commitment.
Send those five answers in your first email and you will get a quote back, not a discovery call. Academic and non-commercial transparency work is usually free or heavily discounted, so ask.
Get in touch
Email [email protected] with the subject line "Data licensing". Including the following gets you a real answer in the first reply:
- What you are building and who sees the data
- Which datasets you need
- How far back the history needs to go
- Delivery method and refresh frequency
- Expected request volume, if you want the API
- Your timeline
We read everything that arrives and reply within a few business days.
Frequently asked questions
How much does a data licence cost?
There is no published price list, because the two enquiries we get most, an app that needs a daily file and a fund that needs the full history with point-in-time fidelity, are not the same product. Price depends on which datasets you take, how much history, how often it refreshes, whether the data is shown to your end users, and whether you need an SLA. Email us with those details and you will get a number rather than a discovery call.
Can I see the data before committing?
Yes. Ask for the evaluation extract. You get a recent slice of the transaction data plus the schema document, at no cost and with no meeting required, so you can decide whether it fits before anyone talks about contracts.
How fresh is the data?
We poll the House and Senate disclosure portals continuously and new filings are normally parsed and available within hours of being posted. The real constraint is the law, not the pipeline: the STOCK Act gives members up to 45 days after a trade to file, so a transaction date can be weeks older than the day it becomes public. Any vendor promising real-time congressional trades is describing filing speed, not trading speed.
How far back does the history go?
Transaction coverage runs from 2012, when the STOCK Act took effect, to the present. Annual financial disclosures go back to 2008. A small number of PTR rows report transaction dates earlier than 2012, because members sometimes disclose older transactions in a later filing.
The filings are public. Why pay for them?
Because the filings are PDFs. Getting from a scanned House PTR to a row with a resolved ticker, a normalised amount range, a security type and a link to its amendment is the work, and it has to be redone every time the filing format changes. Several free congressional datasets have gone dark or stopped updating over the last two years. You are paying for the pipeline staying up, not for the facts.
Do you offer a free tier?
Not a self-serve one. Academic, journalistic and non-commercial transparency projects should still write in, since those are usually free or heavily discounted.
Can I get insider trading and 13F data too?
Yes. Corporate insider Form 4 filings and 13F institutional holdings run on the same backend and can be licensed alongside congressional data under a single agreement.
Can the data be used to train a model?
It can, and it should be written into the licence explicitly rather than assumed. Tell us that is the use case and we will scope it that way.
What happens when a member amends a filing?
The original row stays in the dataset with is_latest set to false and the amended row takes its place. If you are storing our data, the delta feed tells you which rows changed, so your copy does not drift from ours.
Who do I contact?
Email [email protected] with the subject line "Data licensing". Include what you are building, which datasets you need, how you want them delivered and roughly what volume. It reaches a person, not a queue.
A note on the source data
All records originate from filings that members of Congress submit to the House Clerk and the Secretary of the Senate under the STOCK Act. Those filings are public records and we claim no ownership of them. Amounts are disclosed by filers as ranges rather than exact figures, so any value we compute is an estimate and is labelled as one. Read the full methodology.