What you get#
Onekey exposes Chess as 16 endpoints behind one API key: 6 endpoints return one record (data is an object) and 10 endpoints return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for Chess also works for the rest of the gaming category.
Endpoints#
| Endpoint | What it does | Parameters | Credits | Status |
|---|---|---|---|---|
club | Fetch a Chess.com club's public profile. | club* | 1 | stable |
club_matches | List a Chess.com club's finished team matches. | club* | 5 | stable |
daily_puzzle | Chess.com's daily puzzle. | - | 1 | stable |
game_archives | List the monthly game-archive URLs of a Chess.com player. | username* | 5 | stable |
leaderboard_blitz | Top 50 Chess.com blitz leaderboard. | - | 5 | stable |
leaderboard_bullet | Top 50 Chess.com bullet leaderboard. | - | 5 | stable |
leaderboard_daily | Top 50 Chess.com daily leaderboard. | - | 5 | stable |
leaderboard_rapid | Top 50 Chess.com rapid leaderboard. | - | 5 | stable |
leaderboard_tactics | Top 50 Chess.com tactics leaderboard. | - | 5 | stable |
player_clubs | List the clubs a Chess.com player belongs to. | username* | 5 | stable |
player_tournaments | List the tournaments a Chess.com player has finished. | username* | 5 | stable |
profile | Fetch a Chess.com player's public profile. | username* | 1 | stable |
random_puzzle | A random Chess.com daily-puzzle from the archive. | - | 1 | stable |
stats | Fetch a Chess.com player's ratings and W/L/D records per time control. | username* | 1 | stable |
streamers | Chess.com streamers and whether they are live. | - | 5 | stable |
tournament | Fetch a Chess.com tournament. | tournament* | 1 | stable |
A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.
Make a request#
This calls chess.club (1 credit, stable). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.
curl "https://api.onekey.dev/v1/chess/club?club=chess-com-developer-community" \
-H "x-api-key: YOUR_API_KEY"Fields you get back#
These unified fields come back from Chess, with the same names as on every other platform. The count is how many of its 16 mapped endpoints return the field; a field the source lacks is null, never missing. 25 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.
| Field | Type | Endpoints |
|---|---|---|
author.username | string | 8 |
author.avatarUrl | URL | 7 |
author.url | URL | 7 |
content.createdAt | ISO 8601 date | 7 |
author.displayName | string | 6 |
author.id | string | 6 |
entity.url | URL | 6 |
entity.stats.rank | integer | 5 |
entity.stats.score | number | 5 |
media.thumbnailUrl | URL | 4 |
content.title | string | 3 |
content.url | URL | 3 |
entity.name | string | 3 |
entity.status | string | 3 |
content.text | string | 2 |
entity.id | string | 2 |
entity.type | string | 2 |
entity.updatedAt | ISO 8601 date | 2 |
author.followers | integer | 1 |
author.verified | boolean | 1 |
entity.description | string | 1 |
entity.location | string | 1 |
entity.stats.members | integer | 1 |
The full schema is in Unified schema.
Pricing#
Chess calls cost 1 to 5 credits, flat per endpoint. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.