14-day free trial · No credit card required

Polymarket data
in 30 milliseconds.

Every Polymarket trade, indexed on-chain. REST API, WebSocket feed, and mempool access — faster than Polymarket's own API.

30ms
settled trade latency
10ms
pending trade latency
14
REST endpoints
3
SDK languages

Polymarket's API wasn't built for you

Rate limits between 300–1,500 requests per 10 seconds depending on the endpoint. Downtime. No mempool. No WebSocket. If you're building a bot, dashboard, or analytics platform, you've hit these walls.

We built a faster alternative. One API for everything — markets, trades, candles, orderbooks, and a real-time WebSocket feed. Plus mempool access so you see trades before they settle.

What you get

REST API

Markets, trades, OHLCV candles, orderbooks, pricing with 24h stats. Pagination, search, filters.

WebSocket streaming

Subscribe to all trades, token-specific trades, or market resolutions in real time. Optional compression.

Mempool access

See pending Polymarket transactions before they settle. React to trades seconds before everyone else.

SDKs in 3 languages

TypeScript, Python, and Rust. Type safety, auto-reconnection, error handling built in. Or just use curl.

Sub-millisecond responses

Most queries return in under 1ms. The API is designed for high-frequency use cases from the ground up.

Production-grade security

Hashed API keys, three permission scopes, per-key rate limits, IP blocking, key rotation. Not an afterthought.

Try it

Generate a key and start making requests. No signup form, no credit card.

Fetch active markets
curl https://api.gimme.fast/v1/markets?active=true \
  -H "X-API-Key: gf_your_key"
Get live price
curl https://api.gimme.fast/v1/price/TOKEN_ID \
  -H "X-API-Key: gf_your_key"
Stream trades (TypeScript)
import { GimmeWs } from "@gimme-fast/sdk";

const ws = new GimmeWs({ apiKey: "gf_..." });
ws.onTrade((t) => {
  console.log(`${t.side} ${t.size} @ $${t.price}`);
});
ws.subscribeTrades();
ws.connect();
Stream trades (Python)
from gimme_fast import GimmeWs

ws = GimmeWs(api_key="gf_...")

@ws.on_trade
def handle(trade):
    print(f"{trade.side} {trade.size} @ {trade.price}")

ws.subscribe_trades()
asyncio.run(ws.connect())

Pricing

Start free. Upgrade when you need WebSocket streaming, mempool access, or higher limits. Paid plans include a 14-day free trial.

Free

$0

For experimenting and small projects.

  • 100K requests / month
  • 100 req/min
  • 1 API key
  • REST API
  • Community support
Get started

Pro

$49/mo

For builders shipping real products.

  • 10M requests / month
  • 1,000 req/min
  • 5 API keys
  • REST + WebSocket
  • Mempool access
  • Email support
Start free trial

Growth

$199/mo

For high-volume bots and platforms.

  • 100M requests / month
  • 5,000 req/min
  • 20 API keys
  • REST + WebSocket
  • Mempool access
  • 99.9% SLA
  • Priority support
Start free trial

Enterprise

Custom

Dedicated infrastructure and SLA.

  • Unlimited requests
  • Custom rate limits
  • Unlimited API keys
  • Dedicated nodes
  • 99.99% SLA
  • Dedicated support
Contact us

Ready to build?

Generate a key and make your first request in 30 seconds.