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

# API key optional — enables faster catalog-backed lookups
exchange = pmxt.Polymarket(
    pmxt_api_key="YOUR_PMXT_API_KEY",
)
result = exchange.fetch_events(
    query="election",
    limit=10,
    cursor="abc123",
    offset=0,
    sort="volume",
    status="active",
    search_in="title",
    event_id="12345",
    slug="BTC-USD",
    series="value",
    filter="value",
    category="value",
    tags=[],
)
{
  "success": true,
  "error": {
    "message": "<string>"
  },
  "data": [
    {
      "id": "<string>",
      "title": "<string>",
      "description": "<string>",
      "slug": "<string>",
      "markets": [
        {
          "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": {}
          }
        }
      ],
      "volume24h": 123,
      "url": "<string>",
      "volume": 123,
      "image": "<string>",
      "category": "<string>",
      "tags": [
        "<string>"
      ],
      "sourceMetadata": {},
      "sourceExchange": "<string>"
    }
  ]
}

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 events mentioning “Trump” on Polymarket:
import pmxt

# Optional: pass pmxt_api_key for ~100x faster catalog-backed lookups
api = pmxt.Polymarket()
events = api.fetch_events(query="trump", limit=5)
for event in events:
    print(event.title, event.url)

Filter by category

Get all crypto-related events on Kalshi:
import pmxt

api = pmxt.Limitless()
events = api.fetch_events(category="Crypto", limit=5)

Filter by tags

Get events tagged with geopolitics:
import pmxt

api = pmxt.Polymarket()
events = api.fetch_events(tags=["Geopolitics", "Middle East"], limit=5)

Sort by volume

Find the highest-volume active sports events:
import pmxt

api = pmxt.Polymarket()
events = api.fetch_events(
    category="Sports",
    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

query
string

For keyword search

limit
number

Maximum number of results to return

cursor
string

Opaque venue pagination cursor, where supported.

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 event 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
eventId
string

Direct lookup by event ID

slug
string

Lookup by event slug

series
string

Filter events by their parent series. Accepts the venue-native series id / ticker / slug (e.g. Kalshi "KXATPMATCH", Polymarket "wta"). Passed through to the vendor where supported, otherwise applied to sourceMetadata after fetch.

filter
object

Optional client-side filter applied after fetching

category
string

Filter by category. Each event belongs to a venue-assigned category such as "Sports", "Politics", "Crypto", "Bitcoin", "Soccer", "Economic Policy" (Polymarket) or "Sports", "Mentions" (Kalshi).

tags
string[]

Filter by tags. Returns events matching ANY of the provided tags. Tags are more specific than categories -- for example a "Politics" event might carry tags ["Politics", "Geopolitics", "Middle East", "Iran"]. Common tags include "Crypto", "Elections", "Fed Rates", "FIFA World Cup", "Trump".

Response

200 - application/json

Fetch Events response

success
boolean
Example:

true

error
object
data
object[]