Skip to main content
The Surface API lets you look up any Kalshi contract ticker or Polymarket contract slug and get the full cross-exchange cluster — every contract in the same group and the relationships between them. Resolution rules are available with include_rules=true. Look up one contract or list a configured scope.

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 one cluster: all contracts in the same cross-exchange group and their links. Contracts are grouped by exchange and ID; links are nested by both exchange and contract ID.