INSPECTShop
← Back to the API overview

API documentation

Complete documentation on integrating the INSPECT API into FiveM servers, Discord bots and your own applications.

API ACCESS

Active access required

The API is only available with a purchased, active API access. You will receive your personal API token via your shop dashboard once it has been activated.

K

Authentication

All API requests require a valid API token in the X-API-Token header. The game category is specified via X-Game.

Required headers
X-API-Token: YOUR_API_TOKEN
X-Game: fivem // fivem, cod, rust, mc, dayz
Accept: application/json
Important: Never share your API token publicly. It grants access to your personal API quota.
→

Scan endpoint

GEThttps://api.inspect.wtf/scan.php?searchId={discord_id}
Parameter: searchId

Discord ID of the user to be checked. 17–19 digits are expected.

Supported games
fivemcodrustmcdayz

The desired game is set via the X-Game header.

Code examples

import requests

url = 'https://api.inspect.wtf/scan.php'
params = {'searchId': 'DISCORD_ID'}
headers = {
    'X-API-Token': 'YOUR_TOKEN',
    'X-Game': 'fivem',
    'Accept': 'application/json'
}

response = requests.get(url, params=params, headers=headers, timeout=10)
print('Status:', response.status_code)
data = response.json()
print(data)
const API_TOKEN = 'YOUR_TOKEN';

async function scanUser(discordId, game = 'fivem') {
  const url = new URL('https://api.inspect.wtf/scan.php');
  url.searchParams.set('searchId', discordId);
  const response = await fetch(url, {
    headers: {
      'X-API-Token': API_TOKEN,
      'X-Game': game,
      'Accept': 'application/json'
    }
  });
  if (!response.ok) throw new Error(`HTTP Error: ${response.status}`);
  return await response.json();
}
<?php
$apiToken = 'YOUR_TOKEN';
$discordId = 'DISCORD_ID';
$game = 'fivem';
$url = 'https://api.inspect.wtf/scan.php?' . http_build_query(['searchId' => $discordId]);
$ch = curl_init();
curl_setopt_array($ch, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 10,
  CURLOPT_HTTPHEADER => [
    'X-API-Token: ' . $apiToken,
    'X-Game: ' . $game,
    'Accept: application/json'
  ]
]);
$response = curl_exec($ch);
?>
curl -X GET \
  'https://api.inspect.wtf/scan.php?searchId=DISCORD_ID' \
  -H 'X-API-Token: YOUR_TOKEN' \
  -H 'X-Game: fivem' \
  -H 'Accept: application/json'
local API_TOKEN = 'YOUR_TOKEN'
local url = 'https://api.inspect.wtf/scan.php?searchId=' .. discordId

PerformHttpRequest(url, function(statusCode, response)
    if statusCode == 200 then
        local data = json.decode(response)
        HandleScanResult(source, data)
    end
end, 'GET', '', {
    ['X-API-Token'] = API_TOKEN,
    ['X-Game'] = 'fivem',
    ['Accept'] = 'application/json'
})
UTF-8INSPECT API

Example response

{
  "servers": [
    {"name": "Example Cheat Server", "roles": ["member"], "firstFound": "2025-06-15T12:30:00.000Z"}
  ],
  "leak_servers": [],
  "settings_servers": [],
  "identifiers": [
    "discord:123456789012345678",
    "steam:11000013a88a683",
    "license:2090a7df7d20789a139aac4895bfd7cebe0b075b"
  ],
  "messages": [],
  "cheater_info": [
    {
      "id": 12345,
      "discord_id": "123456789012345678",
      "reason": "Using cheat menu",
      "timestamp": "2025-12-01T15:30:00.000Z"
    }
  ],
  "discord_name": "ExampleUser#0001",
  "discord_status": "online",
  "discord_badges": [],
  "spoofing_info": []
}

Response fields

servers – suspicious server memberships

leak_servers – leak/piracy servers

settings_servers – config/settings servers

identifiers – known identifiers

cheater_info – cheater entries

messages – associated messages

HTTP status codes

200 – successful request

400 – invalid Discord ID

401 – invalid API token

403 – no API access / wrong game

429 – rate limit reached

500 – server error