Skip to main content
POST
/
2
/
pm
/
markets
/
batch
Get multiple prediction markets at once
curl --request POST \
  --url https://demo-api.mobula.io/api/2/pm/markets/batch \
  --header 'Content-Type: application/json' \
  --data '
{
  "items": [
    {
      "platform": "<string>",
      "marketId": "<string>"
    }
  ]
}
'
{
  "payload": [
    {}
  ],
  "hostname": "<string>",
  "took": 123
}

Request Body

items
array
required
Array of market identifiers to fetch (1 to 50 items). Requests with more than 50 items will return a 400 error.

Response

payload
array
Array of market detail objects (same shape as the single market details endpoint).
hostname
string
Server hostname that handled the request.
took
number
Time in milliseconds the server spent processing the request.

Usage Example

curl -X POST "https://api.mobula.io/api/2/pm/markets/batch" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "platform": "polymarket", "marketId": "0xabc..." },
      { "platform": "polymarket", "marketId": "0xdef..." }
    ]
  }'

Example Response

{
  "payload": [
    {
      "id": "polymarket:0xabc...",
      "platform": "polymarket",
      "marketId": "0xabc...",
      "question": "Will ETH reach $10,000 by end of 2026?",
      "status": "active",
      "outcomes": [
        { "outcomeId": "71321...", "label": "Yes", "priceUSD": 0.35 }
      ],
      "stats": { "totalVolumeUSD": 1250000, "volume24hUSD": 45000 }
    }
  ],
  "hostname": "pm-api-prod-eu-abc123",
  "took": 42
}
Batch POST endpoints use payload (not data) as the response wrapper — this matches the spot API batch convention (e.g., POST /market/multi-data).

Body

application/json
items
object[]
required
Required array length: 1 - 50 elements

Response

200 - application/json

Batch market details

payload
object[]
hostname
string
took
number