How to Map Markets Across Prediction Markets Automatically
Same event, different books. Fetch, normalize, match, verify, then keep the join key alive.
Why titles never match
Symbols, wording, and resolution rules differ per book for the same event, so string matching breaks on the cases that matter.
The 4 steps
- Fetch venue markets.
- Normalize titles and symbols.
- Match markets that describe the same event.
- Verify resolutions line up.
ToolingOne HTTP client and an API key:
curl -H "x-api-key: YOUR_KEY" \
"https://api.matchwire.win/api/v1/rows?sport=nfl". See the docs.Worked example
A Polymarket International, Polymarket US, and Kalshi walkthrough on generic tickers.
DataReal row key:
ev:ncaaf:alabama:south-carolina:2026-09-26, with one listing per venue, each naming the venue's own market ID and the exact request that reads it.Automate it
DIY upkeep against one maintained join key. matchwire keeps the mapped ID; you keep your client. Accuracy figures are not published yet; matching is tiered, only alias-resolved equality auto-binds, and unsure matches are held for review. See event mapping.
Mistakes that break joins
Resolution mismatches, duplicate listings, stale markets, and wording that drifts after a market is repriced.
FAQ
- Manual or automatic?
- Manual works once. Automation wins on upkeep. Plans start at $99 per month with a 14-day trial; see pricing.
- How is accuracy reviewed?
- Every match carries a tier and a confidence, unsure matches are held for review instead of served, and a wrong bind becomes a must-not-match case. Review rates are not published yet.
- Where does the code live?
- Start at the quickstart.
- Which venues?
- Polymarket International, Polymarket US, Kalshi, PredictFun.