Skip to main content
GET
/
api
/
{exchange}
/
fetchMarkets
import pmxt

# API key optional — enables faster catalog-backed lookups
exchange = pmxt.Polymarket(
    pmxt_api_key="YOUR_PMXT_API_KEY",
)
result = exchange.fetch_markets(
    limit=10,
    offset=0,
    sort="volume",
    status="active",
    search_in="title",
    query="election",
    slug="BTC-USD",
    market_id="12345",
    outcome_id="67890",
    event_id="12345",
    page=1,
    similarity_threshold=1,
)
{
  "success": true,
  "error": {
    "message": "<string>"
  },
  "data": [
    {
      "marketId": "<string>",
      "title": "<string>",
      "description": "<string>",
      "outcomes": [
        {
          "outcomeId": "<string>",
          "label": "<string>",
          "price": 123,
          "marketId": "<string>",
          "priceChange24h": 123,
          "metadata": {}
        }
      ],
      "resolutionDate": "2023-11-07T05:31:56Z",
      "volume24h": 123,
      "liquidity": 123,
      "url": "<string>",
      "eventId": "<string>",
      "slug": "<string>",
      "volume": 123,
      "openInterest": 123,
      "image": "<string>",
      "category": "<string>",
      "tags": [
        "<string>"
      ],
      "tickSize": 123,
      "status": "<string>",
      "contractAddress": "<string>",
      "sourceMetadata": {},
      "sourceExchange": "<string>",
      "yes": {
        "outcomeId": "<string>",
        "label": "<string>",
        "price": 123,
        "marketId": "<string>",
        "priceChange24h": 123,
        "metadata": {}
      },
      "no": {
        "outcomeId": "<string>",
        "label": "<string>",
        "price": 123,
        "marketId": "<string>",
        "priceChange24h": 123,
        "metadata": {}
      },
      "up": {
        "outcomeId": "<string>",
        "label": "<string>",
        "price": 123,
        "marketId": "<string>",
        "priceChange24h": 123,
        "metadata": {}
      },
      "down": {
        "outcomeId": "<string>",
        "label": "<string>",
        "price": 123,
        "marketId": "<string>",
        "priceChange24h": 123,
        "metadata": {}
      }
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://pmxt-feat-series-api.mintlify.app/llms.txt

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

Faster with an API key — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. Learn more.

Use cases

Search by keyword

Find all markets mentioning “bitcoin” on Polymarket:
import pmxt

# Optional: pass pmxt_api_key for ~100x faster catalog-backed lookups
api = pmxt.Polymarket()
markets = api.fetch_markets(query="bitcoin", limit=5)
for market in markets:
    print(market.title, market.yes.price)

Filter by category

Get all sports markets on Kalshi:
import pmxt

api = pmxt.Kalshi()
markets = api.fetch_markets(category="Sports", limit=5)

Filter by tags

Get markets tagged with elections and Trump:
import pmxt

api = pmxt.Polymarket()
markets = api.fetch_markets(tags=["Elections", "Trump"], limit=5)

Sort by volume

Find the highest-volume active markets on Limitless:
import pmxt

api = pmxt.Limitless()
markets = api.fetch_markets(
    sort="volume",
    status="active",
    limit=5,
)

Path Parameters

exchange
enum<string>
required

The prediction market exchange to target.

Available options:
polymarket,
kalshi,
kalshi-demo,
limitless,
probable,
baozi,
myriad,
opinion,
metaculus,
smarkets,
polymarket_us,
suibets,
router

Query Parameters

limit
number

Maximum number of results to return

offset
number

Pagination offset — number of results to skip

sort
enum<string>

Sort order for results

Available options:
volume,
liquidity,
newest
status
enum<string>

Filter by market status (default: 'active', 'inactive' and 'closed' are interchangeable)

Available options:
active,
inactive,
closed,
all
searchIn
enum<string>

Where to search (default: 'title')

Available options:
title,
description,
both
query
string

For keyword search

slug
string

For slug/ticker lookup

marketId
string

Direct lookup by market ID

outcomeId
string

Reverse lookup -- find market containing this outcome

eventId
string

Find markets belonging to an event

page
number

For pagination (used by Limitless)

similarityThreshold
number

For semantic search (used by Limitless)

Response

200 - application/json

Fetch Markets response

success
boolean
Example:

true

error
object
data
object[]