Skip to main content
GET /v0/markets is the flat, per-market counterpart to /v0/events. Same catalog, same filters, but returns individual markets (with their outcomes) rather than events with nested markets. Use it when you want to rank or compare markets directly — for example, “the top 50 highest-volume markets on any venue mentioning ‘election’”.

Endpoint

GET https://api.pmxt.dev/v0/markets
Authorization: Bearer pmxt_live_...

Query parameters

ParameterTypeDefaultNotes
querystringFull-text ILIKE over market title and slug.
limitinteger50Max rows, capped at 500.
offsetinteger0Standard pagination offset.
closedbooleanfalseInclude markets in closed / resolved status.
categorystringExact match on normalized category.
exchangestringFilter to a single venue (polymarket, kalshi, …).

Example

curl "https://api.pmxt.dev/v0/markets?query=election&limit=3" \
  -H "Authorization: Bearer pmxt_live_..."
{
  "data": [
    {
      "marketId": "d35bc8c6-5602-477d-af21-e9513af9d696",
      "eventId":  "3b6432b6-c956-446e-a7a6-abda14e97aba",
      "title":    "US forces enter Iran by April 30?",
      "volume24h": 89757605.08,
      "outcomes": [
        { "outcomeId": "…", "label": "April 30",     "price": 0.9985, "priceChange24h":  0.002 },
        { "outcomeId": "…", "label": "Not April 30", "price": 0.0015, "priceChange24h":  0.000 }
      ]
    }
  ],
  "meta": { "count": 3, "limit": 3, "offset": 0 }
}

Events vs markets

You want…Use
A single answer for a topic with many questionsGET /v0/events
A flat list ranked across all eventsGET /v0/markets
The full venue surface (writes, OHLCV, …)POST /api/:exchange/:method
All three return the same unified shape, so moving between them is a routing decision — not a data-mapping one.