Skip to main content
The Surface API lets you look up any Kalshi contract ticker or Polymarket contract ID and get the full cross-exchange cluster — every contract in the same group, their resolution rules, and the relationships between them. One endpoint. Works in any direction.

Quickstart

Make your first request in under a minute.

API Reference

Full endpoint reference with interactive playground.

How it works

Surface maintains a continuously updated dataset of matched contracts across Kalshi and Polymarket. Every match passes through a multi-stage pipeline that checks team, date, line, and side alignment — mismatches are blocked, not returned. When you call /match/{contractID}, Surface resolves the input and returns the full cluster: all contracts in the same cross-exchange group and the relationships between them. The response is identical regardless of which contract ID you query.