Leetify APIleetify.com ↗
Retrieve CS2 Premier ratings, FACEIT elo, aim/utility stats, rank history, and recent matches for any public Leetify profile via Steam64 ID.
What is the Leetify API?
The Leetify API exposes 3 endpoints that return Counter-Strike 2 player data from public Leetify profiles identified by Steam64 ID. get_player_stats delivers the most complete picture — over a dozen response fields covering current ranks (Premier, FACEIT, Wingman, Leetify rating), aggregate skill stats (accuracy, reaction time, preaim), per-season history, and ban records. list_recent_matches returns up to 100 matches with outcomes, map names, and Leetify scores.
curl -X GET 'https://api.parse.bot/scraper/0c93d383-a705-4b78-b3ed-007b4e247933/get_premier_rating?steam64_id=76561198034202275' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the Premier (CS2 matchmaking) rating for one public Leetify profile identified by its Steam64 ID, plus the player's other current ranks (Leetify rating, FACEIT level/elo, Wingman) and a per-season Premier history. premier_rating is the current Premier rating and is null when the player holds no rating in the current season (unranked or no recent Premier matches); premier_seasons lists every CS2 season in which Leetify recorded Premier matches with the min and max rating reached (0 means matches were played but no rating was earned), newest season first. Two fixed upstream reads per call. Unknown or private/unindexed Steam64 IDs yield an input_not_found error; malformed IDs are rejected before any request.
| Param | Type | Description |
|---|---|---|
| steam64_idrequired | string | 17-digit Steam64 ID of the player (starts with 7656119), as a string to preserve digits. |
{
"type": "object",
"fields": {
"name": "current in-game display name recorded by Leetify",
"winrate": "overall win rate as a 0-1 fraction",
"faceit_elo": "FACEIT elo or null",
"steam64_id": "Steam64 ID echoed from the profile record",
"faceit_level": "FACEIT skill level 1-10 or null",
"privacy_mode": "profile visibility as reported by Leetify (e.g. public)",
"wingman_rank": "Wingman rank tier number or null",
"total_matches": "total matches tracked by Leetify across all sources",
"leetify_rating": "current Leetify rating (number, percentage-style)",
"premier_rating": "current CS2 Premier rating (integer) or null when unranked this season",
"premier_seasons": "array of per-season Premier entries: season number, premier_rating_min, premier_rating_max, matches_played_all_sources, win_rate, kd_ratio, earliest_game_at, latest_game_at (ISO timestamps)"
},
"sample": {
"data": {
"name": "s1mplecsgod",
"winrate": 0.7143,
"faceit_elo": 3555,
"steam64_id": "76561198034202275",
"faceit_level": 10,
"privacy_mode": "public",
"wingman_rank": 17,
"total_matches": 3463,
"leetify_rating": 5.23,
"premier_rating": null,
"premier_seasons": [
{
"season": 5,
"kd_ratio": 1.84,
"win_rate": 0.61,
"latest_game_at": "2026-09-01T01:11:37.000Z",
"earliest_game_at": "2026-07-12T14:36:56.000Z",
"premier_rating_max": 0,
"premier_rating_min": 0,
"matches_played_all_sources": 28
},
{
"season": 4,
"kd_ratio": 1.53,
"win_rate": 0.59,
"latest_game_at": "2026-07-04T11:25:52.000Z",
"earliest_game_at": "2026-02-13T01:15:50.000Z",
"premier_rating_max": 26979,
"premier_rating_min": 26662,
"matches_played_all_sources": 133
}
]
},
"status": "success"
}
}About the Leetify API
What the API covers
All three endpoints accept a steam64_id string (17-digit, starting with 7656119) as their required input. The profile must be public on Leetify — the privacy_mode field in every response indicates what Leetify reports for that account. get_premier_rating is the lightest call: it returns the player's current CS2 Premier rating (integer, or null when unranked this season), plus faceit_elo, faceit_level, wingman_rank, leetify_rating, winrate, and a per-season Premier rating history array.
Full profile data via get_player_stats
get_player_stats returns the complete public Leetify profile. The ranks object bundles every rank Leetify tracks in one place. The stats object contains aggregate skill metrics keyed by Leetify's own stat names — including accuracy_enemy_spotted, accuracy_head, preaim, reaction_time_ms, and spray accuracy. The rating object breaks down the Leetify rating into sub-scores: aim, positioning, utility (each 0–100), plus clutch, opening, ct_leetify, and t_leetify. The seasons array is ordered newest-first and includes matches_played, win_rate, kd_ratio, and is_cs2 to distinguish CS:GO legacy seasons from CS2 ones. The bans array lists any ban records Leetify surfaces on the profile.
Recent matches via list_recent_matches
list_recent_matches returns up to 100 recent matches, newest first, with no further pagination — that is the full window Leetify exposes. Each entry includes a match_id (Leetify's internal UUID), finished_at (ISO timestamp), data_source, outcome (win/loss/tie), and map name. An optional data_source filter parameter lets you narrow results to a specific source such as faceit or matchmaking; the filter is matched exactly against each match's recorded data_source. The response includes total_recent_matches so you can tell how many were present before filtering.
The Leetify API is a managed, monitored endpoint for leetify.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when leetify.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 leetify.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?+
- Track a CS2 player's Premier rating changes across seasons using the
seasonsarray fromget_player_stats - Compare FACEIT elo and level for a roster of players by calling
get_premier_ratingfor each Steam64 ID - Build a team stats dashboard by aggregating
accuracy_head,reaction_time_ms, andpreaimfromget_player_stats - Filter a player's last 100 matches to only FACEIT games using the
data_sourceparameter onlist_recent_matches - Flag accounts with ban records by checking the
bansarray returned byget_player_stats - Display a player's Leetify aim, positioning, and utility sub-scores alongside their overall
leetify_rating - Verify whether a profile is public before processing it by reading
privacy_modefrom any endpoint response
| 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 Leetify have an official public developer API?+
What does get_premier_rating return compared to get_player_stats?+
get_premier_rating is a focused call that returns the player's current premier_rating, other current ranks (faceit_elo, faceit_level, wingman_rank, leetify_rating), and a per-season Premier history. get_player_stats returns all of that plus detailed skill stats, the full Leetify rating breakdown (aim, positioning, utility sub-scores), per-season records with KD ratios, and ban records. Use get_premier_rating when you only need rank data and want a lighter response.How far back does the recent match history go?+
list_recent_matches returns whatever is in Leetify's recent-match window for the profile, up to 100 matches. There is no pagination — 100 entries is the full extent of what this API exposes. Older match history beyond that window is not available through this endpoint.Does the API return per-match stats like kills, deaths, or HS percentage for individual matches?+
list_recent_matches returns outcome, map, data source, and Leetify's match-level scores, but not per-match kill/death breakdowns or headshot counts. Aggregate stats like accuracy_head are available at the profile level via get_player_stats. You can fork this API on Parse and revise it to add a dedicated per-match detail endpoint if that granularity is needed.What happens if a player's profile is private or the Steam64 ID is not tracked by Leetify?+
privacy_mode field in every response reflects what Leetify reports for that account. Profiles set to private on Leetify will not expose skill stats or match history. If the Steam64 ID has no tracked matches, total_matches will be zero and rank fields such as premier_rating will return null.