On this page
Before using PredictIt API data, check the permitted use. A publicly reachable response does not establish permission to automate collection or redistribute it commercially. PredictIt's current terms, inspected October 6, 2026, prohibit automated trading, scraping or extracting site data, and commercial use of site data or content. Confirm a permission basis for your intended project before connecting it.
This is an independent guide to data interpretation and the access question. We have not obtained permission for a commercial feed, tested authenticated trading or built a PredictIt execution integration.
What the public market-data response contains
A limited unauthenticated check of https://www.predictit.org/api/marketdata/all/ returned JSON on October 6. The response used a top-level markets array with nested contracts. That observation establishes response structure at that time, not a supported commercial API, guaranteed uptime or a published update cadence. We do not reproduce market records here.
| Field | Interpretation to preserve |
|---|---|
| Market id | Identifier for the containing question |
| Contract id | Identifier for one outcome within that market |
| lastTradePrice | Last transaction price, separate from a current opposing quote |
| bestBuyYesCost / bestSellYesCost | Separate Yes-side buy and sell quote fields |
| bestBuyNoCost / bestSellNoCost | Separate No-side buy and sell quote fields |
| timeStamp / dateEnd | Raw time values requiring explicit parsing rules |
A market identifier and a contract identifier answer different questions. Keep both in a data model so a display cannot accidentally attach one outcome's price to another outcome or question.
A last trade is not a fill guarantee
Consider an invented record with a last trade of $0.40, a Yes buy quote of $0.43 and a Yes sell quote of $0.39. The displayed buy/sell difference is $0.04. Using the last trade to estimate entry would understate the quoted unit cost by $0.03.
These are fictional values for arithmetic, not live PredictIt prices. The inspected contract records did not provide available quantity or order-book depth. Multiplying a top quote by an arbitrary number of units therefore cannot establish a realizable total cost. Execution requires eligible opposing size and current venue confirmation.
For generic depth arithmetic using your own hypothetical price levels, our slippage calculator shows how successive levels change average cost. It does not fetch PredictIt data or place trades.
Missing prices must stay missing
Some quote fields were null in the inspected response. An unavailable ask is not a free contract; an unavailable bid is not evidence that a position has no value. A parser should preserve null, mark the corresponding side unavailable and avoid arithmetic that silently substitutes zero.
Also distinguish a legitimate numerical zero from a missing field. A test fixture should include both, plus an invalid string, so validation does not rely on a truthiness check. Show users the specific unavailable field instead of turning a partial response into a confident trading signal.
Dates need explicit assumptions
The inspected dateEnd field could contain NA. Preserve this as an unknown deadline, not an epoch date or a guessed event end. Observed timestamps lacked an explicit timezone offset; the response alone does not justify labeling them UTC.
An authorized integration should retain the raw source time, the independently recorded retrieval time and any documented timezone interpretation separately. “Received now” and “quoted now” are not interchangeable. A successful request can still deliver data whose age is unknown.
Questions to resolve before a real integration
- Is automated access authorized for this purpose?
- Are storage, redistribution and commercial display covered?
- What update cadence, limits and support commitments are documented?
- How should null prices, unknown deadlines and ambiguous timestamps appear?
- Can the application distinguish response failure from an empty successful result?
These are implementation requirements, not claims that permissions or service commitments already exist. Read the official terms and establish the applicable authorization before adding a live feed. We provide no trading bot or credential workaround.
Related developer guides
For separate provider contracts, see our Kalshi API guide and Polymarket API guide. For product context, read PredictIt vs Alphascope. Permission and authentication models do not transfer between venues simply because each publishes prediction-market prices.