Bourse
Developers

Bourse API

Congress trades, insider trades, 13F and 13D/13G filings, lobbying, government contracts, analyst ratings, WallStreetBets, short volume, technical signals, strategies, macro and news as clean JSON. One key, 38 endpoints, free to start.

Getting set up

  1. Get a key. Sign in to Bourse (web or Android) and open Settings → API key → Generate key. Copy it right away: for security we only show it once.
  2. Send it with every request in the Authorization: Bearer bk_… header (or X-API-Key).
  3. Call an endpoint. All endpoints are GET https://api.bourse.pl/v1/<dataset> and return JSON.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insiders?ticker=NVDA&code=P&limit=20"

Python

import os, requests

r = requests.get(
    "https://api.bourse.pl/v1/congress",
    headers={"Authorization": f"Bearer {os.environ['BOURSE_KEY']}"},
    params={"ticker": "NVDA", "from": "2026-01-01", "limit": 100},
    timeout=30,
)
r.raise_for_status()
for t in r.json()["data"]:
    print(t["transaction_date"], t["member"], t["transaction_type"], t["amount_range"])

JavaScript

const r = await fetch("https://api.bourse.pl/v1/funds13f?fund=berkshire&limit=50", {
  headers: { Authorization: `Bearer ${process.env.BOURSE_KEY}` },
});
const { data } = await r.json();
console.table(data);

Common parameters

ParameterMeaning
limitRows per request, 1–1000 (default 100)
offsetSkip rows for paging (default 0)
from, toDate range, YYYY-MM-DD (on the dataset's main date)

Responses look like {"dataset": "...", "count": 20, "total_estimate": 1534, "limit": 20, "offset": 0, "data": [...]}. Newest records come first.

One ticker, everything

GET https://api.bourse.pl/v1/ticker/{SYMBOL} returns every dataset for one company in a single request (counts as one request): Congress and insider trades, 13D/13G stakes, lobbying, contracts, analyst consensus and rating changes, earnings, dividends, WallStreetBets mentions, short volume, technical signals and the latest quote.

curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ticker/NVDA"

All endpoints (38)

24 raw datasets you can filter and page through, 13 analytics endpoints computed on request (rankings, clusters, fund changes, live prices) and the one-call ticker profile above. GET https://api.bourse.pl/v1 returns this list as JSON.

Analytics (13)

EndpointWhat it returnsParameters
/v1/sectorsDaily performance of the 11 S&P 500 sectors (Select Sector SPDR ETFs), best to worst.–
/v1/moversBiggest gainers and losers today among 700+ tracked instruments.type, country, limit
/v1/tickersSearch the instruments Bourse covers by symbol or name.q, type, country, limit
/v1/insider-clustersCompanies where several different insiders bought shares on the open market (Form 4 code P) in a window.days (default 30), min_insiders (default 3), limit
/v1/insider-topStocks with the largest total insider open-market buying (or selling with side=sell) in a window.days, side, limit
/v1/congress-topStocks most bought (or sold with side=sell) by members of Congress in a window, by number of trades and members.days, side, limit
/v1/congress-membersMembers of Congress ranked by trading activity: trades, buys, sells, last trade, most traded tickers.days (default 365), party, chamber, limit
/v1/fund-changesQuarter-over-quarter changes in one 13F filer: new, added, trimmed and exited positions.fund (required)
/v1/fund-holdersWhich 13F funds hold a company, from each fund's latest filing, by position value.company (required), limit
/v1/pricesDaily closing prices for up to 10 symbols (cached series, live fallback).symbols (required, comma-separated), range: 6m,1y,2y,5y,10y,max, from, to
/v1/candlesOHLCV candles for one symbol.symbol (required), interval: 5m,15m,1h,4h,1d,1wk
/v1/fundamentalsFundamentals from SEC filings for a U.S. company: revenue, earnings, margins, debt, valuation ratios, history.symbol (required)
/v1/fx-nbpOfficial National Bank of Poland exchange rates (table A) for up to 4 currencies over a date range.currencies (required, e.g. USD,EUR), from (required), to (required)
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insider-clusters?days=30&min_insiders=3"
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fund-changes?fund=berkshire"
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress-top?days=90&side=buy"

Datasets (24)

EndpointWhat it is
/v1/congress
Washington
Stock trades disclosed by members of the U.S. Congress (STOCK Act periodic transaction reports), with price at trade and performance since.
/v1/lobbying
Washington
Federal lobbying disclosures (Lobbying Disclosure Act reports) matched to public companies.
/v1/contracts
Washington
U.S. federal government contract awards (USAspending) matched to public companies.
/v1/insiders
Insiders & institutions
Insider transactions from SEC Form 4 (code P = open-market purchase, S = sale), with 1-day and 1-month returns after the trade.
/v1/funds13f
Insiders & institutions
Holdings of large investment managers from SEC Form 13F filings.
/v1/whales
Insiders & institutions
Large-stake filings (SEC Schedule 13D and 13G): who crossed 5% ownership in a company.
/v1/analysts
Wall Street
Wall Street analyst consensus: price targets, rating distribution and number of analysts.
/v1/ratings
Wall Street
Analyst upgrades, downgrades and initiations by brokerage firm.
/v1/earnings
Wall Street
Upcoming earnings report dates with EPS estimates.
/v1/dividends
Wall Street
Dividends: annual amount, yield, payout ratio, ex-dividend and payment dates.
/v1/wsb
Retail & market
Most-discussed tickers on Reddit r/wallstreetbets: rank, mentions and change over 24 hours.
/v1/shortvolume
Retail & market
Daily off-exchange short sale volume (FINRA Reg SHO).
/v1/signals
Retail & market
Technical snapshot for 700+ instruments: RSI, MACD, moving averages, 52-week range, momentum, volatility and active signals (golden cross, breakouts...).
/v1/quotes
Retail & market
Latest quotes for indices, sector ETFs, stocks, currencies, commodities and crypto tracked by Bourse.
/v1/strategies
Strategies, macro & news
Backtested Bourse strategies (Congress, insiders, lobbying, contracts, WSB, analysts, funds): return, Sharpe, drawdown. Add id=... to get the equity curve.
/v1/economic
Strategies, macro & news
Economic calendar: central bank decisions, inflation, jobs and GDP releases for the U.S., euro area and Poland.
/v1/macro
Strategies, macro & news
Macro indicators (inflation, rates, unemployment, GDP, PMI...) for the U.S., euro area and Poland, with history.
/v1/news
Strategies, macro & news
Market news headlines from financial publishers, categorised (macro, markets, companies, crypto, commodities, central banks).
/v1/brief
Strategies, macro & news
The Bourse AI daily market brief (Premium keys only). (Premium keys only.)
/v1/stock-moves
Strategies, macro & news
"Why is it moving today?" explanations: the news and filings behind a stock's daily move, with sources.
/v1/strategy-holdings
Strategies, macro & news
Current holdings and trade history of each backtested Bourse strategy (use id from /v1/strategies).
/v1/espi
Poland
Current reports (ESPI) of companies listed on the Warsaw Stock Exchange, with an AI summary.
/v1/cpi-pl
Poland
Polish CPI inflation year over year by month (GUS), including flash estimates.
/v1/deposits-pl
Poland
Best savings and deposit offers from Polish banks, verified by Bourse.

GET https://api.bourse.pl/v1/congress

Stock 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, limit, offset

Fields: member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url

GET https://api.bourse.pl/v1/lobbying

Federal lobbying disclosures (Lobbying Disclosure Act reports) matched to public companies.

Filters: ticker, client, registrant, quarter, from, to, limit, offset

Fields: id, ticker, client, registrant, amount, year, quarter, date, issues, description, url

GET https://api.bourse.pl/v1/contracts

U.S. federal government contract awards (USAspending) matched to public companies.

Filters: ticker, agency, recipient, from, to, limit, offset

Fields: id, ticker, recipient, amount, agency, sub_agency, date, description, url

GET https://api.bourse.pl/v1/insiders

Insider 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, 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

GET https://api.bourse.pl/v1/funds13f

Holdings of large investment managers from SEC Form 13F filings.

Filters: fund, company, from, to, limit, offset

Fields: fund, company, value_usd, shares, filing_date

GET https://api.bourse.pl/v1/whales

Large-stake filings (SEC Schedule 13D and 13G): who crossed 5% ownership in a company.

Filters: ticker, investor, form, from, to, limit, offset

Fields: id, date, form, company, company_cik, ticker, investor, investor_cik, url

GET https://api.bourse.pl/v1/analysts

Wall Street analyst consensus: price targets, rating distribution and number of analysts.

Filters: ticker, rating, 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

GET https://api.bourse.pl/v1/ratings

Analyst upgrades, downgrades and initiations by brokerage firm.

Filters: ticker, firm, action, from, to, limit, offset

Fields: symbol, name, firm, from_grade, to_grade, action, date

GET https://api.bourse.pl/v1/earnings

Upcoming earnings report dates with EPS estimates.

Filters: ticker, from, to, limit, offset

Fields: symbol, name, report_date, eps_estimate, currency

GET https://api.bourse.pl/v1/dividends

Dividends: annual amount, yield, payout ratio, ex-dividend and payment dates.

Filters: ticker, from, to, limit, offset

Fields: symbol, name, price, annual_amount, yield_pct, ex_date, pay_date, payout_pct, currency, updated_at

GET https://api.bourse.pl/v1/wsb

Most-discussed tickers on Reddit r/wallstreetbets: rank, mentions and change over 24 hours.

Filters: ticker, from, to, limit, offset

Fields: date, ticker, name, rank, mentions, upvotes, rank_24h_ago, mentions_24h_ago

GET https://api.bourse.pl/v1/shortvolume

Daily off-exchange short sale volume (FINRA Reg SHO).

Filters: ticker, from, to, limit, offset

Fields: date, symbol, short_volume, short_exempt_volume, total_volume

GET https://api.bourse.pl/v1/signals

Technical 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, 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

GET https://api.bourse.pl/v1/quotes

Latest quotes for indices, sector ETFs, stocks, currencies, commodities and crypto tracked by Bourse.

Filters: ticker, category, limit, offset

Fields: symbol, name, price, change_pct, category, updated_at

GET https://api.bourse.pl/v1/strategies

Backtested Bourse strategies (Congress, insiders, lobbying, contracts, WSB, analysts, funds): return, Sharpe, drawdown. Add id=... to get the equity curve.

Filters: id, category, limit, offset

Fields: id, category, stats, since, positions, updated_at

GET https://api.bourse.pl/v1/economic

Economic calendar: central bank decisions, inflation, jobs and GDP releases for the U.S., euro area and Poland.

Filters: region, importance, category, from, to, limit, offset

Fields: date, time, name, region, category, importance, description

GET https://api.bourse.pl/v1/macro

Macro indicators (inflation, rates, unemployment, GDP, PMI...) for the U.S., euro area and Poland, with history.

Filters: region, code, group, limit, offset

Fields: code, region, group, name, unit, value, previous, date, previous_date, history, source

GET https://api.bourse.pl/v1/news

Market news headlines from financial publishers, categorised (macro, markets, companies, crypto, commodities, central banks).

Filters: q, source, category, from, to, limit, offset

Fields: title, summary, source, url, image, category, published_at

GET https://api.bourse.pl/v1/brief

The Bourse AI daily market brief (Premium keys only). (Premium keys only.)

Filters: from, to, limit, offset

Fields: date, headline, content, key_events

GET https://api.bourse.pl/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, limit, offset

Fields: symbol, day, language, explanation

GET https://api.bourse.pl/v1/strategy-holdings

Current holdings and trade history of each backtested Bourse strategy (use id from /v1/strategies).

Filters: id, limit, offset

Fields: id, holdings, trades, updated_at

GET https://api.bourse.pl/v1/espi

Current reports (ESPI) of companies listed on the Warsaw Stock Exchange, with an AI summary.

Filters: company, q, from, to, limit, offset

Fields: company, title, summary_ai, published_at

GET https://api.bourse.pl/v1/cpi-pl

Polish CPI inflation year over year by month (GUS), including flash estimates.

Filters: from, to, limit, offset

Fields: month, yoy_pct, flash, source

GET https://api.bourse.pl/v1/deposits-pl

Best savings and deposit offers from Polish banks, verified by Bourse.

Filters: bank, limit, offset

Fields: bank, product, rate_pct, months, min_amount, max_amount, apr_pct, fee_pct, conditions, url, verified_on

Limits and plans

PlanRequests per dayPer minute
Free account1,00060
Bourse Premium20,00060

Over the limit you get HTTP 429. Errors come as {"error": {"code": "...", "message": "..."}} with codes such as missing_api_key, invalid_api_key, unknown_dataset, bad_date, rate_limited and daily_limit.

Terms

The data comes from public U.S. government sources (SEC EDGAR, House and Senate disclosures, Senate LDA, USAspending). Please credit Bourse (bourse.pl) when you publish it. Disclosures can arrive weeks after a trade, so this is not real-time trading data and not investment advice. Need higher limits or bulk history? Email bourse.official@gmail.com.

See these filings as they land

Bourse collects Congress trades, SEC Form 4 insider filings and 13F fund holdings in one live feed, and flags insider buying clusters automatically. Free to start.