Prediction markets
/predictions
Browse Polymarket and Kalshi contracts. Prices are outcome probabilities from each venue, not social sentiment. Volume retains its venue unit. Equivalent contracts share a market; related contracts remain separate. Subject metrics use the existing subject and asset endpoints.
Wallet payment available at https://nebula-api.hiddensystems.ai/api/v1/x402/predictions. No Nebula account or API key required; check the payment offer before signing. x402 payment guide.
Parameters
Case-insensitive search across public identifiers and names.
Example:NVIDIA
Optional venue
polymarketkalshi
Example:polymarket
Defaults to open
openclosedresolveddisputedall
Default:open
Canonical non-asset identifier returned by /subjects or /search, such as text:jensen huang or handle:elonmusk. Accepted in any case. It cannot be combined with asset_id or asset_class.
Example:text:jensen huang
Maximum results returned.
Default:25
Pagination offset
Default:0
cURL Example
curl --request GET \
--url 'https://nebula-api.hiddensystems.ai/api/v1/public/predictions' \
--header 'X-API-Key: YOUR_API_KEY'
Responses
Media type application/json
has_more
True when another page is available after the returned records.
limit
Maximum records requested.
markets
array<object>
Canonical markets, ordered by best activity rank within each venue. Venue volumes are not summed.
markets
Canonical markets, ordered by best activity rank within each venue. Venue volumes are not summed.
markets[].id
Stable identity within this object type.
markets[].listings
array<object>
Venue listings with separately retained rules and quotes.
markets[].listings
Venue listings with separately retained rules and quotes.
markets[].listings[].closes_at
Venue trading close in UTC; not necessarily event occurrence or settlement.
markets[].listings[].event_id
Venue event identifier, or empty if absent.
markets[].listings[].id
Stable identity within this object type.
markets[].listings[].liquidity_usd
Venue-reported liquidity in US dollars; null when unavailable.
markets[].listings[].market_id
Canonical market identity; equivalent venue listings share it.
markets[].listings[].observed_at
UTC time Nebula fetched this quote. Inspect freshness before comparing.
markets[].listings[].open_interest
Venue open contracts; null when unavailable.
markets[].listings[].opens_at
Venue opening time in UTC; null when unavailable.
markets[].listings[].outcomes
Ordered native outcomes with independent price evidence.
markets[].listings[].provider
Venue: polymarket or kalshi.
markets[].listings[].provider_id
Native venue market identifier.
markets[].listings[].provider_updated_at
Venue metadata update time; null when unavailable.
markets[].listings[].question
Original contract question.
markets[].listings[].resolution_source
Venue resolution source, or empty if absent.
markets[].listings[].resolves_at
Venue expected resolution time in UTC; null when unavailable.
markets[].listings[].result
Venue settlement result; empty before a known result.
markets[].listings[].revision
SHA-256 of question, rules, source, close and outcome orientation.
markets[].listings[].rules
Full venue resolution rules.
markets[].listings[].source_url
Original venue listing URL.
markets[].listings[].status
Listing lifecycle: open, closed, resolved or disputed. For subjects: resolved or pending.
markets[].listings[].volume
Cumulative venue volume in volume_unit; null when unavailable.
markets[].listings[].volume_24h
Last 24-hour venue volume in volume_unit; null when unavailable.
markets[].listings[].volume_unit
usd for Polymarket, contracts for Kalshi. These quantities cannot be added.
markets[].question
Original contract question.
markets[].subjects
array<object>
Linked subjects. Use their existing analytics endpoints separately; no market sentiment is inferred.
markets[].subjects
Linked subjects. Use their existing analytics endpoints separately; no market sentiment is inferred.
markets[].subjects[].fallback_image_urls
Ordered backend-resolved fallback icon candidates.
markets[].subjects[].image_url
First backend-resolved subject icon candidate; empty uses fallbacks.
markets[].subjects[].name
Canonical subject display name.
markets[].subjects[].role
Question attachment role: entity, topic or place.
markets[].subjects[].status
Listing lifecycle: open, closed, resolved or disputed. For subjects: resolved or pending.
markets[].subjects[].subject_id
Canonical registry subject identifier; preserves existing asset or topic eligibility.
markets[].subjects[].types
Canonical subject types from the existing identity resolver.
offset
Number of matching records skipped.
{
"has_more": false,
"limit": 50,
"markets": [
{
"id": "polymarket:123",
"listings": [
{
"closes_at": "2026-10-07T20:00:00Z",
"event_id": "event-123",
"id": "polymarket:123",
"liquidity_usd": 5000,
"market_id": "polymarket:123",
"observed_at": "2026-10-06T12:00:00Z",
"open_interest": 100,
"opens_at": "2026-10-01T00:00:00Z",
"outcomes": [],
"provider": "polymarket",
"provider_id": "123",
"provider_updated_at": "2026-10-06T12:00:00Z",
"question": "Will NVIDIA close above $200 on October 7?",
"resolution_source": "Official exchange close",
"resolves_at": "2026-10-08T00:00:00Z",
"result": "yes",
"revision": "revision-hash",
"rules": "Resolves Yes if the official closing price exceeds $200.",
"source_url": "https://polymarket.com/event/example",
"status": "open",
"volume": 10000,
"volume_24h": 1000,
"volume_unit": "usd"
}
],
"question": "Will NVIDIA close above $200 on October 7?",
"subjects": [
{
"fallback_image_urls": [],
"image_url": "https://example.com/nvda.png",
"name": "NVIDIA",
"role": "entity",
"status": "open",
"subject_id": "eq:NVDA",
"types": []
}
]
}
],
"offset": 0
}