
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Scrape Kalshi prediction markets by keyword, category, link or ticker: yes/no bid and ask, last price, volume, open interest, rules and close time, plus optional order books, candlestick price history and recent trades. No login needed.
Get every Kalshi prediction market as clean rows: the question, outcome, yes/no bid and ask, last price, implied probability, volume, open interest, rules and close time, with the event, series and category. Search by keyword, browse a category such as Economics or Crypto, or paste links and tickers. Add order books, candlestick price history and recent trades when you need them. No login or API key needed, and 1,000 markets take seconds.
KXHIGHNY) with their prices.fed, bitcoin, highest temperature NYC), pick categories, or paste Kalshi links or tickers.| Field | What it does |
|---|---|
searchQueries | Keywords to search Kalshi for. |
categories | Politics, Elections, Economics, Financials, Crypto, Companies, Commodities, Climate and Weather, Science and Technology, Entertainment, Sports, Mentions, Social, World. |
startUrls | kalshi.com links, or tickers: market (KXFED-26OCT-T4.00), event (KXFED-26OCT) or series (KXHIGHNY). |
maxItems | Markets per keyword, category, link or ticker (default 20, 0 = no limit). |
status | open (default), closed (awaiting result), settled or all. |
minVolume / minOpenInterest | Minimum contracts traded / open. |
closeDateFrom / closeDateTo | Close-date range (YYYY-MM-DD). |
sortBy | trending, volume, liquidity, newest or closing. |
includeOrderBook / orderBookDepth | Add live yes and no bids (open markets). |
includeCandlesticks / candlestickInterval / candlestickDays | Add OHLC price history per 1 minute, 1 hour or 1 day. |
recentTradesCount | Add the latest N trades of each market. |
{
"searchQueries": ["fed", "cpi"],
"categories": ["Crypto"],
"startUrls": ["KXHIGHNY", "https://kalshi.com/markets/kxfed/fed-meeting/kxfed-26oct"],
"maxItems": 50,
"status": "open",
"minVolume": 1000,
"includeCandlesticks": true,
"candlestickInterval": "1d",
"candlestickDays": 30
}
One row per market. Prices are in US dollars per contract (a contract pays $1 if it resolves yes), so a price of 0.70 means a 70% implied probability.
| Field | Description |
|---|---|
ticker, title | Market ticker and question |
yesSubTitle, noSubTitle | Outcome labels |
eventTicker, eventTitle, eventSubtitle | The event the market belongs to |
seriesTicker, seriesTitle, category, tags | Series and category |
status, result | active, closed, determined or finalized; yes / no once known |
yesBid, yesAsk, noBid, noAsk, spread | Best prices on both sides |
lastPrice, previousPrice, priceChange | Last trade and the previous day's price |
impliedProbability | Mid price (or last price when the spread is wide), 1 or 0 after settlement |
volume, volume24h, openInterest, eventVolume | Contracts traded and open |
openTime, closeTime, expectedExpirationTime, expirationTime, settlementTime | Key dates |
strikeType, floorStrike, capStrike, customStrike | Strike definition (brackets, thresholds) |
rulesPrimary, rulesSecondary | Settlement rules |
url | Market page on kalshi.com |
orderBook, candlesticks, recentTrades | Only when turned on |
{
"ticker": "KXFEDDECISION-26OCT-H0",
"title": "Will the Federal Reserve Hike rates by 0bps at their October 2026 meeting?",
"yesSubTitle": "Fed maintains rate",
"eventTicker": "KXFEDDECISION-26OCT",
"eventTitle": "Fed decision in October?",
"eventSubtitle": "On Oct 28, 2026",
"seriesTicker": "KXFEDDECISION",
"seriesTitle": "Fed meeting",
"category": "Economics",
"tags": ["Fed"],
"status": "active",
"result": null,
"yesBid": 0.7,
"yesAsk": 0.71,
"noBid": 0.29,
"noAsk": 0.3,
"lastPrice": 0.7,
"previousPrice": 0.69,
"priceChange": 0.01,
"impliedProbability": 0.705,
"spread": 0.01,
"volume": 5369568.41,
"volume24h": 326367.62,
"openInterest": 1659265.89,
"openTime": "2025-09-29T14:00:00Z",
"closeTime": "2026-10-28T17:59:00Z",
"strikeType": "custom",
"rulesPrimary": "If the Federal Reserve does a Hike of 0bps on October 28, 2026, then the market resolves to Yes.",
"url": "https://kalshi.com/markets/kxfeddecision/fed-meeting/kxfeddecision-26oct",
"scrapedAt": "2026-10-16T00:18:42Z"
}
You pay $1.50 per 1,000 markets ($0.0015 per market saved), plus a small amount of platform usage. Order books, candlesticks and trades are included at no extra charge.
Example: 1,000 markets cost about $1.50 in market fees plus well under one cent of platform usage. Runs that find nothing cost nothing in market fees, and invalid inputs are never charged.
Is it legal? The actor reads Kalshi's public market data, the same data anyone sees on kalshi.com without an account. Check Kalshi's terms for your use case.
Do I need a Kalshi account, API key or proxy? No. Datacenter proxies are on by default and work well.
How many markets can I get? As many as Kalshi lists. Set Max results to 0 for no limit; keyword, category and ticker inputs page through all results.
Why are some fields empty? Kalshi does not fill every field for every market: new markets have no last price, settled markets have no bids, and some markets have no strike values.
Can I get history of settled markets? Yes. Set the status to settled (or paste the tickers) and turn on candlesticks or trades. Older markets come from Kalshi's archive.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and read the dataset through the API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch keywords
Keywords to search Kalshi for (for example fed, bitcoin, election, highest temperature NYC). Each keyword returns up to 'Max results' markets.
categoriesarrayOptionalCategories
Kalshi categories to browse: Politics, Elections, Economics, Financials, Crypto, Companies, Commodities, Climate and Weather, Science and Technology, Entertainment, Sports, Mentions, Social, World.
startUrlsarrayOptionalKalshi links or tickers
kalshi.com market links, or tickers: a market ticker (KXFED-26OCT-T4.00) returns that market, an event ticker (KXFED-26OCT) its markets, a series ticker (KXHIGHNY) the markets of its events.
maxItemsintegerOptionaldefault 20Max results
Maximum markets per keyword, category, link or ticker (or for the trending browse). 0 means no limit.
statusenumOptionaldefault "open"Market status
Open markets can be traded now. Closed markets stopped trading and wait for settlement; settled markets have a final result.
minVolumeintegerOptionalMin volume (contracts)
Only markets that traded at least this many contracts in total.
minOpenInterestintegerOptionalMin open interest (contracts)
Only markets with at least this many open contracts.
closeDateFromstringOptionalCloses on or after
Only markets whose close time is on or after this date (YYYY-MM-DD).
closeDateTostringOptionalCloses on or before
Only markets whose close time is on or before this date (YYYY-MM-DD).
sortByenumOptionaldefault "trending"Sort by
Order of keyword, category and browse results (Kalshi orders by event).
includeOrderBookbooleanOptionaldefault falseInclude order book
Add the live yes and no bids of every open market (one extra request per market).
orderBookDepthintegerOptionaldefault 10Order book depth
Price levels per side to keep.
includeCandlesticksbooleanOptionaldefault falseInclude price history (candlesticks)
Add open, high, low, close prices, volume and open interest per period (one extra request per market).
candlestickIntervalenumOptionaldefault "1h"Candlestick interval
Length of each candle.
candlestickDaysintegerOptionaldefault 7Price history days
How many days back the candlesticks go (ending now, or at the market's close).
recentTradesCountintegerOptionaldefault 0Recent trades per market
Add this many of the latest trades (time, taker side, yes/no price, contracts). 0 turns it off.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies are used by default and work well for Kalshi's public market data.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| ticker | string | Market ticker |
| title | string | Market question |
| url | string | Market page URL |
| eventTitle | string | null | Event title |
| category | string | null | Kalshi category |
| status | string | null | Market status |
| yesBid | number | null | Best yes bid (USD) |
| yesAsk | number | null | Best yes ask (USD) |
| lastPrice | number | null | Last traded yes price (USD) |
| volume | number | null | Contracts traded in total |
| openInterest | number | null | Open contracts |
| closeTime | string | null | Close time |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Market | Charged for each Kalshi market saved with its prices, volume, open interest, rules and dates. Order books, candlesticks and trades are included. Empty searches and invalid inputs are free. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/kalshi-scraper').call({
"searchQueries": [
"fed"
],
"maxItems": 20,
"status": "open",
"sortBy": "trending",
"orderBookDepth": 10,
"candlestickInterval": "1h",
"candlestickDays": 7,
"recentTradesCount": 0,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/kalshi-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/kalshi-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Open prediction markets with order book depth.
Open markets with hourly price candles for 7 days.
Prediction markets in a category.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.