Prediction Hunt/ API
REST API / Matching / Matching Markets

Matching Markets

Find equivalent markets across all supported prediction market platforms using a free-text query, Polymarket slug, or Kalshi ticker.

Case Study

See how Elastics built their AI trading terminal on this endpoint

Matches aren't always 100% accurate. Verify all data before executing a trade.

GET/v2/matching-markets

Query Parameters

qstring

Free-text search query (e.g. 'federal reserve rate'). Provide exactly one of q, polymarket_key, or kalshi_key (not query, polymarket_slug, or kalshi_ticker).

polymarket_keystring

Polymarket slug or identifier.

kalshi_keystring

Kalshi ticker.

Response Schema

successboolean

Whether matching events were found.

countinteger

Number of matching events returned.

eventsobject[]

Matched events with cross-platform market groups.

titlestring

Event name (e.g. "Will the Fed cut rates in March 2026?").

event_typestring

Category: economics, sports, election, etc.

event_datestring

Date of the event.

confidencestring

Match confidence: "high" or "medium". Low-confidence events are excluded.

groupsobject[]

Market groups within this event.

titlestring

Group title (e.g. the specific proposition).

marketsobject[]

Matched markets across platforms.

sourcestring

Platform (polymarket, kalshi, etc.).

source_urlstring

Direct link to the market.

idstring

Platform-specific market identifier.

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.

Request HeaderX-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:

Response Headers (global)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: 412

If 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

Demo Mode
Verified

Search Parameters

Search Query
Polymarket Key
Kalshi Key

Response

Click EXECUTE to send a request →