api.duelapi.com
Real-time game data

Every crash. Every spin.

Crash multipliers, castle roulette, every casino bet, player stats and sports odds from Duel.com, served as clean JSON the moment they land.

Crash rounds
Roulette spins
99.9%Uptime

Live latency

/health
Tap to pinga real request from your browser

Rounds tracked

live
total rounds
  • Crash
  • Roulette
  • Server up

Crash multipliers

Loading…
2.00x or higherBelow 2.00x2.00x line

Rounds agoMultiplier
rounds at
2.00x or more
median
multiplier
highest
multiplier
Build on it

One key. Every round, bet and odd.

Simple REST with clear docs. Send the key in a header or the query string, get JSON back, no SDK needed.

Your first multiplier in ten lines

const res = await fetch(
  'https://api.duelapi.com/crash/recent?limit=10',
  { headers: { 'X-API-Key': 'your_api_key_here' } }
);
const { recent } = await res.json();
console.log(recent[0].multiplier);
import requests

res = requests.get(
    'https://api.duelapi.com/crash/recent?limit=10',
    headers={'X-API-Key': 'your_api_key_here'},
    timeout=60,
)
print(res.json()['recent'][0]['multiplier'])
curl -H "X-API-Key: your_api_key_here" \
  "https://api.duelapi.com/crash/recent?limit=10"

Response

{
  "total": 49957,
  "limit": 10,
  "hasMore": true,
  "recent": [
    {
      "game": "crash",
      "round": 455814,
      "multiplier": 1.60,
      "state": "crashed",
      "isoTimestamp": "2025-12-11T20:12:31.815Z"
    }
  ]
}

Crash & roulette

History, latest round and statistics: averages, min/max and distribution.

  • GET/crash/recent
  • GET/roulette/recent
  • GET/crash/last
  • GET/roulette/last
  • GET/crash/stats
  • GET/roulette/stats

Sports odds

Live and prematch odds, Odds-API compatible, so existing clients just work.

  • GET/v4/sports
  • GET/v4/sports/{sport}/events
  • GET/v4/sports/{sport}/odds
  • GET/v4/events/{id}/history

Bets, players & chat

Every casino bet, the 63k-player leaderboard, public chat and ready-made analytics.

  • GET/bets/recent
  • GET/bets/stats
  • GET/players/{username}
  • GET/chat/recent
  • GET/analytics/overview

Secure & open

  • API-key auth via header or query string
  • CORS enabled for browser apps
  • Paginated up to 10,000 rounds a page
  • Handles messy data: dedupes and normalizes automatically
  • 99.9% uptime target
Pricing

Start free. Pay for what you use.

Free
$0forever
200credits / month
  • Try the WebSocket for about 40 minutes
  • Every endpoint, REST and WebSocket
  • Crash, castle roulette, bets, chat, players, sports odds
  • 10 requests / minute
Get a free key
Starter
$9/ month
250,000credits / month
  • Stream crash + castle results all month
  • Every endpoint, REST and WebSocket
  • Crash, castle roulette, bets, chat, players, sports odds
  • 60 requests / minute
Choose Starter
Scale
$79/ month
6,000,000credits / month
  • Stream every game's bets, or the live sports feed, all month
  • Every endpoint, REST and WebSocket
  • Crash, castle roulette, bets, chat, players, sports odds
  • 1,200 requests / minute
Choose Scale

Top-ups

Ran out early? Add credits to any plan. They're used after your monthly credits and last 12 months.

  • 250,000 credits$8
  • 2,000,000 credits$49
Top up a key

How credits work

Each successful request costs credits. Failed requests are free.

Latest round, chat, players1
History pages (/crash/recent, /bets/recent…)1 per 100 rows
Round details (/crash/rounds/{id})2
Stats and analytics5
Sports events, scores, one event's markets5–10
Sports odds with full markets5 per event
WebSocket: crash or castle result1.5
WebSocket: bets, chat and other events1 per 5 events

Monthly credits refill every 30 days and don't roll over. Cancel or change plan any time in Manage billing. See the full cost list and terms.

Manual keys & questions

Need a custom plan, an invoice, or more than 6M credits a month? Get in touch.

Emailduelapi@proton.me Open mail →