Skip to main content
GET
/
api
/
router
/
fetchMarketMatches
Python
import pmxt

# API key required — queries the cross-venue catalog
exchange = pmxt.Router(
    pmxt_api_key="YOUR_PMXT_API_KEY",
)
result = exchange.fetch_market_matches(market_id="12345")
{
  "success": true,
  "error": {
    "message": "<string>"
  },
  "data": [
    {
      "market": {
        "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>",
        "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": {}
        }
      },
      "relation": "identity",
      "confidence": 123,
      "reasoning": "<string>",
      "bestBid": 123,
      "bestAsk": 123,
      "sourceMarket": {
        "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>",
        "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.dev/docs/llms.txt

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

Use cases

Find the same market on other venues

Fetch a market from Polymarket, then find it on every other venue:
import pmxt

# Step 1: Get a market from any venue
poly = pmxt.Polymarket()
market = poly.fetch_market(slug="will-gavin-newsom-win-the-2028-us-presidential-election")

# Step 2: Find matches across all other venues (requires API key)
router = pmxt.Router(pmxt_api_key="YOUR_PMXT_API_KEY")
matches = router.fetch_market_matches(market=market)

for match in matches:
    print(f"{match.market.source_exchange}: {match.market.title} ({match.relation}, {match.confidence:.0%})")

Look up by market ID

If you already have a market ID, pass it directly:
import pmxt

router = pmxt.Router(pmxt_api_key="YOUR_PMXT_API_KEY")
matches = router.fetch_market_matches(market_id="46ac6f9c-c66a-48a5-8f12-beefd6e06221")

for match in matches:
    print(match.market.source_exchange, match.market.title)

Browse all matched markets

List all cross-venue market matches in the catalog:
import pmxt

router = pmxt.Router(pmxt_api_key="YOUR_PMXT_API_KEY")
matches = router.fetch_market_matches()

for match in matches:
    print(match.source_market.title)
    print(f"  {match.source_market.source_exchange}: {match.source_market.url}")
    print(f"  {match.market.source_exchange}: {match.market.url}")

# Will Gavin Newsom win the 2028 US Presidential Election?
#   polymarket: https://polymarket.com/event/...
#   kalshi:     https://kalshi.com/events/...

Authorizations

Authorization
string
header
required

Required when calling the hosted API directly (curl, requests, fetch). SDK users pass credentials via constructor params instead.

Query Parameters

query
string

Keyword search across matched market titles.

category
string

Filter matches by category.

market
object

Pass a UnifiedMarket directly instead of marketId/slug/url.

marketId
string

Lookup a specific market by ID. Omit for browse mode.

slug
string
url
string
relation
enum<string>
Available options:
identity,
subset,
superset,
overlap,
disjoint
minConfidence
number
limit
number
includePrices
boolean
minDifference
number

Minimum price difference between venues. Browse mode only.

sort
enum<string>

Sort order. Browse mode only.

Available options:
confidence,
volume,
priceDifference

Response

200 - application/json

Market Matches response

success
boolean
Example:

true

error
object
data
object[]