BourseAPI
Menu
Radar
Pricing
Developers / API

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.

SEC EDGARHouse & SenateOGE 278-TSenate LDAUSAspendingCNBCGoogle TrendsWikimedia REST · JSONCSV exportOpenAPI 3.1Python clientPer-ticker pathsBulk download

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.

Your first request
in a minute.

  1. Get a key. Sign in and open Settings → API key. It is free.
  2. Send it as Authorization: Bearer bk_… or X-API-Key.
  3. Call any endpoint. JSON by default, format=csv when 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.csv
pip 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);
200 OK · application/json
{
  "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.

One ticker, one path

/v1/{dataset}/{TICKER} on every dataset with tickers, and /v1/ticker/NVDA for everything at once.

JSON or CSV

Add format=csv to any request and open it in Excel or Google Sheets.

Sort, pick, filter

sort=-amount, fields=ticker,date and ranges like min_employees=500.

Paging that just works

Every response has a next link and a Link header.

OpenAPI 3.1

openapi.json for Postman, Insomnia and code generators.

Point-in-time timestamps

Every record has filed_at_source_timestamp and processed_by_bourse_timestamp, so backtests see only what was public at the time.

Identifiers on every row

Rows with a ticker carry cik, cusip, isin and figi. Join to your security master without a lookup table.

Python package

pip install bourse-quant: pagination, retries and pandas DataFrames, so bourse.get_insider_trades("NVDA") is one line.

Bulk history

API Pro: nightly CSV and NDJSON files. Enterprise: Parquet files on Amazon S3 with pre-signed URLs.

Never cached

Data responses are sent with Cache-Control: no-store: no edge cache between you and the database.

Usage you can see

/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/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.

MCP server for Claude, ChatGPT and Cursor

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_key

Or 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.

Webhooks for n8n, Zapier and Make

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).

Python: bourse-quant

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")   # Enterprise

Async client included (bourse.AsyncClient). Source: GitHub.

Bulk history: CSV, NDJSON, Parquet

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-..."}]}
Status and SLA

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/status
RapidAPI and AWS Marketplace

Prefer 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.

Free key$0
  • 1,000 requests a day, 60 a minute
  • Event data delayed 48 hours
  • JSON, CSV, OpenAPI, Python package
  • Personal, non-commercial use
Get your free key
Pay-as-you-go$1 / 1,000 requests
  • No monthly minimum, card on file
  • Live data, no delay
  • Commercial license, API Pro limits
  • Usage reported to Stripe daily, billed monthly
Start pay-as-you-go
API Pro$499 / month
  • 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
See API Pro
Enterprise$1,000 / month
  • 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
Talk to us

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.

Stop scraping PDFs.
Start shipping.