Congress. Insiders. Trump.
Every trade, one API.
Point-in-time stock trades of politicians and executives with the Conviction Score, 13F funds, lobbying, federal contracts and 48 more datasets, mapped to CUSIP, ISIN and FIGI. JSON, CSV and Parquet, webhooks, a Python package and a public status page.
Built on public filings from SEC EDGAR U.S. House U.S. Senate OGE Senate LDA USAspending FEC CNBC Wikimedia
Congress discloses trades 45 days late. Insiders file in two. The President files hundreds of scanned pages. We read all of it, match every row to a ticker and hand it to you clean, the same day.
Three kinds of edge.
One key.
Congress, Senate and House trades, Trump’s 278-T transactions, lobbying, the revolving door, contracts and WARN layoffs, matched to tickers.
GET /v1/congressGET /v1/trump-tradesGET /v1/revolving-doorGET /v1/warn-layoffsSmart money, scoredForm 4 insider buys and clusters, 13F portfolios of Buffett, Burry and Ackman, 13D/G stakes and a quarter-over-quarter diff of any fund.
GET /v1/insidersGET /v1/insider-clustersGET /v1/investor-13fGET /v1/fund-changesThe crowd and the TVEvery Jim Cramer call with a scorecard, CNBC final trades, WallStreetBets, Google Trends and Wikipedia spikes, prediction markets.
GET /v1/tv-picksGET /v1/cramer-scorecardGET /v1/attentionGET /v1/wsbYour first request
in a minute.
- Get a key. Sign in and open Settings → API key. It is free.
- Send it as
Authorization: Bearer bk_…orX-API-Key. - Call any endpoint. JSON by default,
format=csvwhen you want a spreadsheet.
curl -H "Authorization: Bearer $BOURSE_KEY" \
"https://api.bourse.pl/v1/trump-trades/NVDA"
curl -H "Authorization: Bearer $BOURSE_KEY" \
"https://api.bourse.pl/v1/house?from=2026-01-01&sort=-disclosure_date&format=csv" > house.csvpip install bourse-quant
import bourse # BOURSE_KEY in the environment
df = bourse.get_insider_trades("NVDA") # pandas DataFrame
top = bourse.get_conviction(min_score=90) # Conviction Score
risk = bourse.stress_test({"AAPL": 40, "MSFT": 30, "TLT": 30})const r = await fetch("https://api.bourse.pl/v1/insider-clusters?days=30", {
headers: { Authorization: `Bearer ${process.env.BOURSE_KEY}` },
});
const { data, next } = await r.json();
console.table(data);{
"dataset": "insiders",
"ticker": "NVDA",
"count": 1,
"next": null,
"data": [
{ "ticker": "NVDA", "insider_name": "...", "transaction_code": "P",
"total_value": 1250000, "transaction_date": "2026-11-07",
"conviction_score": 94,
"filed_at_source_timestamp": "2026-11-10T21:04:05Z",
"processed_by_bourse_timestamp": "2026-11-10T21:31:40Z",
"cik": "0001045810", "cusip": "67066G104",
"isin": "US67066G1040", "figi": "BBG000BBJQV0" }
]
}Built the way
you would build it.
/v1/{dataset}/{TICKER} on every dataset with tickers, and /v1/ticker/NVDA for everything at once.
Add format=csv to any request and open it in Excel or Google Sheets.
sort=-amount, fields=ticker,date and ranges like min_employees=500.
Every response has a next link and a Link header.
openapi.json for Postman, Insomnia and code generators.
Every record has filed_at_source_timestamp and processed_by_bourse_timestamp, so backtests see only what was public at the time.
Rows with a ticker carry cik, cusip, isin and figi. Join to your security master without a lookup table.
pip install bourse-quant: pagination, retries and pandas DataFrames, so bourse.get_insider_trades("NVDA") is one line.
API Pro: nightly CSV and NDJSON files. Enterprise: Parquet files on Amazon S3 with pre-signed URLs.
Data responses are sent with Cache-Control: no-store: no edge cache between you and the database.
/v1/usage, X-RateLimit-Remaining-Day and, on Pay-as-you-go, the cost of the month so far.
86 endpoints.
Open any of them.
Base URL https://api.bourse.pl/v1. GET https://api.bourse.pl/v1 returns this list as JSON and openapi.json describes every parameter.
Washington
Congress and Senate trades, Trump’s 278-T reports, lobbying, the revolving door, contracts, WARN layoffs, bills and elections.
GET/v1/congressStock trades disclosed by members of the U.S. Congress (STOCK Act periodic transaction reports), with price at trade and performance since.
Filters ticker member chamber party type from to min_/max_ sort fields format limit offset
Fields member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress?limit=20"GET/v1/lobbyingFederal lobbying disclosures (Lobbying Disclosure Act reports) matched to public companies.
Filters ticker client registrant quarter from to min_/max_ sort fields format limit offset
Fields id, ticker, client, registrant, amount, year, quarter, date, issues, description, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/lobbying?limit=20"GET/v1/contractsU.S. federal government contract awards (USAspending) matched to public companies.
Filters ticker agency recipient from to min_/max_ sort fields format limit offset
Fields id, ticker, recipient, amount, agency, sub_agency, date, description, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/contracts?limit=20"GET/v1/legislationBills in the U.S. Congress with the latest action (Congress.gov).
Filters q type chamber from to min_/max_ sort fields format limit offset
Fields id, congress, type, number, title, chamber, latest_action, latest_action_date, updated, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/legislation?limit=20"GET/v1/elections2026 midterm candidates for the Senate and House: money raised, spent and cash on hand (FEC).
Filters state office party name from to min_/max_ sort fields format limit offset
Fields id, cycle, name, party, office, state, district, status, receipts, disbursements, cash_on_hand, coverage_end
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/elections?limit=20"GET/v1/corporate-pacsCorporate PACs matched to public companies and how much they gave to federal candidates (FEC).
Filters ticker committee min_/max_ sort fields format limit offset
Fields id, cycle, committee, ticker, receipts, disbursements, to_candidates, cash_on_hand
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/corporate-pacs?limit=20"GET/v1/government-spendingU.S. federal agency budgets, obligations and outlays (USAspending).
Filters agency year min_/max_ sort fields format limit offset
Fields code, agency, abbreviation, fiscal_year, budget_authority, obligated, outlays, share_of_budget
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/government-spending?limit=20"GET/v1/committeesCurrent congressional committee membership.
Filters member committee min_/max_ sort fields format limit offset
Fields bioguide, member, chamber, committee_id, committee, title, rank
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/committees?limit=20"GET/v1/dc-insider-scoreBourse DC Insider Score 0-100: Congress net buying, lobbying growth and new government contracts. (Premium keys only.)
Filters ticker min_/max_ sort fields format limit offset
Fields ticker, score, congress_net, lobbying_growth, contracts_90d, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/dc-insider-score?limit=20"GET/v1/senateStock trades disclosed by U.S. Senators.
Filters ticker member party type from to min_/max_ sort fields format limit offset
Fields member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/senate?limit=20"GET/v1/houseStock trades disclosed by members of the U.S. House of Representatives.
Filters ticker member party type from to min_/max_ sort fields format limit offset
Fields member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/house?limit=20"GET/v1/trump-tradesPresident Donald Trump's securities transactions from OGE Form 278-T periodic transaction reports (stocks, ETFs, bonds), with amount ranges.
Filters ticker type asset_class q from to min_/max_ sort fields format limit offset
Fields id, person, asset, ticker, type, asset_class, date, amount_min, amount_max, filed, filed_late, report_url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/trump-trades?limit=20"GET/v1/revolving-doorFormer government officials and congressional staff lobbying for public companies ("covered positions" in LD-2 reports).
Filters ticker lobbyist position client quarter from to min_/max_ sort fields format limit offset
Fields id, ticker, client, registrant, lobbyist, former_position, new_lobbyist, year, quarter, date, issues, agencies, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/revolving-door?limit=20"GET/v1/warn-layoffsWARN Act mass layoff and plant closure notices from U.S. states, matched to public companies where possible.
Filters ticker state company from to min_/max_ sort fields format limit offset
Fields id, state, company, company_canonical, ticker, city, employees, notice_date, effective_date, type, source
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/warn-layoffs?limit=20"GET/v1/cabinet-tradesStock trades of Cabinet secretaries, agency heads, Federal Reserve governors and White House advisers from OGE Form 278-T reports.
Filters ticker person agency group type from to min_/max_ sort fields format limit offset
Fields id, person, position, agency, group, asset, ticker, type, asset_class, date, amount_min, amount_max, filed, published, filed_late, report_url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cabinet-trades?limit=20"Insiders & institutions
SEC Form 4 insider trades, 13F holdings of famous investors, 13D/G stakes, ETF holdings.
GET/v1/insidersInsider transactions from SEC Form 4 (code P = open-market purchase, S = sale), with 1-day and 1-month returns after the trade.
Filters ticker insider title code from to min_/max_ sort fields format limit offset
Fields ticker, company_name, insider_name, insider_title, is_officer, transaction_code, shares_amount, price_per_share, total_value, shares_owned_after, transaction_date, return_1d, return_1m
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insiders?limit=20"GET/v1/funds13fHoldings of large investment managers from SEC Form 13F filings.
Filters fund company from to min_/max_ sort fields format limit offset
Fields fund, company, value_usd, shares, filing_date
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/funds13f?limit=20"GET/v1/whalesLarge-stake filings (SEC Schedule 13D and 13G): who crossed 5% ownership in a company.
Filters ticker investor form from to min_/max_ sort fields format limit offset
Fields id, date, form, company, company_cik, ticker, investor, investor_cik, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/whales?limit=20"GET/v1/executive-compensationCEO (PEO) total compensation from Pay-versus-Performance XBRL disclosures.
Filters ticker year company min_/max_ sort fields format limit offset
Fields cik, company, ticker, year, ceo_total_comp_usd, period_end, accession
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/executive-compensation?limit=20"GET/v1/investor-13fHoldings history of famous investors (Buffett, Burry, Ackman, Marks, Gates...) from 13F filings.
Filters investor ticker from to min_/max_ sort fields format limit offset
Fields investor, cik, filed, issuer, ticker, value_usd, shares
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/investor-13f?limit=20"GET/v1/etf-holdingsDaily holdings of ARK and iShares ETFs.
Filters etf ticker from to min_/max_ sort fields format limit offset
Fields etf, date, ticker, name, weight_pct, market_value, shares
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/etf-holdings?limit=20"GET/v1/stock-splitsUpcoming and recent stock splits and reverse splits.
Filters ticker from to min_/max_ sort fields format limit offset
Fields ticker, name, ratio, factor, date, announced
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stock-splits?limit=20"GET/v1/form-144SEC Form 144 notices of proposed sales by insiders: shares, market value, approximate sale date and 10b5-1 plan adoption date.
Filters ticker insider relationship from to min_/max_ sort fields format limit offset
Fields id, filed, ticker, company, company_cik, insider, insider_cik, relationship, security, shares, market_value, approx_sale_date, plan_10b5_1_adopted, exchange, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/form-144?limit=20"GET/v1/corporate-eventsSEC 8-K current reports by item: leadership changes, auditor changes, restatements, bankruptcy, delisting notices, completed M&A, cyber incidents.
Filters ticker category from to min_/max_ sort fields format limit offset
Fields id, filed, ticker, company, cik, form, items, categories, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/corporate-events?limit=20"GET/v1/late-filingsLate filing notices (NT 10-K, NT 10-Q, NT 20-F): companies that missed their report deadline.
Filters ticker form from to min_/max_ sort fields format limit offset
Fields id, filed, ticker, company, cik, form, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/late-filings?limit=20"Wall Street
Analyst consensus and rating changes, earnings and dividend calendars.
GET/v1/analystsWall Street analyst consensus: price targets, rating distribution and number of analysts.
Filters ticker rating min_/max_ sort fields format limit offset
Fields symbol, name, price, target_mean, target_median, target_high, target_low, analysts, rating_mean, rating, strong_buy, buy, hold, sell, strong_sell, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/analysts?limit=20"GET/v1/ratingsAnalyst upgrades, downgrades and initiations by brokerage firm.
Filters ticker firm action from to min_/max_ sort fields format limit offset
Fields symbol, name, firm, from_grade, to_grade, action, date
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ratings?limit=20"GET/v1/earningsUpcoming earnings report dates with EPS estimates.
Filters ticker from to min_/max_ sort fields format limit offset
Fields symbol, name, report_date, eps_estimate, currency
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/earnings?limit=20"GET/v1/dividendsDividends: annual amount, yield, payout ratio, ex-dividend and payment dates.
Filters ticker from to min_/max_ sort fields format limit offset
Fields symbol, name, price, annual_amount, yield_pct, ex_date, pay_date, payout_pct, currency, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/dividends?limit=20"Retail & market
Jim Cramer and CNBC calls, WallStreetBets, Google Trends, Wikipedia, short interest, prediction markets, quotes.
GET/v1/wsbMost-discussed tickers on Reddit r/wallstreetbets: rank, mentions and change over 24 hours.
Filters ticker from to min_/max_ sort fields format limit offset
Fields date, ticker, name, rank, mentions, upvotes, rank_24h_ago, mentions_24h_ago
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/wsb?limit=20"GET/v1/shortvolumeDaily off-exchange short sale volume (FINRA Reg SHO).
Filters ticker from to min_/max_ sort fields format limit offset
Fields date, symbol, short_volume, short_exempt_volume, total_volume
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/shortvolume?limit=20"GET/v1/signalsTechnical snapshot for 700+ instruments: RSI, MACD, moving averages, 52-week range, momentum, volatility and active signals (golden cross, breakouts...).
Filters ticker sector country sentiment type min_/max_ sort fields format limit offset
Fields symbol, name, type, country, sector, price, rsi14, macd_hist, sma20, sma50, sma200, bb_pctb, high_52w, low_52w, from_high_52w_pct, from_low_52w_pct, mom_1m, mom_3m, mom_6m, mom_12m, mom_12_1, chg_1d, chg_5d, volatility_30d, relative_volume, sentiment, signals, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/signals?limit=20"GET/v1/quotesLatest quotes for indices, sector ETFs, stocks, currencies, commodities and crypto tracked by Bourse.
Filters ticker category min_/max_ sort fields format limit offset
Fields symbol, name, price, change_pct, category, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/quotes?limit=20"GET/v1/prediction-marketsLarge trades (over $10,000) on Polymarket prediction markets.
Filters market side wallet from to min_/max_ sort fields format limit offset
Fields id, time, market, slug, outcome, side, amount_usd, price, size, wallet, trader, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/prediction-markets?limit=20"GET/v1/short-interestShort interest (shares sold short, % of float, days to cover) and change vs the prior report.
Filters ticker from to min_/max_ sort fields format limit offset
Fields ticker, date, shares_short, pct_float, days_to_cover, shares_short_prior, change, float_shares
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/short-interest?limit=20"GET/v1/app-ratingsDaily App Store rating and rating count of consumer apps of public companies.
Filters ticker from to min_/max_ sort fields format limit offset
Fields ticker, app_id, date, app, rating, ratings_count, version, version_date
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/app-ratings?limit=20"GET/v1/patentsU.S. patents granted to public companies (PatentsView).
Filters ticker q from to min_/max_ sort fields format limit offset
Fields id, ticker, assignee, title, date
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/patents?limit=20"GET/v1/tv-picksStock calls made on CNBC: Jim Cramer's "Mad Money" (including the lightning round) and guests' "Final Trades" (stance classified by AI).
Filters ticker person show call from to min_/max_ sort fields format limit offset
Fields id, date, show, person, ticker, company, call, reason, url, title
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/tv-picks?limit=20"GET/v1/google-trendsGoogle search interest (0-100, U.S.) for "TICKER stock", daily.
Filters ticker from to min_/max_ sort fields format limit offset
Fields ticker, date, interest
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/google-trends?limit=20"GET/v1/wikipedia-viewsDaily English Wikipedia page views of each company's article.
Filters ticker from to min_/max_ sort fields format limit offset
Fields ticker, date, views
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/wikipedia-views?limit=20"GET/v1/attentionRetail attention snapshot per stock: latest Google Trends level and 7-day spike, Wikipedia views and spike.
Filters ticker min_/max_ sort fields format limit offset
Fields ticker, query, google_latest, google_spike_pct, google_date, wikipedia_article, wikipedia_views_7d, wikipedia_spike_pct, wikipedia_date, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/attention?limit=20"Strategies, macro & news
Backtested strategies with holdings and trades, macro indicators, economic calendar, news and AI briefs.
GET/v1/strategiesBacktested Bourse strategies (Congress, insiders, lobbying, contracts, WSB, analysts, funds): return, Sharpe, drawdown. Add id=... to get the equity curve.
Filters id category min_/max_ sort fields format limit offset
Fields id, category, stats, since, positions, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/strategies?limit=20"GET/v1/economicEconomic calendar: central bank decisions, inflation, jobs and GDP releases for the U.S., euro area and Poland.
Filters region importance category from to min_/max_ sort fields format limit offset
Fields date, time, name, region, category, importance, description
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/economic?limit=20"GET/v1/macroMacro indicators (inflation, rates, unemployment, GDP, PMI...) for the U.S., euro area and Poland, with history.
Filters region code group min_/max_ sort fields format limit offset
Fields code, region, group, name, unit, value, previous, date, previous_date, history, source
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/macro?limit=20"GET/v1/newsMarket news headlines from financial publishers, categorised (macro, markets, companies, crypto, commodities, central banks).
Filters q source category from to min_/max_ sort fields format limit offset
Fields title, summary, source, url, image, category, published_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/news?limit=20"GET/v1/briefThe Bourse AI daily market brief (Premium keys only). (Premium keys only.)
Filters from to min_/max_ sort fields format limit offset
Fields date, headline, content, key_events
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/brief?limit=20"GET/v1/stock-moves"Why is it moving today?" explanations: the news and filings behind a stock's daily move, with sources.
Filters ticker language from to min_/max_ sort fields format limit offset
Fields symbol, day, language, explanation
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stock-moves?limit=20"GET/v1/strategy-holdingsCurrent holdings and trade history of each backtested Bourse strategy (use id from /v1/strategies).
Filters id min_/max_ sort fields format limit offset
Fields id, holdings, trades, updated_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/strategy-holdings?limit=20"GET/v1/ipo-calendarIPO calendar: upcoming IPOs with price range and expected date, priced deals, new S-1/F-1 registrations and withdrawn offerings.
Filters ticker status company from to min_/max_ sort fields format limit offset
Fields id, ticker, company, exchange, price_low, price_high, shares, deal_size_usd, date, status, source, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ipo-calendar?limit=20"GET/v1/treasury-yieldsDaily U.S. Treasury yield curve (1 month to 30 years) with 10Y-2Y and 10Y-3M spreads.
Filters from to min_/max_ sort fields format limit offset
Fields date, yields, spread_10y_2y, spread_10y_3m, source
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/treasury-yields?limit=20"GET/v1/treasury-auctionsU.S. Treasury auctions: upcoming bills, notes and bonds and results (high yield, bid-to-cover, size).
Filters type term from to min_/max_ sort fields format limit offset
Fields id, auction_date, type, term, cusip, offering_amount, high_yield, bid_to_cover, issue_date, maturity_date, announced, has_result
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/treasury-auctions?limit=20"GET/v1/national-debtU.S. total public debt outstanding by day: held by the public and intragovernmental.
Filters from to min_/max_ sort fields format limit offset
Fields date, total_usd, held_by_public_usd, intragovernmental_usd
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/national-debt?limit=20"GET/v1/cot-positioningCFTC Commitments of Traders: speculators' and commercials' futures positions in indices, Treasuries, currencies, gold, oil, bitcoin. Weekly.
Filters code market from to min_/max_ sort fields format limit offset
Fields id, date, code, market, open_interest, spec_long, spec_short, spec_net, commercial_long, commercial_short, commercial_net, spec_long_change, spec_short_change
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cot-positioning?limit=20"Europe
Director dealings (MAR article 19) from Poland, Germany, France and the United Kingdom.
GET/v1/eu-insidersShare dealings by directors and other persons discharging managerial responsibilities (PDMR) at European listed companies, notified under Article 19 of the Market Abuse Regulation: Poland (ESPI, KNF), Germany (BaFin), France (AMF) and the United Kingdom (FCA). Filter country=PL|DE|FR|UK, type=buy|sell|other.
Filters country isin ticker company person type role from to min_/max_ sort fields format limit offset
Fields id, country, regulator, company, isin, lei, ticker, person, role, role_group, type, nature, instrument, price, quantity, value, currency, value_eur, date, published, venue, url
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/eu-insiders?limit=20"Poland
ESPI reports from the Warsaw Stock Exchange, Polish CPI and bank deposits.
GET/v1/espiCurrent reports (ESPI) of companies listed on the Warsaw Stock Exchange, with an AI summary.
Filters company q from to min_/max_ sort fields format limit offset
Fields company, title, summary_ai, published_at
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/espi?limit=20"GET/v1/cpi-plPolish CPI inflation year over year by month (GUS), including flash estimates.
Filters from to min_/max_ sort fields format limit offset
Fields month, yoy_pct, flash, source
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cpi-pl?limit=20"GET/v1/deposits-plBest savings and deposit offers from Polish banks, verified by Bourse.
Filters bank min_/max_ sort fields format limit offset
Fields bank, product, rate_pct, months, min_amount, max_amount, apr_pct, fee_pct, conditions, url, verified_on
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/deposits-pl?limit=20"Analytics
Rankings and scores computed on request: clusters, top buys, Trump’s portfolio, Cramer’s scorecard, lobbying and layoffs leaders, prices and fundamentals.
GET/v1/eu-insider-clustersEuropean listed companies where several different directors (PDMR) bought shares in a window: Poland, Germany, France, UK (MAR art. 19).
Parameters days (default 30) min_insiders (default 2) country: PL, DE, FR, UK limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/eu-insider-clusters"GET/v1/sectorsDaily performance of the 11 S&P 500 sectors (Select Sector SPDR ETFs), best to worst.
Parameters none format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/sectors"GET/v1/moversBiggest gainers and losers today among 700+ tracked instruments.
Parameters type country limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/movers"GET/v1/tickersSearch the instruments Bourse covers by symbol or name.
Parameters q type country limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/tickers"GET/v1/insider-clustersCompanies where several different insiders bought shares on the open market (Form 4 code P) in a window.
Parameters days (default 30) min_insiders (default 3) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insider-clusters"GET/v1/insider-topStocks with the largest total insider open-market buying (or selling with side=sell) in a window.
Parameters days side limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insider-top"GET/v1/congress-topStocks most bought (or sold with side=sell) by members of Congress in a window, by number of trades and members.
Parameters days side limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress-top"GET/v1/congress-membersMembers of Congress ranked by trading activity: trades, buys, sells, last trade, most traded tickers.
Parameters days (default 365) party chamber limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress-members"GET/v1/fund-changesQuarter-over-quarter changes in one 13F filer: new, added, trimmed and exited positions.
Parameters fund (required) format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fund-changes"GET/v1/fund-holdersWhich 13F funds hold a company, from each fund's latest filing, by position value.
Parameters company (required) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fund-holders"GET/v1/pricesDaily closing prices for up to 10 symbols (cached series, live fallback).
Parameters symbols (required, comma-separated) range: 6m,1y,2y,5y,10y,max from to format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/prices"GET/v1/candlesOHLCV candles for one symbol.
Parameters symbol (required) interval: 5m,15m,1h,4h,1d,1wk format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/candles"GET/v1/fundamentalsFundamentals from SEC filings for a U.S. company: revenue, earnings, margins, debt, valuation ratios, history.
Parameters symbol (required) format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fundamentals"GET/v1/fx-nbpOfficial National Bank of Poland exchange rates (table A) for up to 4 currencies over a date range.
Parameters currencies (required, e.g. USD,EUR) from (required) to (required) format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fx-nbp"GET/v1/trump-portfolioEstimated portfolio of President Trump built from his 278-T reports: buys minus sales per asset (range midpoints).
Parameters asset_class: stock, fund, bond limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/trump-portfolio"GET/v1/cramer-scorecardHow Jim Cramer's calls performed: return since each call, hit rate of buy and sell calls, vs SPY.
Parameters days (default 180) person (default Jim Cramer) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cramer-scorecard"GET/v1/lobbying-topBiggest corporate lobbying spenders in a quarter, with change vs the previous quarter.
Parameters quarter (e.g. 2026-Q3, default latest) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/lobbying-top"GET/v1/contracts-topPublic companies with the most new federal contract dollars in a window.
Parameters days (default 90) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/contracts-top"GET/v1/layoffs-topPublic companies with the most employees in WARN layoff notices in a window.
Parameters days (default 90) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/layoffs-top"GET/v1/revolving-door-topCompanies employing the most former officials and congressional staff as lobbyists.
Parameters days (default 365) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/revolving-door-top"GET/v1/convictionBourse Conviction Score: every open-market insider purchase (Form 4, code P) ranked 0-100 by a gradient-boosted model, with reasons and "strongest since".
Parameters min_score (0-100) ticker days (default 30) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/conviction"GET/v1/coincidencesCoincidence Tracker: Congress trades next to federal contracts for the same company, with committee seats, lobbying and the price move after the award.
Parameters ticker member committee_match (true) days (default 365) limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/coincidences"GET/v1/stress-testPortfolio stress test (API Pro, Enterprise, Pay-as-you-go): VaR/CVaR, Monte Carlo, 2008/2018/2020/2022/2025 scenarios, market and rate shocks, concentration, hedges.
Parameters portfolio (required, e.g. AAPL:40,MSFT:30,TLT:30) value (USD, default 100000) format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stress-test"GET/v1/symbologyIdentifier mapping: ticker, CIK, CUSIP, ISIN and FIGI for one security.
Parameters ticker cusip isin figi cik format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/symbology"GET/v1/insights1-Click Insights: every Bourse strategy with historical return, CAGR, maximum drawdown and a drawdown risk label (Low, Medium, High).
Parameters category limit format
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insights"Profiles, strategies and account
One request for a whole ticker, one strategy in full, bulk exports and your usage.
GET/v1/ticker/{SYMBOL}Everything Bourse knows about one ticker: Congress, insiders, Trump, 13F, lobbying, TV picks, attention, analysts and more.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ticker/NVDA"GET/v1/strategies/{id}One backtested strategy: description, stats, equity curve, holdings, trades and (Premium) upcoming trades.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/strategies/cramer-odwrotny"GET/v1/bulk/{dataset}Premium: up to 50,000 rows of any dataset as CSV or NDJSON, with the same filters.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/bulk/congress"GET/v1/usageYour plan, limits, requests today and over the last 30 days.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/usage"Plug it into everything.
AI assistants, automations, Python.
Let your AI assistant query Bourse directly. Add a custom connector (remote MCP server) with this URL and your key:
https://api.bourse.pl/mcp?key=bk_your_keyOr send the key as Authorization: Bearer bk_…. Tools: list_datasets, query_dataset, ticker_profile, run_analytics, get_strategy, account_usage. Ask things like “Which insiders bought NVDA this month?” Same limits as your plan.
Premium and API Pro: add up to 5 HTTPS endpoints in the app (Settings → Webhooks). Every 5 minutes we POST new Congress, insider, Trump, Cabinet and Form 144 filings, optionally only for your tickers. Each request is signed:
Bourse-Signature: t=1762790400,v1=<hex>
# v1 = HMAC-SHA256(secret, "<t>." + raw_body)Verify in Python with Bourse.verify_webhook(secret, header, body).
The official package on PyPI. It pages through results, retries on 429 and 5xx, and returns pandas DataFrames:
pip install bourse-quant
import bourse
df = bourse.get_insider_trades("NVDA")
congress = bourse.get_congress_trades(ticker="LMT", since="2025-01-01")
files = bourse.download_bulk("congress", format="parquet") # EnterpriseAsync client included (bourse.AsyncClient). Source: GitHub.
Backtest before you go live. Every night each dataset is written to whole-history files. API Pro gets gzipped CSV and NDJSON; Enterprise also gets Parquet (Snappy, loads into pandas or Polars in seconds) served from Amazon S3 through pre-signed URLs valid for one hour.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/exports"
# {"data": [{"dataset": "congress", "format": "parquet",
# "url": "https://...s3.amazonaws.com/bulk/congress/congress-000.parquet?X-Amz-..."}]}Uptime is measured every 5 minutes for the REST API, the MCP server, the website, the database and the data pipelines, and published with 90 days of history at status.bourse.pl. Enterprise includes a 99.9% monthly uptime commitment with service credits (SLA terms).
curl https://api.bourse.pl/statusPrefer one bill? Bourse is listed on RapidAPI (free BASIC plan: 50 requests per 30 days, delayed data) and the Bourse Agent is sold through AWS Marketplace. Same data, same field names.
Free to start.
Pro when it is your business.
- 1,000 requests a day, 60 a minute
- Event data delayed 48 hours
- JSON, CSV, OpenAPI, Python package
- Personal, non-commercial use
- No monthly minimum, card on file
- Live data, no delay
- Commercial license, API Pro limits
- Usage reported to Stripe daily, billed monthly
- 250,000 requests a day, 600 a minute
- Nightly bulk files (CSV, NDJSON)
- Stress-test API, webhooks, 10 keys
- Commercial license, invoice with VAT ID
- 1,000,000 requests a day, 1,200 a minute
- Full history in Parquet on Amazon S3
- 99.9% uptime SLA with service credits
- Everything in API Pro, priority support
Prices in U.S. dollars. Over a limit you get HTTP 429. Errors look like {"error": {"code": "...", "message": "..."}}. Need a custom feed or Snowflake delivery? Write to us.
Questions developers ask.
Is the Bourse API free?
There is a free key with 1,000 requests a day for personal use; event data on the free plan is delayed by 48 hours. For live data and commercial use choose Pay-as-you-go ($1 per 1,000 requests, no minimum), API Pro ($499 a month) or Enterprise ($1,000 a month with Parquet history on S3 and a 99.9% uptime SLA). All prices are in U.S. dollars.
How do I know when a filing became public?
Every record has filed_at_source_timestamp (when the SEC, the House, the Senate or another source published it; null when the source gives no time) and processed_by_bourse_timestamp (when Bourse stored it). Filter on these to avoid look-ahead bias in backtests.
Do records include CUSIP, ISIN and FIGI?
Yes. Every record with a ticker carries cik, cusip, isin and figi. CIK comes from the SEC, CUSIP from Form 13F filings, ISIN is computed from the CUSIP and FIGI comes from OpenFIGI. /v1/symbology looks up one security by any of these identifiers.
What is the Bourse Conviction Score?
A 0-100 rank of every open-market insider purchase from a gradient-boosted model trained on Bourse Form 4 data: role, size, change in holdings, clusters of insiders, distance from the 52-week low and recent selling. /v1/conviction returns the score with the reasons. It is a statistical ranking, not advice.
Is there a status page and an SLA?
Yes. status.bourse.pl shows measured uptime and latency for the API, the MCP server, the website, the database and the data pipelines, with 90 days of history. Enterprise includes a 99.9% monthly uptime SLA with service credits.
Can I use the data in my product, fund or newsletter?
Yes, with API Pro: it includes a commercial license to use and redistribute the data in your own products, with credit to Bourse. Free and Premium keys are for personal use. Need a custom feed or delivery to S3 or Snowflake? Write to us.
Does Bourse work with Claude, ChatGPT or Cursor?
Yes. Add https://api.bourse.pl/mcp?key=bk_your_key as a remote MCP server (custom connector) and your assistant can query every dataset, ticker profile and strategy.
Do you have webhooks?
Yes, for Premium and API Pro. New Congress, insider, Trump, Cabinet and Form 144 filings are POSTed to your HTTPS endpoint every 5 minutes, signed with HMAC-SHA256. Works with n8n, Zapier and Make.
How do I get an API key?
Click “Get your free key”, sign in or create a free account, and the app opens Settings → API key. Generate the key and copy it: for security it is shown only once.
What data does the Bourse API cover?
57 datasets and 25 analytics endpoints: Congress, Senate and House stock trades, President Trump’s 278-T transactions, SEC Form 4 insider trades, 13F holdings, 13D/G stakes, lobbying and the revolving door, government contracts, WARN layoffs, Jim Cramer and CNBC picks, Google Trends, Wikipedia views, WallStreetBets, short interest, prediction markets, analyst ratings, earnings, dividends, macro data, news and backtested strategies.
Is there a Congress trading API and an insider trading API?
Yes. /v1/congress, /v1/senate and /v1/house return STOCK Act disclosures with price at trade and performance since; /v1/insiders returns Form 4 purchases and sales and /v1/insider-clusters finds companies where several insiders buy at once.
Can I get Trump’s stock trades and Jim Cramer’s picks?
/v1/trump-trades lists the President’s transactions from his OGE 278-T reports and /v1/trump-portfolio estimates his portfolio. /v1/tv-picks has Jim Cramer’s Mad Money calls and CNBC final trades, and /v1/cramer-scorecard shows how they performed against SPY.
Can I download CSV?
Add format=csv to any dataset or analytics request. Premium keys can export up to 50,000 rows at once from /v1/bulk/{dataset}.
Is there an OpenAPI spec or SDK?
The OpenAPI 3.1 spec is at api.bourse.pl/v1/openapi.json (no key needed) and the reference with webhooks is at docs.bourse.pl. The Python package installs with pip install bourse-quant.
Where does the data come from?
Public sources: SEC EDGAR, House and Senate disclosures, the Office of Government Ethics, the Senate Lobbying Disclosure Act database, USAspending, FEC, state WARN notices (via WARN Feed, CC BY 4.0), CNBC, Google Trends and Wikimedia. Please credit Bourse (bourse.pl) when you publish it. It is not investment advice.