Faceit Analyser API
Base URL: https://faceitanalyser.com
All endpoints below are prefixed with /api.
Authentication
Provide your key as a query parameter: ?key=<key>
If you are interested in obtaining an API key, contact [email protected] or request via this form
Endpoints
/api/overview/<playerid>: Retrieve basic overview for a player.
/api/stats/<playerid>: Retrieve stats for a player.
/api/matches/<playerid>: Retrieve matches for a player.
/api/hubs/<playerid>: Retrieve hubs for a player.
/api/maps/<playerid>: Retrieve maps for a player.
/api/insights/<playerid>/<segment_name>: Retrieve insights for a player.
/api/names/<playerid>: Retrieve names for a player.
/api/highlights/<playerid>: Retrieve highlights for a player.
/api/graph/<playerid>/<game>: Retrieve all configured progression graphs for a player (bulk).
/api/graph/<playerid>/<segment>/<last_avg>/<game>: Retrieve a single progression graph.
Filters
You can filter results via query parameters. The following filters are available:
- region: text
- map: text
- winnerid: text
- firsthalfscore: numeric
- secondhalfscore: numeric
- team: text
- kills: numeric
- assists: numeric
- deaths: numeric
- mvps: numeric
- win: numeric
- rounds: numeric
- headshots: numeric
- triples: numeric
- quadras: numeric
- pentas: numeric
- aces: numeric
- finalscore: text
- overtimerounds: numeric
- kdr: numeric
- krr: numeric
- headshotpercent: numeric
- delta: numeric
- date: text
- weekday: text
- hour: numeric
- premade: boolean
- bestof: numeric
- gamemode: text
- nickname: text
- teamid: text
- map: text
- hub: text
- hltv: numeric
Text filters
-
To filter by contains, you can use the following syntax: ?field=value. For example, you can filter by the map by using the following syntax: ?map=cache. You can also provide multiple values by using the following syntax: ?map=cache,dust2.
-
To filter by exact value, you can add a “=” to the filter. For example, to filter by the map, you can use the following syntax: ?map==de_cache. You can also provide multiple values by using the following syntax: ?map==de_cache,de_dust2.
Boolean filters
Boolean filters accept True or False. Example: ?premade=True.
Numerical filters
-
To filter by a range, you can use the following syntax: ?field=from:to. For example, to filter by the number of kills, you can use the following syntax: ?kills=10:20. Ranges are inclusive.
-
To filter by a single value, you can use the following syntax: ?field=value. For example, to filter by the number of kills, you can use the following syntax: ?kills=10.
-
You can combine numerical filters by using a comma. For example to filter by the number of kills between 10 and 20 and kills=25, you can use the following syntax: ?kills=10:20,25.
Object types
Segment Object
A segment is the combined stat for a player on a specific map, hub, name, etc.
The segment is a JSON object containing the following fields:
- playerId: The ID of the player.
- m: The number of matches played.
- r: The total number of rounds played.
- w: The number of wins.
- k: The total number of kills.
- a: The total number of assists.
- d: The total number of deaths.
- hs: The total number of headshots.
- kdr: The kill-death ratio.
- krr: The kill-round ratio.
- hltv: The HLTV rating.
- current_elo: The current ELO rating.
- total_elo: The total ELO rating.
- total_elo_m: The number of matches used to calculate the total ELO rating.
- highest_elo: The highest ELO rating.
- lowest_elo: The lowest ELO rating.
- first_occurrence: The date of the player’s first recorded match.
- last_occurrence: The date of the player’s most recent recorded match.
- segment_value: The value of the segment field (map, hub, name, player_id for global stats).
- hsp: The headshot percentage.
- real_kdr: The real kill-death ratio.
- avg_elo: The average ELO rating.
- wr: The win ratio.
- avg_kdr: The average kill-death ratio.
- avg_krr: The average kill-round ratio.
- real_kpr: The real kill-round ratio.
- avg_k: The average number of kills per match.
- avg_d: The average number of deaths per match.
- avg_hltv: The average HLTV rating.
- l: The number of losses.
- diff: The total difference between kills and deaths.
- avg_diff: The average difference between kills and deaths.
Match Object
A match is a JSON object containing the following fields:
- playerId: The ID of the player.
- _id: An object containing the matchId and playerId for the match.
- teamId: A string containing the ID of the team that the player was on.
- created_at: A number representing the timestamp at which the match was created.
- updated_at: A number representing the timestamp at which the match was last updated.
- bestOf: A string representing the format of the match (e.g. “3” for a best of 3 match).
- competitionId: A string representing the ID of the competition in which the match was played.
- date: A string representing the date on which the match was played, in the format YYYY-MM-DD.
- game: A string representing the game that was played in the match (e.g. “csgo”).
- gameMode: A string indicating the game mode played in the match.
- premade: A boolean indicating whether the team was a premade team (assembled by the player).
- nickname: A string containing the nickname of the player.
- matchId: A string containing the ID of the match.
- matchRound: A string representing the round of the match.
- played: A string indicating whether the match has been played.
- status: A string indicating the status of the match.
- elo: A number representing the player’s ELO rating at the time of the match.
- n: A number representing the number of the match.
- map: A string indicating the map that was played in the match.
- k: A number representing the number of kills made by the player in the match.
- a: A number representing the number of assists made by the player in the match.
- d: A number representing the number of deaths of the player in the match.
- w: A string indicating whether the player won the match.
- hltv: A number representing the hltv rating by the player.
- diff: A number representing the difference between kills and deaths.
- mid: A string representing the match Id.
- url: A string containing a URL to the match on the Faceit website.
- kdr: A number representing the player’s kill-death ratio in the match.
- s: A string representing the score of the match.
- elod: A string representing the elo applied to the player.
- hub: A string containing the ID of the hub in which the match was played.
- hn: A string representing the name of the hub in which the match was played.
- ha: A string containing the URL of the avatar image for the hub.
- ht: A string representing the type of the hub.
- i0: A string representing the region that the match was played in.
- i1: A string representing the map that was played in the match.
- i2: A string containing the ID of the winning team.
- i3: A string representing the score of the first half of the match.
- i4: A string representing the score of the second half of the match.
- i5: A string representing the team name
- i6: A string representing the number of kills made by the player in the match.
- i7: A string representing the number of assists made by the player in the match.
- i8: A string representing the number of deaths of the player in the match.
- i9: A string representing the number of MVP’s of the player in the match.
- i10: A string representing the result of the match.
- i12: A string representing the number of rounds of the match.
- i13: A string representing the number of headshots made by the player in the match.
- i14: A string representing the number of triple kills made by the player in the match.
- i15: A string representing the number of quadra kills made by the player in the match.
- i16: A string representing the number of penta kills (aces) made by the player in the match.
- i18: A string representing the score of the match.
- i19: A string representing the overtime score of the match.
- c1: A string representing the number of rounds won by the player’s team.
- c3: A string representing the K/D ratio of the player.
- c2: A string representing the K/R ratio of the player.
- c4: A string representing the headshot percentage of the player.
- c5: A string representing the number of kills made by the player.
GET /api/stats/<playerid>
Returns stats for a specific player, identified by their playerid.
Request Parameters:
- playerid: The ID of the player whose stats should be returned.
Response:
- A segment object containing the global stats for the player
##
GET /api/maps/<playerid>
Returns stats for a specific player’s performance on different maps, identified by their playerid.
Request Parameters:
- playerid: The ID of the player whose stats should be returned.
Response:
- segments: A list of segment objects containing the stats for the player on different maps
##
GET /api/hubs/<playerid>
Returns stats for a specific player’s performance on different hubs, identified by their playerid.
Request Parameters:
- playerid: The ID of the player whose stats should be returned.
Response:
- segments: A list of segment objects containing the stats for the player on different hubs
##
GET /api/names/<playerid>
Returns stats for a specific player’s performance on different names, identified by their playerid.
Request Parameters:
- playerid: The ID of the player whose stats should be returned.
Response:
- segments: A list of segment objects containing the stats for the player on different names
##
GET /api/insights/<playerid>/<segment_name>
Returns stats for a specific player’s performance on when player wins (i10=”1”) and loses (i10=”0”).
Request Parameters:
- playerid: The ID of the player whose stats should be returned.
- segment_name: The name of the segment to return stats for. Can be one of the following:
- aces
- all
- assists
- bestof
- competitionId
- date
- deaths
- delta
- finalscore
- firsthalfscore
- gamemode
- headshotpercent
- headshots
- hltv
- hour
- hub
- kdr
- kills
- krr
- map
- mvps
- nickname
- overtimerounds
- pentas
- premade
- quadras
- region
- rounds
- secondhalfscore
- team
- teamid
- triples
- weekday
- winnerid
- win
Response:
- segments: A list of segment objects containing the stats for the player on when player wins (i10=”1”) and loses (i10=”0”).
##
GET /api/matches/<playerid>
Returns stats for a specific player’s performance on different segments (maps, hubs, names …), identified by their playerid.
Request Parameters:
- playerid: The ID of the player whose matches should be returned.
Response:
- segments: A list of match Objects containing the matches for the player
GET /api/highlights/<playerid>
Returns highlights for a specific player, identified by their playerid.
Request Parameters:
- playerid: The ID of the player whose highlights should be returned.
Response:
- highlights and lowlights for the following metrics: kills, assists, deaths, headshotpercent, kdr, krr, hltv, diff
GET api/graph/<playerid>/<game>
Returns graphs for a specific player and game.
Path Parameters:
- playerid: The ID of the player.
- game: The game (e.g., cs2, csgo).
Response:
- graph_data
- elo
- indexes (x axis)
- values (y axis)
- dates (dates of each value, could be a label on the x axis)
- min (min value)
- max (max value)
- kdr
- indexes (x axis)
- values (y axis)
- dates (dates of each value, could be a label on the x axis)
- min (min value)
- max (max value)
GET api/graph/<playerid>/<segment>/<last_avg>/<game>
Returns a single time-series graph for a player and segment.
Path Parameters:
- playerid: The ID of the player.
- segment: The metric key or target (e.g., elo, kdr, hltv).
- last_avg: Rolling window size (e.g., 1 for ELO, 20 for KDR/HLTV).
- game: The game (e.g., cs2, csgo).
Response:
- segment: Resolved segment target.
- last_avg: Window size used.
- graph_data: Time-series data.
- graph_meta: Metadata (title, target, last_avg, description).
- kdr
- indexes (x axis)
- values (y axis)
- dates (dates of each value, could be a label on the x axis)
- min (min value)
- max (max value)
Pricing Plan
The Faceit Analyser API offers a free tier with a limited number of requests per month, followed by a pay-as-you-go pricing structure.
| Requests per Month |
Cost |
| Up to 5,000 |
Free |
| Over 5,000 |
€1 per 1,000 additional requests |
Example:
If you make 7,000 requests in a month, you’ll be charged €2 (1€ for the first 2,000 requests exceeding the free tier).
If you are interested in obtaining an API key, contact [email protected] or request via this form