curl --request GET \
--url https://api.jup.ag/prediction/v1/events \
--header 'x-api-key: <api-key>'{
"data": [
{
"eventId": "<string>",
"isActive": true,
"isLive": true,
"category": "<string>",
"subcategory": "<string>",
"volumeUsd": "<string>",
"closeCondition": "<string>",
"beginAt": "<string>",
"rulesPdf": "<string>",
"tags": [
"<string>"
],
"metadata": {
"eventId": "<string>",
"title": "<string>",
"subtitle": "<string>",
"slug": "<string>",
"series": "<string>",
"closeTime": "<string>",
"imageUrl": "<string>",
"isLive": true
},
"markets": [
{
"marketId": "<string>",
"openTime": 123,
"closeTime": 123,
"resolveAt": "<string>",
"eventId": "<string>",
"title": "<string>",
"marketResultPubkey": "<string>",
"imageUrl": "<string>",
"rulesPrimary": "<string>",
"rulesSecondary": "<string>",
"outcomes": [
"<string>"
],
"marketOptions": [
{
"label": "<string>",
"buyYes": true
}
],
"clobTokenIds": [
"<string>"
],
"isTeamMarket": true,
"team": {},
"sportsLine": 123,
"sportsMarketType": "<string>",
"pricing": {
"buyYesPriceUsd": 123,
"buyNoPriceUsd": 123,
"sellYesPriceUsd": 123,
"sellNoPriceUsd": 123,
"volume": 123
}
}
],
"volume24hr": "<string>",
"liveScore": "<unknown>"
}
],
"pagination": {
"start": 1,
"end": 1,
"total": 1,
"hasNext": true
}
}Get Events
Get a list of all available prediction events with optional filtering and pagination
curl --request GET \
--url https://api.jup.ag/prediction/v1/events \
--header 'x-api-key: <api-key>'{
"data": [
{
"eventId": "<string>",
"isActive": true,
"isLive": true,
"category": "<string>",
"subcategory": "<string>",
"volumeUsd": "<string>",
"closeCondition": "<string>",
"beginAt": "<string>",
"rulesPdf": "<string>",
"tags": [
"<string>"
],
"metadata": {
"eventId": "<string>",
"title": "<string>",
"subtitle": "<string>",
"slug": "<string>",
"series": "<string>",
"closeTime": "<string>",
"imageUrl": "<string>",
"isLive": true
},
"markets": [
{
"marketId": "<string>",
"openTime": 123,
"closeTime": 123,
"resolveAt": "<string>",
"eventId": "<string>",
"title": "<string>",
"marketResultPubkey": "<string>",
"imageUrl": "<string>",
"rulesPrimary": "<string>",
"rulesSecondary": "<string>",
"outcomes": [
"<string>"
],
"marketOptions": [
{
"label": "<string>",
"buyYes": true
}
],
"clobTokenIds": [
"<string>"
],
"isTeamMarket": true,
"team": {},
"sportsLine": 123,
"sportsMarketType": "<string>",
"pricing": {
"buyYesPriceUsd": 123,
"buyNoPriceUsd": 123,
"sellYesPriceUsd": 123,
"sellNoPriceUsd": 123,
"volume": 123
}
}
],
"volume24hr": "<string>",
"liveScore": "<unknown>"
}
],
"pagination": {
"start": 1,
"end": 1,
"total": 1,
"hasNext": true
}
}Authorizations
Get API key via https://developers.jup.ag/portal
Query Parameters
Data provider for events (defaults to polymarket)
kalshi, polymarket Include all allowed sports market types (moneyline, spread, totals) and extra (e.g. Saba) markets mapped onto Polymarket events. Defaults to false (moneyline only). F1 events always include every sportsMarketType.
x >= 0x >= 0all, crypto, sports, politics, esports, culture, economics, tech Sort field for events (volume or begin time). Pair with sortDirection to control ascending/descending.
volume, beginAt Direction for the chosen sort field. Defaults to desc for volume and asc for beginAt.
asc, desc Apply named filters. Use new for events created in the last 24 hours, live for events that have begun, trending for events with recent trade activity, and upcoming for events that have not begun yet.
new, live, trending, upcoming Filter events by tag (e.g. soccer).
Was this page helpful?
