Shuffle APIshuffle.com ↗
Access Shuffle.com weekly race leaderboards and active casino tournaments via API. Get top bettor rankings, prize pools, wagered amounts, and tournament scores.
What is the Shuffle API?
The Shuffle.com API exposes 2 endpoints covering live betting competition data from Shuffle.com, a crypto casino. The get_race_leaderboard endpoint returns the current weekly race standings with per-user wagered amounts, VIP levels, and prize pool metadata. The get_active_tournaments endpoint delivers all running tournaments with top scorer rankings and prize breakdowns — useful for tracking competitive activity in real time.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/a4dd1b37-fe11-4e67-938e-157af3035d7c/get_race_leaderboard' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace shuffle-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Shuffle.com SDK — live betting activity, bounded and re-runnable."""
from parse_apis.shuffle_com_api import Shuffle, ParseError
client = Shuffle()
# Fetch the current weekly race leaderboard (single scalar response).
try:
race_leaderboard = client.race_leaderboards.get_current()
except ParseError as e:
print(f"Extraction failed ({e.code}): {e}")
raise
print(f"Race: {race_leaderboard.race.name} | Prize: ${race_leaderboard.race.total_prize_usd}")
print(f"Total participants: {race_leaderboard.total_participants}")
# Show top 3 entries from the leaderboard.
for entry in race_leaderboard.leaderboard[:3]:
name = entry.username or "(private)"
print(f" #{entry.rank} {name} — wagered ${entry.wagered_usd}")
# List active tournaments, capped to 5 total items.
tournament_item = client.active_tournaments.list(limit=5).first()
if tournament_item is not None:
t = tournament_item.tournament
print(f"\nTournament: {t.name} | Domain: {t.domain} | Prize: ${t.total_prize_usd}")
# Show top scores for this tournament.
for score in tournament_item.top_scores[:3]:
scorer = score.username or "(private)"
print(f" #{score.rank} {scorer} — score {score.score}, prize ${score.prize_usd}")
print("\nexercised: race_leaderboards.get_current / active_tournaments.list")
Returns the current weekly race leaderboard showing top bettors ranked by total USD wagered, along with race metadata (prize pool, dates) and total participant count. The race resets weekly. Each leaderboard entry shows the user's rank, username (if public), VIP level, and total wagered amount in USD. Private users appear with null username/vip_level. Returns up to ~31 top entries as determined by the platform.
No input parameters required.
{
"type": "object",
"fields": {
"race": "object containing race metadata: id, type, name, currency, total_prize_usd, start_at, end_at",
"leaderboard": "array of ranked bettor entries with rank, username, vip_level, wagered_usd, race_entry_id",
"total_participants": "integer total number of race participants"
},
"sample": {
"data": {
"race": {
"id": "c874be0a-f592-4f73-83df-245ec6e767a4",
"name": "WEEKLY Race",
"type": "WEEKLY",
"end_at": "2026-08-23T07:00:00.000Z",
"currency": "BTC",
"start_at": "2026-08-16T07:00:00.000Z",
"total_prize_usd": "100000"
},
"leaderboard": [
{
"rank": 1,
"username": "GOATZK",
"vip_level": "DIAMOND_5",
"wagered_usd": "13619102.99",
"race_entry_id": "08108ffb-6718-4082-bae3-aceeb37cfff6"
},
{
"rank": 2,
"username": "LittleKid",
"vip_level": "OPAL_3",
"wagered_usd": "3467011.3",
"race_entry_id": "4d8926e4-ac14-4ea9-a4ff-219f680aff97"
}
],
"total_participants": 28148
},
"status": "success"
}
}About the Shuffle API
Weekly Race Leaderboard
The get_race_leaderboard endpoint returns the full state of the current weekly race. The response includes a race object with metadata — id, type, name, currency, total_prize_usd, start_at, and end_at — alongside a leaderboard array ranked by total USD wagered. Each entry in the array exposes rank, username (when the user's profile is public), vip_level, wagered_usd, and race_entry_id. The total_participants integer gives the full headcount for the race, not just those appearing in the leaderboard. Races reset on a weekly cadence, so data reflects the current cycle.
Active Casino Tournaments
The get_active_tournaments endpoint returns an array of all currently running tournaments. Each tournament object contains metadata — name, prize pool, start and end dates, and minimum bet — plus a top_scores array. Each entry in top_scores includes the scorer's username, their score, their prize in USD, and their rank within that tournament. Because tournaments are time-bound, the array will be empty when none are active; responses reflect the live state at the time of the request.
Coverage Notes
Both endpoints require no input parameters — they always return the current live state. Username fields are only populated when the Shuffle.com user has made their profile public. There is no historical data endpoint; this API covers current-cycle races and currently active tournaments only.
The Shuffle API is a managed, monitored endpoint for shuffle.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shuffle.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official shuffle.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display a live Shuffle.com weekly race leaderboard widget on a casino affiliate site using
wagered_usdandrankfields. - Alert a Telegram or Discord channel when specific usernames appear in the top 10 of
get_race_leaderboard. - Track prize pool sizes across weeks by polling
total_prize_usdfrom theracemetadata object. - Build a tournament tracker showing live top-scorer standings and prize amounts from
get_active_tournaments. - Monitor VIP-level distribution among top bettors using the
vip_levelfield on leaderboard entries. - Feed
total_participantsdata into a dashboard to measure week-over-week race engagement on Shuffle.com. - Identify high-value tournament opportunities by checking
minimum_betandprize poolfields across active tournaments.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Shuffle.com have an official developer API?+
What does `get_race_leaderboard` actually return — does it cover all participants or just the top ranked ones?+
leaderboard array covering the top bettors, along with a total_participants integer that reflects the full count of race entrants. Users who have not made their Shuffle.com profile public will have their username omitted from leaderboard entries.Does the API return historical race or tournament results from previous weeks?+
get_race_leaderboard and currently running competitions for get_active_tournaments. Past race results and completed tournament histories are not covered. You can fork this API on Parse and revise it to add an endpoint targeting historical race or tournament data.Can I filter the leaderboard by VIP level or wagered amount threshold?+
get_race_leaderboard endpoint takes no input parameters and returns the full ranked leaderboard as-is. Filtering by vip_level or a minimum wagered_usd threshold is not built in. You can fork this API on Parse and revise it to add filtering logic over the returned array.