Org APIchess.org.il ↗
Search chess players registered with the Israel Chess Federation. Returns ratings, club affiliations, FIDE numbers, tournament counts, and more via one endpoint.
What is the Org API?
The chess.org.il API gives developers access to player data from the Israel Chess Federation through a single search_players endpoint returning up to 10 fields per player record. A single query can return up to 250 matching players, each carrying their federation player ID, FIDE number, club affiliation, gender, status, and tournament participation count. Input accepts Hebrew name strings, matching partial names as well as full ones.
curl -X GET 'https://api.parse.bot/scraper/c7da0745-f5a9-4d91-86c2-e239a7a526ae/search_players?name=%D7%9B%D7%94%D7%9F' \ -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 chess-org-il-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: Israel Chess Federation API — search players by name."""
from parse_apis.chess_org_il_api import IsraelChess, ParseError
client = IsraelChess()
# Search for players by a common Hebrew surname, cap at 5 results
for player in client.players.search(name="כהן", limit=5):
print(player.name, player.israeli_rating, player.club)
# Take one player and inspect details
player = client.players.search(name="לוי", limit=1).first()
if player:
print(player.name, player.fide_number, player.country, player.rank)
# Handle errors gracefully
try:
result = client.players.search(name="אור", limit=3).first()
if result:
print(result.name, result.player_id, result.birth_year)
except ParseError as e:
print(f"Error: {e}")
print("exercised: players.search")
Search for chess players registered with the Israel Chess Federation by name. Returns up to 250 matching players with their ratings, club affiliations, FIDE numbers, and other details. The search matches against player names in Hebrew.
| Param | Type | Description |
|---|---|---|
| namerequired | string | Player name or partial name to search for, in Hebrew (e.g. כהן, אור, לוי). |
{
"type": "object",
"fields": {
"total": "integer count of returned players",
"players": "array of player objects with player_id, name, player_number, country, gender, num_tournaments, club, fide_number, status, israeli_rating, fide_standard_rating, rank, chess_card, birth_year, role",
"search_name": "string echo of the search query"
},
"sample": {
"data": {
"total": 250,
"players": [
{
"club": "מועדון שחמט עירוני ת\"א",
"name": "כהן אור",
"rank": "אמן פידה",
"role": "",
"gender": "זכר",
"status": "פעיל",
"country": "ISR",
"player_id": "5810",
"birth_year": "1981",
"chess_card": "31/12/2024",
"fide_number": "2806010",
"player_number": "5810",
"israeli_rating": "2196",
"num_tournaments": "22",
"fide_standard_rating": "2162"
}
],
"search_name": "כהן"
},
"status": "success"
}
}About the Org API
What the API Returns
The search_players endpoint accepts a Hebrew-language name parameter and returns a players array alongside a total count and a search_name echo of your query. Each player object includes player_id, name, player_number, country, gender, num_tournaments, club, fide_number, status, and israeli_ flag fields. This covers registered members of the Israel Chess Federation, so results naturally skew toward Israeli players but can include foreign nationals registered with the federation.
Search Behavior and Input Format
The name parameter must be supplied in Hebrew script — for example, כהן to match all players with that surname, or אור for a given name. Partial strings work, making it practical to retrieve broad result sets. The endpoint caps results at 250 players per request; there is no pagination parameter, so queries that would exceed that count should be narrowed with a more specific name fragment.
Player Record Fields
Each record in the players array carries both federation-specific identifiers (player_id, player_number) and cross-referencing data (fide_number) useful for joining against FIDE's own database. The club field names the player's affiliated Israeli chess club. num_tournaments reflects how many federation-tracked tournaments the player has participated in. The status field indicates current federation membership standing, and the israeli_ boolean distinguishes domestic players from foreign nationals registered with the federation.
The Org API is a managed, monitored endpoint for chess.org.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chess.org.il 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 chess.org.il 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?+
- Look up a player's FIDE number to cross-reference their international rating history.
- Enumerate all players affiliated with a specific Israeli chess club using the
clubfield. - Filter active federation members by checking the
statusfield before building a bracket. - Compare tournament participation counts (
num_tournaments) across players with the same surname. - Identify foreign nationals registered with the Israeli federation via the
israeli_flag. - Build a player directory grouped by
genderfor federation reporting or research.
| 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 chess.org.il offer an official developer API?+
What does the `search_players` endpoint actually return for each player?+
player_id, name, player_number, country, gender, num_tournaments, club, fide_number, status, and an israeli_ flag. The response also includes a total integer and a search_name echo of your query. Rating values (Elo or national rating) are not currently exposed as discrete numeric fields in the response.Does the search parameter work with Latin-script names?+
name parameter matches against Hebrew-script names in the federation registry, so queries must be written in Hebrew. Transliterated Latin spellings are not reliably matched. If you need to search by Latin-script name, you can fork the API on Parse and revise it to add transliteration or alternate-name matching.Can I retrieve a single player's full profile or tournament history by player ID?+
player_id or fide_number. You can fork the API on Parse and revise it to add a player detail or tournament history endpoint.How many results can one request return, and is there pagination?+
search_players call returns at most 250 player records. There is no pagination parameter — no page, offset, or cursor is accepted. To stay within the cap, use a more specific partial name in the name parameter.