Sports Matching
Query matched game markets by sport and date. Returns all matched pairs for each game across all available platforms.
Case StudySee how Elastics built their AI trading terminal on this endpoint→
Matches aren't always 100% accurate. Verify all data before executing a trade.
/v2/matching-markets/sportsQuery Parameters
Sport code: nba, nhl, mlb, nfl, cfb, cbb, epl, ucl, laliga, bundesliga, ligue1, seriea, mls, ligamx, atp, wta, pga, and more. Use league codes for soccer (epl, mls, etc.), not 'soccer'. The alias football maps to nfl.
Date in YYYY-MM-DD format. Defaults to today.
Comma-separated list of platforms. Only return groups matching all listed platforms.
Response Schema
The sport code that was queried.
The date that was queried (YYYY-MM-DD).
Matched games for the given sport and date.
Internal match group ID.
Game title (e.g. "Lakers vs Celtics").
Date of the game (YYYY-MM-DD).
Markets from each platform for this game.
Platform name (polymarket, kalshi, etc.).
Platform-native market ID.
Direct link to the market on the platform.
Current best bid price for YES.
Current best ask price for YES.
Last traded price.
Authentication
API Key
To secure your requests, we strongly recommend passing your API key via the X-API-Key header. This prevents sensitive keys from being exposed in access logs or browser history.
X-API-Key: pmx_test_5e8f...Rate Limits
API rate limits are enforced based on the tier associated with your API key. Limits are tracked on two dimensions: requests per second and requests per month. Each completed request counts toward the global monthly quota. Separate endpoint-group monthly limits (matched markets, arbitrage, EV) only advance when the response body has success: true.
Usage is returned on responses via headers such as:
X-RateLimit-Limit-Second: 10X-RateLimit-Remaining-Second: 9X-RateLimit-Limit-Month: 1000X-RateLimit-Remaining-Month: 842Example (endpoint-group, when applicable)X-RateLimit-Limit-Arb-Month: 500X-RateLimit-Remaining-Arb-Month: 412If you exceed a rate limit, the API returns a 429 status with a Retry-After header indicating when you can resume.
Request
Live API Key
Sports Parameters
Response
—Click EXECUTE to send a request →