Discover/Chess Results API
live

Chess Results APIchess-results.com

Track chess tournaments across any federation by viewing schedules, pairings, and upcoming games, or browse available tournaments to find competitions of interest. Get detailed round-by-round matchups and game information to stay updated on tournament progress and player performance.

This API takes change requests — .
Endpoint health
monitored
get_round_pairings
get_tournament_schedule
get_upcoming_games
list_tournaments
Checks pendingself-healing
Endpoints
4
Updated
2h ago
Try it
Filter by tournament status. Omitting returns all tournaments.
Three-letter FIDE federation code (e.g. ISR, USA, GER, RUS, FRA).
api.parse.bot/scraper/6cfbc235-7768-4f73-ad21-6f656ef67685/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/6cfbc235-7768-4f73-ad21-6f656ef67685/list_tournaments?status=playing&federation=ISR' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 chess-results-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: ChessResults SDK — browse federation tournaments and upcoming games."""
from parse_apis.chess_results_com_api import ChessResults, TournamentStatus, NotFoundError

client = ChessResults()

# List active tournaments for the Israeli chess federation.
for tournament in client.tournaments.search(federation="ISR", status=TournamentStatus.PLAYING, limit=5):
    print(tournament.name, tournament.tournament_id, tournament.status)

# Get a specific tournament and list its round schedule.
t = client.tournaments.search(federation="ISR", status=TournamentStatus.PLAYING, limit=1).first()
if t:
    for rd in t.rounds.list(limit=10):
        print(rd.round, rd.date, rd.time)

# Get pairings for a specific round of that tournament.
if t:
    for pairing in t.pairings.list(round="4", limit=5):
        print(pairing.board, pairing.white.name, "vs", pairing.black.name, "->", pairing.result)

# Typed error handling: try fetching a tournament that may not exist.
try:
    detail = client.tournaments.get(tournament_id="9999999")
    print(detail.name)
except NotFoundError as exc:
    print(f"Tournament not found: {exc}")

# Get upcoming games across all active tournaments in the next 14 days.
for game in client.tournaments.upcoming(federation="ISR", max_tournaments=5, limit=3):
    print(game.tournament_name, game.date, game.time, f"({game.total_boards} boards)")

print("exercised: tournaments.search / rounds.list / pairings.list / tournaments.get / tournaments.upcoming")
All endpoints · 4 totalmissing one? ·

List tournaments registered under a chess federation with their current status. Tournaments are sorted by most recent activity. Each tournament includes a unique ID that can be used with other endpoints to fetch schedule and pairing details.

Input
ParamTypeDescription
statusstringFilter by tournament status. Omitting returns all tournaments.
federationstringThree-letter FIDE federation code (e.g. ISR, USA, GER, RUS, FRA).
Response
{
  "type": "object",
  "fields": {
    "total": "integer",
    "federation": "string",
    "tournaments": "array of tournament objects"
  },
  "sample": {
    "data": {
      "total": 27,
      "federation": "ISR",
      "tournaments": [
        {
          "url": "https://chess-results.com/tnr1443093.aspx?lan=1",
          "name": "PT Classic JUN-JUL 2026",
          "number": 1,
          "status": "playing",
          "last_update": "St1 Hours 41 Min.",
          "tournament_id": "1443093"
        }
      ]
    },
    "status": "success"
  }
}

About the Chess Results API

The Chess Results API on Parse exposes 4 endpoints for the publicly available data on chess-results.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.