- Locally — the open-source pmxt sidecar runs on your machine. No API key, no external dependency. Your requests go directly to the venues.
- Hosted —
api.pmxt.devadds a shared catalog, cross-venue search, and you skip running infrastructure. Set an API key and the SDK switches automatically.
pmxt.Kalshi(...), pmxt.Limitless(...) — and
the methods and response shapes stay the same.
What you get
Unified interface for every venue
Same methods, same response shape, every venue.
fetch_markets,
create_order, fetch_positions work identically whether you’re on
Polymarket or Kalshi.Cross-venue search
The Router searches every venue in a single query and returns ranked,
unified results — the foundation for a smart order router for
prediction markets.
Fast reads from a shared catalog
PMXT continuously ingests every venue into a Postgres catalog. Reads
hit an index instead of fanning out across 11 different APIs.
Same SDK, local or hosted
The
pmxt (Python) and pmxtjs (TypeScript) SDKs work identically
against localhost or the hosted API. Set one env var to switch.What you’d build yourself
Without PMXT, getting cross-venue prediction market data means:- 11 venue integrations — each with its own auth, pagination, field names, and rate limits. Polymarket uses CLOB token IDs. Kalshi uses tickers. Smarkets uses contract IDs. You normalize all of it.
- A data pipeline — to ingest, deduplicate, and keep fresh as markets open, resolve, and re-price across every venue.
- A search layer — because querying 11 APIs sequentially is slow.
- Ongoing maintenance — every time a venue changes a field name or ships a new endpoint, your integration breaks.
fetch_markets(query="...") and get
back clean, unified data.
Get started
Quickstart
API key to working code in 30 seconds.
Router
Cross-venue search and the beginning of smart order routing.
Unified schema
The data shape that works everywhere.
API reference
Every method, with interactive try-it-out.

