Bourse API reference
REST API at https://api.bourse.pl/v1, version 1.3.0. JSON by default, CSV with format=csv. The machine-readable OpenAPI 3.1 document is at api.bourse.pl/v1/openapi.json (import into Postman, Insomnia or a code generator). Service status: status.bourse.pl.
Authentication
Send your key in a header. Get a free key in the Bourse app: Settings, API key.
Authorization: Bearer bk_...
# or
X-API-Key: bk_...Plans and rate limits
| Plan | Per minute | Per day | Data | Price |
|---|---|---|---|---|
| Free key | 60 | 1,000 | event data delayed 48 h | $0 |
| RapidAPI BASIC | - | 50 per 30 days | delayed 48 h | $0 |
| Premium | 60 | 20,000 | live | $14.99 / month |
| Pay-as-you-go | 600 | 250,000 | live, commercial license | $1 / 1,000 requests |
| API Pro | 600 | 250,000 | live, nightly CSV/NDJSON files | $499 / month |
| Enterprise | 1,200 | 1,000,000 | live, Parquet history on S3, 99.9% SLA | $1,000 / month |
Every response has X-Bourse-Plan, X-RateLimit-Limit-Day and X-RateLimit-Remaining-Day; delayed responses add X-Bourse-Data-Delay: 48h. Over a limit you get HTTP 429. Data responses are sent with Cache-Control: no-store: there is no edge cache between you and the database.
Timestamps and identifiers in every record
filed_at_source_timestamp | When the source published the filing: SEC acceptance time for Form 4, disclosure date for Congress, report date for OGE 278-T. null when the source gives no time. |
processed_by_bourse_timestamp | When Bourse stored the record (UTC). The difference between the two is the processing delay. |
cik, cusip, isin, figi | On every record with a ticker. CIK from the SEC, CUSIP from Form 13F filings, ISIN computed from the CUSIP, FIGI from OpenFIGI. Look up one security with /v1/symbology. |
{
"ticker": "NVDA", "transaction_code": "P", "total_value": 1250000,
"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"
}Errors
{"error": {"code": "daily_limit", "message": "Daily limit of 1000 requests reached", "docs": "https://www.bourse.pl/api/"}}Codes: missing_api_key, invalid_api_key, rate_limited, daily_limit, monthly_limit, premium_only, plan_required, bad_fields, bad_date, unknown_endpoint, upstream_error.
Python: bourse-quant
pip install bourse-quant
import bourse
df = bourse.get_insider_trades("NVDA")
top = bourse.get_conviction(min_score=90)
risk = bourse.stress_test({"AAPL": 40, "MSFT": 30, "TLT": 30})Pagination, retries on 429 and 5xx, pandas DataFrames with parsed timestamps, and an asyncio client.
Bulk history
Every night each dataset is written to whole-history files. GET /v1/exports returns pre-signed URLs valid for one hour: gzipped CSV and NDJSON for API Pro; Parquet (Snappy, 250,000 rows per part) from Amazon S3 for Enterprise.
curl -H "Authorization: Bearer $BOURSE_KEY" https://api.bourse.pl/v1/exportsWebhooks
Premium, API Pro, Pay-as-you-go and Enterprise accounts can register up to 5 HTTPS endpoints in the app (Settings, API, Webhooks). Every 5 minutes Bourse POSTs new filings of the chosen types, optionally only for your tickers. Each request carries Bourse-Signature: t=<unix>,v1=<hex>, an HMAC-SHA256 of "<t>." + raw body with your webhook secret.
| Event | Description |
|---|---|
congress | New Congress trade disclosures (STOCK Act). |
insiders | New SEC Form 4 open-market purchases and sales. |
trump | New transactions from President Trump OGE 278-T reports. |
cabinet | New transactions of Cabinet members, Fed governors and White House staff. |
form144 | New Form 144 notices of proposed insider sales. |
POST https://your-server.example/bourse
Bourse-Signature: t=1762870000,v1=5f2b...
{"id": "6f1c2c1e-...", "created": "2026-11-11T14:05:00Z", "count": 1,
"events": [{"type": "insiders", "at": "2026-11-11T14:03:12Z",
"data": {"ticker": "NVDA", "insider": "...", "side": "buy", "value": 120500}}],
"source": "Bourse (bourse.pl)"}
# Python
import bourse
ok = bourse.verify_webhook(secret, headers["Bourse-Signature"], raw_body)Washington
GET/v1/congress
Stock trades disclosed by members of the U.S. Congress (STOCK Act periodic transaction reports), with price at trade and performance since.
Fields: member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
member | query | Filter by member. |
chamber | query | Filter by chamber. |
party | query | Filter by party. |
type | query | Filter by type. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (member, chamber, party, ticker, asset, transaction_type...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress"GET/v1/congress/{ticker}
Stock trades disclosed by members of the U.S. Congress (STOCK Act periodic transaction reports), with price at trade and performance since. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
member | query | Filter by member. |
chamber | query | Filter by chamber. |
party | query | Filter by party. |
type | query | Filter by type. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (member, chamber, party, ticker, asset, transaction_type...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress/NVDA"GET/v1/lobbying
Federal lobbying disclosures (Lobbying Disclosure Act reports) matched to public companies.
Fields: id, ticker, client, registrant, amount, year, quarter, date, issues, description, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
client | query | Filter by client. |
registrant | query | Filter by registrant. |
quarter | query | Filter by quarter. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, client, registrant, amount, year...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/lobbying"GET/v1/lobbying/{ticker}
Federal lobbying disclosures (Lobbying Disclosure Act reports) matched to public companies. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
client | query | Filter by client. |
registrant | query | Filter by registrant. |
quarter | query | Filter by quarter. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, client, registrant, amount, year...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/lobbying/NVDA"GET/v1/contracts
U.S. federal government contract awards (USAspending) matched to public companies.
Fields: id, ticker, recipient, amount, agency, sub_agency, date, description, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
agency | query | Filter by agency. |
recipient | query | Filter by recipient. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, recipient, amount, agency, sub_agency...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/contracts"GET/v1/contracts/{ticker}
U.S. federal government contract awards (USAspending) matched to public companies. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
agency | query | Filter by agency. |
recipient | query | Filter by recipient. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, recipient, amount, agency, sub_agency...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/contracts/NVDA"GET/v1/senate
Stock trades disclosed by U.S. Senators.
Fields: member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
member | query | Filter by member. |
party | query | Filter by party. |
type | query | Filter by type. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (member, chamber, party, ticker, asset, transaction_type...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/senate"GET/v1/senate/{ticker}
Stock trades disclosed by U.S. Senators. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
member | query | Filter by member. |
party | query | Filter by party. |
type | query | Filter by type. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (member, chamber, party, ticker, asset, transaction_type...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/senate/NVDA"GET/v1/house
Stock trades disclosed by members of the U.S. House of Representatives.
Fields: member, chamber, party, ticker, asset, transaction_type, amount_range, transaction_date, disclosure_date, est_price, recent_price, perf_pct, source_url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
member | query | Filter by member. |
party | query | Filter by party. |
type | query | Filter by type. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (member, chamber, party, ticker, asset, transaction_type...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/house"GET/v1/house/{ticker}
Stock trades disclosed by members of the U.S. House of Representatives. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
member | query | Filter by member. |
party | query | Filter by party. |
type | query | Filter by type. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (member, chamber, party, ticker, asset, transaction_type...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/house/NVDA"GET/v1/trump-trades
President Donald Trump's securities transactions from OGE Form 278-T periodic transaction reports (stocks, ETFs, bonds), with amount ranges.
Fields: id, person, asset, ticker, type, asset_class, date, amount_min, amount_max, filed, filed_late, report_url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
type | query | Filter by type. |
asset_class | query | Filter by asset_class. |
q | query | Filter by q. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, person, asset, ticker, type, asset_class...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/trump-trades"GET/v1/trump-trades/{ticker}
President Donald Trump's securities transactions from OGE Form 278-T periodic transaction reports (stocks, ETFs, bonds), with amount ranges. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
type | query | Filter by type. |
asset_class | query | Filter by asset_class. |
q | query | Filter by q. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, person, asset, ticker, type, asset_class...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/trump-trades/NVDA"GET/v1/cabinet-trades
Securities transactions of U.S. Cabinet secretaries, agency heads, Federal Reserve governors and White House advisers from OGE Form 278-T reports published by the Office of Government Ethics (the President is in trump-trades). Filter group=cabinet|federal_reserve|white_house|other.
Fields: id, person, position, agency, group, asset, ticker, type, asset_class, date, amount_min, amount_max, filed, published, filed_late, report_url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
person | query | Filter by person. |
agency | query | Filter by agency. |
group | query | Filter by group. |
type | query | Filter by type. |
asset_class | query | Filter by asset_class. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, person, position, agency, group, asset...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cabinet-trades"GET/v1/cabinet-trades/{ticker}
Securities transactions of U.S. Cabinet secretaries, agency heads, Federal Reserve governors and White House advisers from OGE Form 278-T reports published by the Office of Government Ethics (the President is in trump-trades). Filter group=cabinet|federal_reserve|white_house|other. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
person | query | Filter by person. |
agency | query | Filter by agency. |
group | query | Filter by group. |
type | query | Filter by type. |
asset_class | query | Filter by asset_class. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, person, position, agency, group, asset...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cabinet-trades/NVDA"GET/v1/revolving-door
Former government officials and congressional staff lobbying for public companies ("covered positions" in LD-2 reports).
Fields: id, ticker, client, registrant, lobbyist, former_position, new_lobbyist, year, quarter, date, issues, agencies, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
lobbyist | query | Filter by lobbyist. |
position | query | Filter by position. |
client | query | Filter by client. |
quarter | query | Filter by quarter. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, client, registrant, lobbyist, former_position...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/revolving-door"GET/v1/revolving-door/{ticker}
Former government officials and congressional staff lobbying for public companies ("covered positions" in LD-2 reports). One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
lobbyist | query | Filter by lobbyist. |
position | query | Filter by position. |
client | query | Filter by client. |
quarter | query | Filter by quarter. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, client, registrant, lobbyist, former_position...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/revolving-door/NVDA"GET/v1/warn-layoffs
WARN Act mass layoff and plant closure notices from U.S. states, matched to public companies where possible.
Fields: id, state, company, company_canonical, ticker, city, employees, notice_date, effective_date, type, source.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
state | query | Filter by state. |
company | query | Filter by company. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, state, company, company_canonical, ticker, city...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/warn-layoffs"GET/v1/warn-layoffs/{ticker}
WARN Act mass layoff and plant closure notices from U.S. states, matched to public companies where possible. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
state | query | Filter by state. |
company | query | Filter by company. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, state, company, company_canonical, ticker, city...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/warn-layoffs/NVDA"GET/v1/government-spending
U.S. federal agency budgets, obligations and outlays (USAspending).
Fields: code, agency, abbreviation, fiscal_year, budget_authority, obligated, outlays, share_of_budget.
| Parameter | In | Description |
|---|---|---|
agency | query | Filter by agency. |
year | query | Filter by year. |
min_<field> | query | Lower bound for a numeric/date field (code, agency, abbreviation, fiscal_year, budget_authority, obligated...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/government-spending"GET/v1/legislation
Bills in the U.S. Congress with the latest action (Congress.gov).
Fields: id, congress, type, number, title, chamber, latest_action, latest_action_date, updated, url.
| Parameter | In | Description |
|---|---|---|
q | query | Filter by q. |
type | query | Filter by type. |
chamber | query | Filter by chamber. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, congress, type, number, title, chamber...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/legislation"GET/v1/elections
2026 midterm candidates for the Senate and House: money raised, spent and cash on hand (FEC).
Fields: id, cycle, name, party, office, state, district, status, receipts, disbursements, cash_on_hand, coverage_end.
| Parameter | In | Description |
|---|---|---|
state | query | Filter by state. |
office | query | Filter by office. |
party | query | Filter by party. |
name | query | Filter by name. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, cycle, name, party, office, state...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/elections"GET/v1/corporate-pacs
Corporate PACs matched to public companies and how much they gave to federal candidates (FEC).
Fields: id, cycle, committee, ticker, receipts, disbursements, to_candidates, cash_on_hand.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
committee | query | Filter by committee. |
min_<field> | query | Lower bound for a numeric/date field (id, cycle, committee, ticker, receipts, disbursements...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/corporate-pacs"GET/v1/corporate-pacs/{ticker}
Corporate PACs matched to public companies and how much they gave to federal candidates (FEC). One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
committee | query | Filter by committee. |
min_<field> | query | Lower bound for a numeric/date field (id, cycle, committee, ticker, receipts, disbursements...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/corporate-pacs/NVDA"GET/v1/committees
Current congressional committee membership.
Fields: bioguide, member, chamber, committee_id, committee, title, rank.
| Parameter | In | Description |
|---|---|---|
member | query | Filter by member. |
committee | query | Filter by committee. |
min_<field> | query | Lower bound for a numeric/date field (bioguide, member, chamber, committee_id, committee, title...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/committees"GET/v1/dc-insider-score
Bourse DC Insider Score 0-100: Congress net buying, lobbying growth and new government contracts.
Premium keys only. Fields: ticker, score, congress_net, lobbying_growth, contracts_90d, updated_at.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
min_<field> | query | Lower bound for a numeric/date field (ticker, score, congress_net, lobbying_growth, contracts_90d, updated_at...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/dc-insider-score"GET/v1/dc-insider-score/{ticker}
Bourse DC Insider Score 0-100: Congress net buying, lobbying growth and new government contracts. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
min_<field> | query | Lower bound for a numeric/date field (ticker, score, congress_net, lobbying_growth, contracts_90d, updated_at...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/dc-insider-score/NVDA"Insiders & institutions
GET/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.
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.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
insider | query | Filter by insider. |
title | query | Filter by title. |
code | query | Filter by code. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, company_name, insider_name, insider_title, is_officer, transaction_code...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insiders"GET/v1/insiders/{ticker}
Insider transactions from SEC Form 4 (code P = open-market purchase, S = sale), with 1-day and 1-month returns after the trade. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
insider | query | Filter by insider. |
title | query | Filter by title. |
code | query | Filter by code. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, company_name, insider_name, insider_title, is_officer, transaction_code...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insiders/NVDA"GET/v1/funds13f
Holdings of large investment managers from SEC Form 13F filings.
Fields: fund, company, value_usd, shares, filing_date.
| Parameter | In | Description |
|---|---|---|
fund | query | Filter by fund. |
company | query | Filter by company. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (fund, company, value_usd, shares, filing_date...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/funds13f"GET/v1/whales
Large-stake filings (SEC Schedule 13D and 13G): who crossed 5% ownership in a company.
Fields: id, date, form, company, company_cik, ticker, investor, investor_cik, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
investor | query | Filter by investor. |
form | query | Filter by form. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, date, form, company, company_cik, ticker...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/whales"GET/v1/whales/{ticker}
Large-stake filings (SEC Schedule 13D and 13G): who crossed 5% ownership in a company. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
investor | query | Filter by investor. |
form | query | Filter by form. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, date, form, company, company_cik, ticker...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/whales/NVDA"GET/v1/etf-holdings
Daily holdings of ARK and iShares ETFs.
Fields: etf, date, ticker, name, weight_pct, market_value, shares.
| Parameter | In | Description |
|---|---|---|
etf | query | Filter by etf. |
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (etf, date, ticker, name, weight_pct, market_value...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/etf-holdings"GET/v1/etf-holdings/{ticker}
Daily holdings of ARK and iShares ETFs. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
etf | query | Filter by etf. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (etf, date, ticker, name, weight_pct, market_value...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/etf-holdings/NVDA"GET/v1/investor-13f
Holdings history of famous investors (Buffett, Burry, Ackman, Marks, Gates...) from 13F filings.
Fields: investor, cik, filed, issuer, ticker, value_usd, shares.
| Parameter | In | Description |
|---|---|---|
investor | query | Filter by investor. |
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (investor, cik, filed, issuer, ticker, value_usd...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/investor-13f"GET/v1/investor-13f/{ticker}
Holdings history of famous investors (Buffett, Burry, Ackman, Marks, Gates...) from 13F filings. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
investor | query | Filter by investor. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (investor, cik, filed, issuer, ticker, value_usd...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/investor-13f/NVDA"GET/v1/form-144
SEC Form 144 notices of proposed sales by insiders: shares, market value, approximate sale date and 10b5-1 plan adoption date.
Fields: id, filed, ticker, company, company_cik, insider, insider_cik, relationship, security, shares, market_value, approx_sale_date, plan_10b5_1_adopted, exchange, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
insider | query | Filter by insider. |
relationship | query | Filter by relationship. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, filed, ticker, company, company_cik, insider...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/form-144"GET/v1/form-144/{ticker}
SEC Form 144 notices of proposed sales by insiders: shares, market value, approximate sale date and 10b5-1 plan adoption date. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
insider | query | Filter by insider. |
relationship | query | Filter by relationship. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, filed, ticker, company, company_cik, insider...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/form-144/NVDA"GET/v1/corporate-events
SEC 8-K current reports by item: leadership changes (5.02), auditor changes (4.01), restatements (4.02), bankruptcy (1.03), delisting notices (3.01), completed M&A (2.01), cyber incidents (1.05) and more. Filter with category=leadership|auditor|restatement|bankruptcy|delisting|acquisition|control|cyber|restructuring|impairment|equity|earnings|agreement.
Fields: id, filed, ticker, company, cik, form, items, categories, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
category | query | Filter by category. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, filed, ticker, company, cik, form...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/corporate-events"GET/v1/corporate-events/{ticker}
SEC 8-K current reports by item: leadership changes (5.02), auditor changes (4.01), restatements (4.02), bankruptcy (1.03), delisting notices (3.01), completed M&A (2.01), cyber incidents (1.05) and more. Filter with category=leadership|auditor|restatement|bankruptcy|delisting|acquisition|control|cyber|restructuring|impairment|equity|earnings|agreement. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
category | query | Filter by category. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, filed, ticker, company, cik, form...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/corporate-events/NVDA"GET/v1/late-filings
Late filing notices (SEC Forms NT 10-K, NT 10-Q, NT 20-F): companies that missed their periodic report deadline.
Fields: id, filed, ticker, company, cik, form, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
form | query | Filter by form. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, filed, ticker, company, cik, form...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/late-filings"GET/v1/late-filings/{ticker}
Late filing notices (SEC Forms NT 10-K, NT 10-Q, NT 20-F): companies that missed their periodic report deadline. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
form | query | Filter by form. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, filed, ticker, company, cik, form...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/late-filings/NVDA"Alternative data
GET/v1/prediction-markets
Large trades (over $10,000) on Polymarket prediction markets.
Fields: id, time, market, slug, outcome, side, amount_usd, price, size, wallet, trader, url.
| Parameter | In | Description |
|---|---|---|
market | query | Filter by market. |
side | query | Filter by side. |
wallet | query | Filter by wallet. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, time, market, slug, outcome, side...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/prediction-markets"GET/v1/short-interest
Short interest (shares sold short, % of float, days to cover) and change vs the prior report.
Fields: ticker, date, shares_short, pct_float, days_to_cover, shares_short_prior, change, float_shares.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, date, shares_short, pct_float, days_to_cover, shares_short_prior...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/short-interest"GET/v1/short-interest/{ticker}
Short interest (shares sold short, % of float, days to cover) and change vs the prior report. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, date, shares_short, pct_float, days_to_cover, shares_short_prior...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/short-interest/NVDA"GET/v1/app-ratings
Daily App Store rating and rating count of consumer apps of public companies.
Fields: ticker, app_id, date, app, rating, ratings_count, version, version_date.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, app_id, date, app, rating, ratings_count...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/app-ratings"GET/v1/app-ratings/{ticker}
Daily App Store rating and rating count of consumer apps of public companies. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, app_id, date, app, rating, ratings_count...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/app-ratings/NVDA"GET/v1/patents
U.S. patents granted to public companies (PatentsView).
Fields: id, ticker, assignee, title, date.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
q | query | Filter by q. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, assignee, title, date...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/patents"GET/v1/patents/{ticker}
U.S. patents granted to public companies (PatentsView). One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
q | query | Filter by q. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, assignee, title, date...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/patents/NVDA"SEC filings
GET/v1/executive-compensation
CEO (PEO) total compensation from Pay-versus-Performance XBRL disclosures in proxy statements.
Fields: cik, company, ticker, year, ceo_total_comp_usd, period_end, accession.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
year | query | Filter by year. |
company | query | Filter by company. |
min_<field> | query | Lower bound for a numeric/date field (cik, company, ticker, year, ceo_total_comp_usd, period_end...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/executive-compensation"GET/v1/executive-compensation/{ticker}
CEO (PEO) total compensation from Pay-versus-Performance XBRL disclosures in proxy statements. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
year | query | Filter by year. |
company | query | Filter by company. |
min_<field> | query | Lower bound for a numeric/date field (cik, company, ticker, year, ceo_total_comp_usd, period_end...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/executive-compensation/NVDA"GET/v1/stock-splits
Upcoming and recent stock splits and reverse splits.
Fields: ticker, name, ratio, factor, date, announced.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, name, ratio, factor, date, announced...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stock-splits"GET/v1/stock-splits/{ticker}
Upcoming and recent stock splits and reverse splits. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, name, ratio, factor, date, announced...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stock-splits/NVDA"Wall Street
GET/v1/analysts
Wall Street analyst consensus: price targets, rating distribution and number of analysts.
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.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
rating | query | Filter by rating. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, price, target_mean, target_median, target_high...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/analysts"GET/v1/analysts/{ticker}
Wall Street analyst consensus: price targets, rating distribution and number of analysts. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
rating | query | Filter by rating. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, price, target_mean, target_median, target_high...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/analysts/NVDA"GET/v1/ratings
Analyst upgrades, downgrades and initiations by brokerage firm.
Fields: symbol, name, firm, from_grade, to_grade, action, date.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
firm | query | Filter by firm. |
action | query | Filter by action. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, firm, from_grade, to_grade, action...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ratings"GET/v1/ratings/{ticker}
Analyst upgrades, downgrades and initiations by brokerage firm. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
firm | query | Filter by firm. |
action | query | Filter by action. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, firm, from_grade, to_grade, action...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ratings/NVDA"GET/v1/earnings
Upcoming earnings report dates with EPS estimates.
Fields: symbol, name, report_date, eps_estimate, currency.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, report_date, eps_estimate, currency...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/earnings"GET/v1/earnings/{ticker}
Upcoming earnings report dates with EPS estimates. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, report_date, eps_estimate, currency...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/earnings/NVDA"GET/v1/dividends
Dividends: annual amount, yield, payout ratio, ex-dividend and payment dates.
Fields: symbol, name, price, annual_amount, yield_pct, ex_date, pay_date, payout_pct, currency, updated_at.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, price, annual_amount, yield_pct, ex_date...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/dividends"GET/v1/dividends/{ticker}
Dividends: annual amount, yield, payout ratio, ex-dividend and payment dates. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, price, annual_amount, yield_pct, ex_date...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/dividends/NVDA"Retail & market
GET/v1/tv-picks
Stock calls made on CNBC: Jim Cramer's "Mad Money" (including the lightning round) and guests' "Final Trades" (stance classified by AI).
Fields: id, date, show, person, ticker, company, call, reason, url, title.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
person | query | Filter by person. |
show | query | Filter by show. |
call | query | Filter by call. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, date, show, person, ticker, company...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/tv-picks"GET/v1/tv-picks/{ticker}
Stock calls made on CNBC: Jim Cramer's "Mad Money" (including the lightning round) and guests' "Final Trades" (stance classified by AI). One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
person | query | Filter by person. |
show | query | Filter by show. |
call | query | Filter by call. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, date, show, person, ticker, company...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/tv-picks/NVDA"GET/v1/google-trends
Google search interest (0-100, U.S.) for "TICKER stock", daily.
Fields: ticker, date, interest.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, date, interest...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/google-trends"GET/v1/google-trends/{ticker}
Google search interest (0-100, U.S.) for "TICKER stock", daily. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, date, interest...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/google-trends/NVDA"GET/v1/wikipedia-views
Daily English Wikipedia page views of each company's article.
Fields: ticker, date, views.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, date, views...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/wikipedia-views"GET/v1/wikipedia-views/{ticker}
Daily English Wikipedia page views of each company's article. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (ticker, date, views...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/wikipedia-views/NVDA"GET/v1/attention
Retail attention snapshot per stock: latest Google Trends level and 7-day spike, Wikipedia views and spike.
Fields: ticker, query, google_latest, google_spike_pct, google_date, wikipedia_article, wikipedia_views_7d, wikipedia_spike_pct, wikipedia_date, updated_at.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
min_<field> | query | Lower bound for a numeric/date field (ticker, query, google_latest, google_spike_pct, google_date, wikipedia_article...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/attention"GET/v1/attention/{ticker}
Retail attention snapshot per stock: latest Google Trends level and 7-day spike, Wikipedia views and spike. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
min_<field> | query | Lower bound for a numeric/date field (ticker, query, google_latest, google_spike_pct, google_date, wikipedia_article...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/attention/NVDA"GET/v1/wsb
Most-discussed tickers on Reddit r/wallstreetbets: rank, mentions and change over 24 hours.
Fields: date, ticker, name, rank, mentions, upvotes, rank_24h_ago, mentions_24h_ago.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, ticker, name, rank, mentions, upvotes...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/wsb"GET/v1/wsb/{ticker}
Most-discussed tickers on Reddit r/wallstreetbets: rank, mentions and change over 24 hours. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, ticker, name, rank, mentions, upvotes...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/wsb/NVDA"GET/v1/shortvolume
Daily off-exchange short sale volume (FINRA Reg SHO).
Fields: date, symbol, short_volume, short_exempt_volume, total_volume.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, symbol, short_volume, short_exempt_volume, total_volume...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/shortvolume"GET/v1/shortvolume/{ticker}
Daily off-exchange short sale volume (FINRA Reg SHO). One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, symbol, short_volume, short_exempt_volume, total_volume...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/shortvolume/NVDA"GET/v1/signals
Technical snapshot for 700+ instruments: RSI, MACD, moving averages, 52-week range, momentum, volatility and active signals (golden cross, breakouts...).
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.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
sector | query | Filter by sector. |
country | query | Filter by country. |
sentiment | query | Filter by sentiment. |
type | query | Filter by type. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, type, country, sector, price...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/signals"GET/v1/signals/{ticker}
Technical snapshot for 700+ instruments: RSI, MACD, moving averages, 52-week range, momentum, volatility and active signals (golden cross, breakouts...). One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
sector | query | Filter by sector. |
country | query | Filter by country. |
sentiment | query | Filter by sentiment. |
type | query | Filter by type. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, type, country, sector, price...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/signals/NVDA"GET/v1/quotes
Latest quotes for indices, sector ETFs, stocks, currencies, commodities and crypto tracked by Bourse.
Fields: symbol, name, price, change_pct, category, updated_at.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
category | query | Filter by category. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, price, change_pct, category, updated_at...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/quotes"GET/v1/quotes/{ticker}
Latest quotes for indices, sector ETFs, stocks, currencies, commodities and crypto tracked by Bourse. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
category | query | Filter by category. |
min_<field> | query | Lower bound for a numeric/date field (symbol, name, price, change_pct, category, updated_at...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/quotes/NVDA"Strategies, macro & news
GET/v1/strategies
Backtested Bourse strategies (Congress, insiders, lobbying, contracts, WSB, analysts, funds): return, Sharpe, drawdown. Add id=... to get the equity curve.
Fields: id, category, group, definition, stats, since, positions, updated_at.
| Parameter | In | Description |
|---|---|---|
id | query | Filter by id. |
category | query | Filter by category. |
min_<field> | query | Lower bound for a numeric/date field (id, category, group, definition, stats, since...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/strategies"GET/v1/ipo-calendar
IPO calendar: upcoming IPOs with price range and expected date, priced deals, new S-1/F-1 registrations and withdrawn offerings.
Fields: id, ticker, company, exchange, price_low, price_high, shares, deal_size_usd, date, status, source, url.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
status | query | Filter by status. |
company | query | Filter by company. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, company, exchange, price_low, price_high...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ipo-calendar"GET/v1/ipo-calendar/{ticker}
IPO calendar: upcoming IPOs with price range and expected date, priced deals, new S-1/F-1 registrations and withdrawn offerings. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
status | query | Filter by status. |
company | query | Filter by company. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, ticker, company, exchange, price_low, price_high...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ipo-calendar/NVDA"GET/v1/treasury-yields
Daily U.S. Treasury par yield curve (1 month to 30 years) with 10Y-2Y and 10Y-3M spreads.
Fields: date, yields, spread_10y_2y, spread_10y_3m, source.
| Parameter | In | Description |
|---|---|---|
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, yields, spread_10y_2y, spread_10y_3m, source...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/treasury-yields"GET/v1/treasury-auctions
U.S. Treasury auctions: upcoming bills, notes and bonds and results (high yield, bid-to-cover, size).
Fields: id, auction_date, type, term, cusip, offering_amount, high_yield, bid_to_cover, issue_date, maturity_date, announced, has_result.
| Parameter | In | Description |
|---|---|---|
type | query | Filter by type. |
term | query | Filter by term. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, auction_date, type, term, cusip, offering_amount...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/treasury-auctions"GET/v1/national-debt
U.S. total public debt outstanding by day (Debt to the Penny): held by the public and intragovernmental holdings.
Fields: date, total_usd, held_by_public_usd, intragovernmental_usd.
| Parameter | In | Description |
|---|---|---|
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, total_usd, held_by_public_usd, intragovernmental_usd...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/national-debt"GET/v1/cot-positioning
CFTC Commitments of Traders (legacy, futures only): speculators' and commercials' positions in S&P 500, Nasdaq, Treasuries, currencies, gold, oil, bitcoin and more. Weekly.
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.
| Parameter | In | Description |
|---|---|---|
code | query | Filter by code. |
market | query | Filter by market. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, date, code, market, open_interest, spec_long...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cot-positioning"GET/v1/economic
Economic calendar: central bank decisions, inflation, jobs and GDP releases for the U.S., euro area and Poland.
Fields: date, time, name, region, category, importance, description.
| Parameter | In | Description |
|---|---|---|
region | query | Filter by region. |
importance | query | Filter by importance. |
category | query | Filter by category. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, time, name, region, category, importance...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/economic"GET/v1/macro
Macro indicators (inflation, rates, unemployment, GDP, PMI...) for the U.S., euro area and Poland, with history.
Fields: code, region, group, name, unit, value, previous, date, previous_date, history, source.
| Parameter | In | Description |
|---|---|---|
region | query | Filter by region. |
code | query | Filter by code. |
group | query | Filter by group. |
min_<field> | query | Lower bound for a numeric/date field (code, region, group, name, unit, value...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/macro"GET/v1/news
Market news headlines from financial publishers, categorised (macro, markets, companies, crypto, commodities, central banks).
Fields: title, summary, source, url, image, category, published_at.
| Parameter | In | Description |
|---|---|---|
q | query | Filter by q. |
source | query | Filter by source. |
category | query | Filter by category. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (title, summary, source, url, image, category...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/news"GET/v1/brief
The Bourse AI daily market brief (Premium keys only).
Premium keys only. Fields: date, headline, content, key_events.
| Parameter | In | Description |
|---|---|---|
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (date, headline, content, key_events...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/brief"GET/v1/stock-moves
"Why is it moving today?" explanations: the news and filings behind a stock's daily move, with sources.
Fields: symbol, day, language, explanation.
| Parameter | In | Description |
|---|---|---|
ticker | query | Filter by ticker. |
language | query | Filter by language. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, day, language, explanation...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stock-moves"GET/v1/stock-moves/{ticker}
"Why is it moving today?" explanations: the news and filings behind a stock's daily move, with sources. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
language | query | Filter by language. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (symbol, day, language, explanation...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stock-moves/NVDA"GET/v1/strategy-holdings
Current holdings and trade history of each backtested Bourse strategy (use id from /v1/strategies).
Fields: id, holdings, trades, updated_at.
| Parameter | In | Description |
|---|---|---|
id | query | Filter by id. |
min_<field> | query | Lower bound for a numeric/date field (id, holdings, trades, updated_at...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/strategy-holdings"GET/v1/strategies/{id}
One strategy: description, stats, equity curve, holdings, trades; upcoming trades with Premium keys.
| Parameter | In | Description |
|---|---|---|
id required | path |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/strategies/cramer-odwrotny"Europe
GET/v1/eu-insiders
Share 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 National Storage Mechanism). Filter country=PL|DE|FR|UK, type=buy|sell|other.
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.
| Parameter | In | Description |
|---|---|---|
country | query | Filter by country. |
isin | query | Filter by isin. |
ticker | query | Filter by ticker. |
company | query | Filter by company. |
person | query | Filter by person. |
type | query | Filter by type. |
role | query | Filter by role. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, country, regulator, company, isin, lei...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/eu-insiders"GET/v1/eu-insiders/{ticker}
Share 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 National Storage Mechanism). Filter country=PL|DE|FR|UK, type=buy|sell|other. One ticker.
| Parameter | In | Description |
|---|---|---|
ticker required | path | |
country | query | Filter by country. |
isin | query | Filter by isin. |
company | query | Filter by company. |
person | query | Filter by person. |
type | query | Filter by type. |
role | query | Filter by role. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (id, country, regulator, company, isin, lei...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/eu-insiders/NVDA"Poland
GET/v1/espi
Current reports (ESPI) of companies listed on the Warsaw Stock Exchange, with an AI summary.
Fields: company, title, summary_ai, published_at.
| Parameter | In | Description |
|---|---|---|
company | query | Filter by company. |
q | query | Filter by q. |
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (company, title, summary_ai, published_at...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/espi"GET/v1/cpi-pl
Polish CPI inflation year over year by month (GUS), including flash estimates.
Fields: month, yoy_pct, flash, source.
| Parameter | In | Description |
|---|---|---|
from | query | Start date YYYY-MM-DD. |
to | query | End date YYYY-MM-DD. |
min_<field> | query | Lower bound for a numeric/date field (month, yoy_pct, flash, source...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cpi-pl"GET/v1/deposits-pl
Best savings and deposit offers from Polish banks, verified by Bourse.
Fields: bank, product, rate_pct, months, min_amount, max_amount, apr_pct, fee_pct, conditions, url, verified_on.
| Parameter | In | Description |
|---|---|---|
bank | query | Filter by bank. |
min_<field> | query | Lower bound for a numeric/date field (bank, product, rate_pct, months, min_amount, max_amount...). |
max_<field> | query | Upper bound for a numeric/date field. |
limit | query | Rows per page (1-1000, default 100). |
offset | query | Rows to skip (pagination). |
sort | query | Sort by a field, e.g. sort=date or sort=-amount (descending). |
fields | query | Comma-separated fields to return. |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/deposits-pl"Analytics
GET/v1/sectors
Daily performance of the 11 S&P 500 sectors (Select Sector SPDR ETFs), best to worst.
| Parameter | In | Description |
|---|---|---|
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/sectors"GET/v1/movers
Biggest gainers and losers today among 700+ tracked instruments.
| Parameter | In | Description |
|---|---|---|
type | query | type |
country | query | country |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/movers"GET/v1/tickers
Search the instruments Bourse covers by symbol or name.
| Parameter | In | Description |
|---|---|---|
q | query | q |
type | query | type |
country | query | country |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/tickers"GET/v1/insider-clusters
Companies where several different insiders bought shares on the open market (Form 4 code P) in a window.
| Parameter | In | Description |
|---|---|---|
days | query | days (default 30) |
min_insiders | query | min_insiders (default 3) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insider-clusters"GET/v1/eu-insider-clusters
European listed companies where several different directors (PDMR) bought shares in a window - Poland, Germany, France, UK (MAR art. 19).
| Parameter | In | Description |
|---|---|---|
days | query | days (default 30) |
min_insiders | query | min_insiders (default 2) |
country | query | country: PL, DE, FR, UK |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/eu-insider-clusters"GET/v1/insider-top
Stocks with the largest total insider open-market buying (or selling with side=sell) in a window.
| Parameter | In | Description |
|---|---|---|
days | query | days |
side | query | side |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insider-top"GET/v1/congress-top
Stocks most bought (or sold with side=sell) by members of Congress in a window, by number of trades and members.
| Parameter | In | Description |
|---|---|---|
days | query | days |
side | query | side |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress-top"GET/v1/congress-members
Members of Congress ranked by trading activity: trades, buys, sells, last trade, most traded tickers.
| Parameter | In | Description |
|---|---|---|
days | query | days (default 365) |
party | query | party |
chamber | query | chamber |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/congress-members"GET/v1/fund-changes
Quarter-over-quarter changes in one 13F filer: new, added, trimmed and exited positions.
| Parameter | In | Description |
|---|---|---|
fund | query | fund (required) |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fund-changes"GET/v1/fund-holders
Which 13F funds hold a company, from each fund's latest filing, by position value.
| Parameter | In | Description |
|---|---|---|
company | query | company (required) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fund-holders"GET/v1/prices
Daily closing prices for up to 10 symbols (cached series, live fallback).
| Parameter | In | Description |
|---|---|---|
symbols | query | symbols (required, comma-separated) |
range | query | range: 6m,1y,2y,5y,10y,max |
from | query | from |
to | query | to |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/prices"GET/v1/candles
OHLCV candles for one symbol.
| Parameter | In | Description |
|---|---|---|
symbol | query | symbol (required) |
interval | query | interval: 5m,15m,1h,4h,1d,1wk |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/candles"GET/v1/fundamentals
Fundamentals from SEC filings for a U.S. company: revenue, earnings, margins, debt, valuation ratios, history.
| Parameter | In | Description |
|---|---|---|
symbol | query | symbol (required) |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fundamentals"GET/v1/fx-nbp
Official National Bank of Poland exchange rates (table A) for up to 4 currencies over a date range.
| Parameter | In | Description |
|---|---|---|
currencies | query | currencies (required, e.g. USD,EUR) |
from | query | from (required) |
to | query | to (required) |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/fx-nbp"GET/v1/trump-portfolio
Estimated portfolio of President Trump built from his 278-T reports: buys minus sales per asset (range midpoints).
| Parameter | In | Description |
|---|---|---|
asset_class | query | asset_class: stock, fund, bond |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/trump-portfolio"GET/v1/cramer-scorecard
How Jim Cramer's calls performed: return since each call, hit rate of buy and sell calls, vs SPY.
| Parameter | In | Description |
|---|---|---|
days | query | days (default 180) |
person | query | person (default Jim Cramer) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/cramer-scorecard"GET/v1/lobbying-top
Biggest corporate lobbying spenders in a quarter, with change vs the previous quarter.
| Parameter | In | Description |
|---|---|---|
quarter | query | quarter (e.g. 2026-Q3, default latest) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/lobbying-top"GET/v1/contracts-top
Public companies with the most new federal contract dollars in a window.
| Parameter | In | Description |
|---|---|---|
days | query | days (default 90) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/contracts-top"GET/v1/layoffs-top
Public companies with the most employees in WARN layoff notices in a window.
| Parameter | In | Description |
|---|---|---|
days | query | days (default 90) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/layoffs-top"GET/v1/revolving-door-top
Companies employing the most former officials and congressional staff as lobbyists.
| Parameter | In | Description |
|---|---|---|
days | query | days (default 365) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/revolving-door-top"GET/v1/conviction
Bourse Conviction Score: every open-market insider purchase (Form 4, code P) ranked 0-100 by a gradient-boosted model, with reasons and "strongest since".
| Parameter | In | Description |
|---|---|---|
min_score | query | min_score (0-100) |
ticker | query | ticker |
days | query | days (default 30) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/conviction"GET/v1/coincidences
Coincidence Tracker: Congress trades next to federal contracts for the same company, with committee seats, lobbying and the price move after the award.
| Parameter | In | Description |
|---|---|---|
ticker | query | ticker |
member | query | member |
committee_match | query | committee_match (true) |
days | query | days (default 365) |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/coincidences"GET/v1/stress-test
Portfolio stress test (API Pro, Enterprise, Pay-as-you-go): VaR/CVaR, Monte Carlo, 2008/2018/2020/2022/2025 scenarios, market and rate shocks, concentration, hedge simulation.
| Parameter | In | Description |
|---|---|---|
portfolio | query | portfolio (required, e.g. AAPL:40,MSFT:30,TLT:30) |
value | query | value (USD, default 100000) |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/stress-test?portfolio=AAPL:40,MSFT:30,TLT:30"GET/v1/symbology
Identifier mapping: ticker, CIK, CUSIP, ISIN and FIGI for one security.
| Parameter | In | Description |
|---|---|---|
ticker | query | ticker |
cusip | query | cusip |
isin | query | isin |
figi | query | figi |
cik | query | cik |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/symbology"GET/v1/insights
1-Click Insights: every Bourse strategy with historical return, CAGR, maximum drawdown and a drawdown risk label (Low, Medium, High).
| Parameter | In | Description |
|---|---|---|
category | query | category |
limit | query | limit |
format | query | json (default) or csv. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/insights"Profiles
GET/v1/ticker/{symbol}
Everything Bourse knows about one ticker in a single request.
| Parameter | In | Description |
|---|---|---|
symbol required | path |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/ticker/NVDA"Bulk
GET/v1/bulk/{dataset}
Premium: download up to 50,000 rows of a dataset at once (API Pro: 100,000), same filters.
| Parameter | In | Description |
|---|---|---|
dataset required | path | |
format | query | csv (default) or ndjson. |
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/bulk/congress"GET/v1/exports
API Pro: pre-signed links (valid 1 hour) to nightly full-dataset files (gzipped NDJSON and CSV). Enterprise: also Parquet, served from Amazon S3.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/exports"Account
GET/v1/usage
Your plan, limits, keys and requests used today, in the last 30 days and per endpoint.
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/v1/usage"GET/status
Public uptime and latency of the API, MCP server, website, database and data pipelines (no key). Human-readable: https://status.bourse.pl
curl -H "Authorization: Bearer $BOURSE_KEY" "https://api.bourse.pl/status"Bourse provides financial data and editorial information, parts of which are generated by AI. This page is for general education only. It is not personalised investment advice or a recommendation to buy or sell any financial instrument. Make your own decisions.