API Reference

Cheetos.gg API

An anti-cheat intelligence service. Approved game-server owners can check whether a Discord or Steam account is tied to known cheating communities, list a flagged server's members, submit new cheat-server invites, and read aggregate stats. The API, bot, and database are free.

Overview

Lookups are GET requests to a single endpoint, selected by the action query parameter. Invite submissions are a POST to the same URL with the raw invite as the body. Every response is JSON.

BASEhttps://cheetos.gg/api.php

Authentication

Every request carries an API key in the Auth-Key header. Keys are issued by Ryz0r on Discord and tied to a guild. Each key has an auth level that gates access to restricted endpoints.

HeaderDescription
Auth-Keyrequired Your API key. The header name is case-insensitive.
DiscordIDrequired Discord ID of the person running the command, 16–22 digits. Recorded for logging and checked against the blacklist.

New keys start at level 1, which covers every standard lookup. Level 2 unlocks the full member dump (Guild search) and is granted on request.

Errors

Failures return a JSON string and the matching status code. A lookup that simply finds nothing is not an error — it returns "Null" or false with a 200.

400Missing action or id, a malformed Discord ID, or an empty POST body.
401No Auth-Key header, or the key is not approved.
403Caller is blacklisted, lacks the required auth level, or an ID failed a length or linkage check.
Example
// 401
"Authorization header was sent, but provided auth key is invalid."

GET Database totals

Aggregate counts across the database: flagged guilds, total membership records, unique users, lifetime searches, and the newest guild. action=count is an alias.

GET/api.php?action=total
Response
{
  "Discords": 1535,
  "Total": 2629802,
  "Unique": 1436702,
  "Searches": "13075287",
  "PrevSearches": "Approx. 1750",
  "LatestGuild": "1464620732049789042"
}

GET Guild check

Is a guild in the database? Returns its name and the time it was added, or false if unknown.

GET/api.php?action=gcheck&id=<guild_id>
ParameterTypeDescription
idrequired stringGuild ID to check.
Response
{
  "Polar Services | 2026": "1464620732049789042",   // name : guild ID
  "TimestampAdded": 1773979448
}

GET Guild search Level 2

Lists the full known membership of a flagged guild — every user, their roles, and when each was recorded. Returns false if the guild is unknown.

GET/api.php?action=gsearch&id=<guild_id>
Requires auth level 2. Lower-level keys receive 403 "Lacking Permissions."
ParameterTypeDescription
idrequired stringGuild ID whose members to list.
Response — one object per member
[
  {
    "UserID": "1053848161162109018",
    "TimestampAdded": 1773979448,
    "GuildName": "Polar Services | 2026",
    "Roles": "Polar | Member, @everyone"
  }
]

GET Latest guilds

The seven most recently added guilds, oldest first. Takes no parameters.

GET/api.php?action=lastguilds
Response
[
  {
    "GuildName": "Nova | Cheats",
    "GuildID": "1402530988524834928",
    "TimestampAdded": 1763163295
  }
]

GET All guilds Level 2

The complete list of flagged guilds — every guild ID on record, with its name and date added. Built for offline matching: pull it on a schedule, cache it, and compare your players' guild memberships against it locally instead of querying the API per user. Returns the same shape as Latest guilds.

GET/api.php?action=allguilds
Requires auth level 2. Lower-level keys receive 403 "Lacking Permissions."
Response — one object per guild
[
  {
    "GuildName": "Some Cheat Server",
    "GuildID": "745420593935155295",
    "TimestampAdded": 1763163295
  }
]

GET Linked accounts

Resolves Steam–Discord links. The type is detected from the ID itself: Steam IDs begin with 7656119. A Steam ID returns the linked Discord account; a Discord ID returns every linked Steam account.

GET/api.php?action=getLinkedAccounts&id=<id>
ParameterTypeDescription
idrequired string Steam ID (17–18 digits) or Discord ID (16–22 digits).
Response — Discord ID input
[
  {
    "SteamID": "76561198000000000",
    "Confirmations": "3",
    "LinkTimeMilliseconds": "1650000000000"
  }
]

A Steam ID input returns the same shape with a "Discord" field instead of "SteamID". If the ID has no link, fails its length check, or resolves to a user who isn't in any flagged guild, the response is a 403 with an explanatory message.

POST Submit invite

Submit a cheating-server invite for review. Send the raw invite — a full URL or just the code — as the request body. If it resolves to a guild already on record, the response says so instead of re-queuing it.

POSThttps://cheetos.gg/api.php
FieldInDescription
Auth-KeyrequiredheaderYour API key.
DiscordIDrequiredheaderSubmitter's Discord ID.
bodyrequiredtextThe invite, e.g. discord.gg/abc123.
Request
curl -X POST https://cheetos.gg/api.php \
  -H "Auth-Key: <your_key>" \
  -H "DiscordID: 123456789012345678" \
  --data "discord.gg/abc123"
Responses
"Invite sent. Thanks!"              // 200, queued
"Invite exists."                   // 200, already on record
"Nothing was sent in POST load."   // 400, empty body