Skip to main content
POST
/
2
/
pm
/
markets
/
batch
Batch fetch prediction-market details (up to 100)
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": [
    {
      "id": "<string>",
      "platform": "<string>",
      "marketId": "<string>",
      "slug": "<string>",
      "chainId": "<string>",
      "contractAddress": "<string>",
      "negRisk": true,
      "question": "<string>",
      "description": "<string>",
      "category": "<string>",
      "tags": [
        "<string>"
      ],
      "type": "<string>",
      "status": "<string>",
      "eventId": "<string>",
      "eventSlug": "<string>",
      "eventTitle": "<string>",
      "outcomes": [
        {
          "outcomeId": "<string>",
          "label": "<string>",
          "priceUSD": 123,
          "priceChange24hPercentage": 123,
          "priceChange7dPercentage": 123,
          "volume24hUSD": 123,
          "volume7dUSD": 123,
          "totalVolumeUSD": 123,
          "liquidityUSD": 123,
          "openInterestUSD": 123,
          "holdersCount": 123
        }
      ],
      "reference": {
        "type": "chainlink_streams",
        "symbol": "<string>",
        "marketType": "<string>",
        "priceToBeat": {
          "price": 123,
          "timestamp": "<string>"
        },
        "finalPrice": {
          "price": 123,
          "timestamp": "<string>"
        },
        "current": {
          "price": 123,
          "timestamp": "<string>"
        }
      },
      "stats": {
        "totalVolumeUSD": 123,
        "volume24hUSD": 123,
        "volume7dUSD": 123,
        "liquidityUSD": 123,
        "openInterestUSD": 123,
        "holdersCount": 123,
        "tradesCount": 123,
        "trades24h": 123
      },
      "metadata": {
        "createdAt": "<string>",
        "resolvedAt": "<string>",
        "endDate": "<string>",
        "resolved": true,
        "resolvedOutcome": "<string>",
        "logo": "<string>",
        "url": "<string>"
      }
    }
  ],
  "hostname": "<string>",
  "took": 123
}

Documentation Index

Fetch the complete documentation index at: https://docs.mobula.io/llms.txt

Use this file to discover all available pages before exploring further.

Alpha — This endpoint is part of the Prediction Markets API, currently in early access. May change without notice.

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

Up to 100 (platform, marketId) pairs to fetch in one round-trip.

Required array length: 1 - 100 elements

Response

200 - application/json

Prediction Markets response

payload
object[]
required
hostname
string
required
took
number
required