FiveM APIservers-frontend.fivem.net ↗
Retrieve live FiveM server data by CFX join code: status, player list, loaded resources, config vars, owner info, and more via a single API endpoint.
What is the FiveM API?
The FiveM Server Details API exposes 10+ structured fields for any FiveM server via the get_server_details endpoint, accepting a CFX.RE join code (e.g. 3a4ooy) and returning real-time server status, connected player list with ping values, loaded resources, configuration variables, owner profile, and connection identifiers. It covers the full server profile surfaced on the CFX server browser in a single call.
curl -X GET 'https://api.parse.bot/scraper/d35b0455-060f-48e0-9145-e60790e961df/get_server_details?server_id=6r9ob4' \ -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 servers-frontend-fivem-net-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: FiveM Server API — look up server details, inspect players and owner."""
from parse_apis.fivem_server_api import FiveM, ServerStatus, ServerNotFound
client = FiveM()
# Fetch a known server by ID and inspect its details
server = client.servers.get(server_id="6r9ob4")
print(f"Server: {server.server_name} | Status: {server.status} | Players: {server.player_count}/{server.max_players}")
# Inspect owner info
print(f"Owner: {server.owner.name} | Profile: {server.owner.profile_url}")
# Check player list (may be empty if server is offline)
for player in server.players[:3]:
print(f" Player: {player.name} (ping {player.ping}ms)")
# Inspect server resources and vars
print(f"Resources loaded: {len(server.resources)}")
if server.vars.get("Discord"):
print(f"Discord: {server.vars['Discord']}")
# Typed error handling: catch ServerNotFound for an invalid ID
try:
client.servers.get(server_id="zzzzzz_invalid")
except ServerNotFound as exc:
print(f"Server not found: {exc}")
print("exercised: servers.get / Server fields / Owner fields / Player fields / ServerNotFound error")
Retrieve detailed information about a FiveM server by its server ID. Returns server status, player list, resources, configuration variables, owner information, and connection endpoints. Returns input_not_found for unknown server IDs.
| Param | Type | Description |
|---|---|---|
| server_idrequired | string | The server identifier found in CFX.RE/JOIN/{server_id} URLs (e.g. '6r9ob4'). |
{
"type": "object",
"fields": {
"vars": "object - Server variables (tags, Discord, banners, locale, game build, etc.)",
"owner": "object - Owner information with id, name, profile_url, and avatar_url fields",
"status": "string - Server status: 'online', 'offline', 'empty', 'full', 'private', or 'suspended'",
"players": "array of objects - Connected players with id, name, and ping fields",
"hostname": "string - Raw hostname with color codes",
"last_seen": "string - Last seen timestamp in ISO 8601 format",
"resources": "array of strings - Server resources/scripts loaded",
"server_id": "string - The server endpoint identifier",
"is_private": "boolean - Whether server is private",
"burst_power": "integer - Server burst power",
"is_fallback": "boolean - Whether this is a fallback server",
"max_players": "integer - Maximum player capacity",
"server_name": "string - Clean server name (color codes removed)",
"icon_version": "integer - Icon version for icon API",
"player_count": "integer - Current number of connected players",
"upvote_power": "integer - Server upvote power",
"server_version": "string - FXServer version information",
"support_status": "string - Support status",
"connect_endpoints": "array of strings - Server connection endpoints (URLs or IPs)",
"enhanced_host_support": "boolean - Whether enhanced host support is enabled",
"steam_ticket_required": "boolean - Whether Steam ticket is required to connect"
},
"sample": {
"data": {
"vars": {
"locale": "en-US",
"Discord": "https://www.discord.gg/fivemarena",
"gamename": "gta5"
},
"owner": {
"id": 13929437,
"name": "ArenaTeam",
"avatar_url": "https://forum.cfx.re/user_avatar/forum.cfx.re/arenateam/128/4302665_2.png",
"profile_url": "https://forum.cfx.re/u/ArenaTeam"
},
"status": "online",
"players": [
{
"id": 6578,
"name": "k159wbs",
"ping": 47
}
],
"hostname": "^2Arena",
"last_seen": "2026-06-11T00:55:01.453427372Z",
"resources": [
"hardcap",
"minimap",
"freemode"
],
"server_id": "6r9ob4",
"is_private": false,
"burst_power": 0,
"is_fallback": false,
"max_players": 2048,
"server_name": "Arena",
"icon_version": 138144131,
"player_count": 236,
"upvote_power": 111,
"server_version": "FXServer-master SERVER v1.0.0.30811 win32",
"support_status": "supported",
"connect_endpoints": [
"151.242.106.25:30120"
],
"enhanced_host_support": true,
"steam_ticket_required": true
},
"status": "success"
}
}About the FiveM API
What the API Returns
The get_server_details endpoint accepts a single required parameter — server_id — which is the short alphanumeric code found in CFX.RE/JOIN/{server_id} links. The response includes a status field that distinguishes between six states: online, offline, empty, full, private, and suspended. Alongside status, the response provides hostname (the raw server name including color codes), last_seen as an ISO 8601 timestamp, and is_private to flag servers that are not publicly joinable.
Player and Resource Data
The players array lists every connected player at query time, with each entry containing an id, name, and ping value. This makes it straightforward to track concurrency, identify active sessions, or monitor latency per player. The resources array enumerates every script and resource loaded on the server — useful for detecting which frameworks (e.g. ESX, QBCore) or specific mods are active.
Configuration and Owner Fields
The vars object contains server-defined configuration variables, which typically include tags, Discord invite links, banner image URLs, locale, and game build version — the same metadata shown in the CFX server browser. The owner object provides the server owner's id, name, profile_url, and avatar_url from their CFX account. An unknown or invalid server_id returns an input_not_found response rather than an empty result, allowing callers to distinguish a missing server from an offline one.
The FiveM API is a managed, monitored endpoint for servers-frontend.fivem.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when servers-frontend.fivem.net 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 servers-frontend.fivem.net 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?+
- Monitor a FiveM community server's live player count and status for an uptime dashboard.
- Detect which server framework (ESX, QBCore, etc.) a server runs by inspecting the
resourcesarray. - Build a CFX server browser alternative by aggregating hostname, vars, and status across multiple server IDs.
- Alert a Discord community when a tracked server's
statuschanges fromonlinetoofflineusinglast_seen. - Audit server configuration by reading
varsfields like game build, locale, and banner settings. - Look up server ownership and link to the CFX profile using the
owner.profile_urlfield. - Track per-player ping over time using the
pingfield in theplayersarray for performance monitoring.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does FiveM have an official developer API for server data?+
What does the `status` field distinguish, and how is an empty server represented?+
status field returns one of six string values: online, offline, empty, full, private, or suspended. An empty status means the server is reachable but has zero connected players, which is distinct from offline (unreachable) or suspended (administratively disabled). The is_private boolean provides an additional signal independent of the private status value.Does the API return historical player counts or server uptime history?+
players, current status, and a last_seen timestamp. It does not expose uptime percentages, player count time series, or session history. You can fork this API on Parse and revise it to store responses over time and add a history endpoint.Can I query multiple servers in a single request or search servers by name?+
server_id per call and does not support batch lookups or name-based search. You can fork this API on Parse and revise it to add a batch endpoint that accepts a list of server IDs or a search-by-name capability.What happens if I pass an invalid or unknown server ID?+
input_not_found response for unrecognized server IDs, rather than an empty object or HTTP 404. This allows callers to clearly distinguish between a server that exists but is offline versus one that does not exist in the CFX registry at all.