Jupiter Markets API
The Markets API from Jupiter — 3 operation(s) for markets.
The Markets API from Jupiter — 3 operation(s) for markets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/jupiter-ag:jupiter-ag-markets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Jupiter Prediction Market Markets API
version: 1.0.0
description: Jupiter Prediction Market API Schema
servers:
- url: https://api.jup.ag/prediction/v1
description: Jupiter Prediction Market API Endpoint
security:
- ApiKeyAuth: []
tags:
- name: Markets
paths:
/events/{eventId}/markets:
get:
tags:
- Markets
summary: List event markets
description: Paginated list of the binary markets of an event. Each market is a YES/NO question with its own id, status, pricing and result.
parameters:
- schema:
type: string
minLength: 1
description: Event identifier
required: true
description: Event identifier
name: eventId
in: path
- schema:
type:
- integer
- 'null'
minimum: 0
required: false
description: Pagination start index of the page to return.
name: start
in: query
- schema:
type:
- integer
- 'null'
minimum: 0
required: false
description: Pagination end index of the page to return.
name: end
in: query
responses:
'200':
description: List of markets for the given event
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Market'
pagination:
$ref: '#/components/schemas/Pagination'
required:
- data
- pagination
operationId: getEventsByEventIdMarkets
x-operation-id-source: derived
/events/{eventId}/markets/{marketId}:
get:
tags:
- Markets
summary: Get event market
description: 'One market scoped to its event: title, status, result, open and close times, resolution time, rules and outcomes with current pricing.'
parameters:
- schema:
type: string
minLength: 1
description: Event identifier
required: true
description: Event identifier
name: eventId
in: path
- schema:
type: string
minLength: 1
description: Market identifier
required: true
description: Market identifier
name: marketId
in: path
responses:
'200':
description: Market data
content:
application/json:
schema:
$ref: '#/components/schemas/Market'
'404':
description: Market not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getEventsByEventIdMarketsByMarketId
x-operation-id-source: derived
/markets/{marketId}:
get:
tags:
- Markets
summary: Get market
description: 'One market by id: title, status, result, open and close times, resolution time, rules and outcomes with current pricing. Prices are in micro USD (1,000,000 = $1).'
parameters:
- schema:
type: string
minLength: 1
description: Market identifier
required: true
description: Market identifier
name: marketId
in: path
responses:
'200':
description: Market data
content:
application/json:
schema:
$ref: '#/components/schemas/Market'
'404':
description: Market not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getMarketsByMarketId
x-operation-id-source: derived
components:
schemas:
ErrorResponse:
type: object
properties:
type:
type: string
enum:
- invalid_request_error
- authentication_error
- permission_error
- idempotency_error
- rate_limit_error
- api_error
message:
type: string
code:
type: string
param:
type: string
request_id:
type: string
doc_url:
type: string
required:
- type
- message
- request_id
MarketPricing:
type: object
properties:
buyYesPriceUsd:
type:
- number
- 'null'
buyNoPriceUsd:
type:
- number
- 'null'
sellYesPriceUsd:
type:
- number
- 'null'
sellNoPriceUsd:
type:
- number
- 'null'
volume:
type: number
description: Trading volume for this market
Market:
type: object
description: Market fields are returned flat (there is no nested `metadata` object).
properties:
marketId:
type: string
description: Market identifier
eventId:
type: string
description: Parent event identifier
provider:
type: string
enum:
- polymarket
- gx
- bisonfi
description: Market data provider
title:
type: string
description: Market title
status:
type: string
enum:
- open
- closed
- cancelled
description: Current market status
result:
type:
- string
- 'null'
enum:
- 'yes'
- 'no'
description: Market result. null until resolved, then "yes" or "no"
openTime:
type: number
description: Unix timestamp (seconds) when the market opens
closeTime:
type: number
description: Unix timestamp (seconds) when the market closes
resolveAt:
oneOf:
- type: string
- type: number
description: When the market resolved. null while open; returned as an ISO 8601 string once resolved
marketResultPubkey:
type:
- string
- 'null'
description: Public key of the market result account
imageUrl:
type:
- string
- 'null'
format: uri
description: Market image URL
rulesPrimary:
type: string
description: Primary resolution rules
rulesSecondary:
type: string
description: Secondary resolution rules
outcomes:
type: array
items:
type: string
description: Outcome labels for the market
marketOptions:
type: array
items:
type: object
properties:
label:
type: string
buyYes:
type: boolean
description: Selectable options for team or multi-outcome markets
clobTokenIds:
type: array
items:
type: string
description: Underlying CLOB token IDs (provider-specific)
isTeamMarket:
type: boolean
description: True for team or sports markets
team:
type:
- object
- 'null'
description: Team metadata, present for team markets
sportsLine:
type:
- number
- 'null'
description: Sports line or handicap, when applicable
sportsMarketType:
type:
- string
- 'null'
description: Sports market type, when applicable
outcomeMint:
type:
- string
- 'null'
description: Outcome token mint for this market side (Jupiter Forecast / bisonfi). Buying the market gives you this token; it can also be traded directly through the Swap API.
outcomeTokenProgram:
type:
- string
- 'null'
description: Token program that owns `outcomeMint`. Jupiter Forecast uses Token-2022 (`TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`).
marketPda:
type:
- string
- 'null'
description: On-chain market account (Jupiter Forecast / bisonfi).
outcomeSide:
type:
- string
- 'null'
description: Outcome side for Jupiter Forecast markets (`up` or `down`).
tradable:
type: boolean
description: Whether this Jupiter Forecast side can be traded right now. The Discover example filters on this field.
lifecycleStatus:
type: string
enum:
- open
- resolving
- settled
description: 'Jupiter Forecast trading lifecycle: `open`, `resolving` after the close time, or `settled` after issuer resolution. Only `open` is tradable.'
pricing:
$ref: '#/components/schemas/MarketPricing'
required:
- marketId
- status
- result
- openTime
- closeTime
- resolveAt
Pagination:
type: object
properties:
start:
type: integer
minimum: 0
end:
type: integer
minimum: 0
total:
type: integer
minimum: 0
hasNext:
type: boolean
required:
- start
- end
- total
- hasNext
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Get API key via https://developers.jup.ag/portal
x-provenance:
method: harvested
publisher: Jupiter
source: https://developers.jup.ag/docs/openapi-spec/prediction/prediction.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)