> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dis.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference

> Base URL, authentication and response format of the DisDog API.

## Base URL

```text theme={"system"}
https://api.dis.dog/v1
```

## Authentication

Send your access key as a bearer token. [Get a key →](https://docs.dis.dog/authentication.md)

```bash theme={"system"}
curl https://api.dis.dog/v1/me -H "Authorization: Bearer DD-7KQ2M-X9C4T-HB3RZ-W8N6P-YF5VA"
```

The playground on each page sends the key you enter in its **Authorization** field, straight from your browser to the API. Each search you run there takes a search from your quota, like any other call.

## Routes

| Method | Route | What it does | Key | Spends a search |
| - | - | - | - | - |
| `GET` | [`/v1/me`](https://docs.dis.dog/api-reference/endpoints/me) | Your plan and today’s quota | Yes | No |
| `GET` | [`/v1/search`](https://docs.dis.dog/api-reference/endpoints/search) | Recognise a Discord ID, username or invite, and run every module | Yes | Yes, when it answers `200` |
| `GET` | [`/v1/modules`](https://docs.dis.dog/api-reference/endpoints/modules) | The lookup modules, and which are live | Yes | No |
| `GET` | [`/v1/profile/{id}`](https://docs.dis.dog/api-reference/endpoints/profile) | The Discord profile module on its own | Yes | Yes (`200` or `404`) |
| `GET` | [`/v1/connections/{id}`](https://docs.dis.dog/api-reference/endpoints/connections) | Bio, pronouns, theme, linked accounts, mutual servers | Yes | Yes (`200` or `404`) |
| `GET` | [`/v1/servers/{id}`](https://docs.dis.dog/api-reference/endpoints/servers) | Servers the account was seen in | Yes | Yes |
| `GET` | [`/v1/messages/{id}`](https://docs.dis.dog/api-reference/endpoints/messages) | Messages it posted, newest first | Yes | Yes |
| `GET` | [`/v1/roblox/{id}`](https://docs.dis.dog/api-reference/endpoints/roblox) | Roblox accounts linked to the ID | Yes | Yes |
| `GET` | [`/v1/gunslol/{id}`](https://docs.dis.dog/api-reference/endpoints/gunslol) | guns.lol pages linked to the ID | Yes | Yes |
| `GET` | [`/v1/lookup/{name}`](https://docs.dis.dog/api-reference/endpoints/lookup) | Accounts whose username or display name matches | Yes | Yes |
| `GET` | [`/v1/invite/{code}`](https://docs.dis.dog/api-reference/endpoints/invite) | What is behind an invite link | Yes | Yes (`200` or `404`) |
| `GET` | [`/v1/health`](https://docs.dis.dog/api-reference/endpoints/health) | Is the API up? | No | No |

Every route is `GET`, takes its input in the path or the query string, and answers JSON. Every route except `/v1/me`, `/v1/modules` and `/v1/health` needs a **Hound** or **Alpha** plan; a Pup key gets `403 plan_has_no_api`.

## Search responses

```json theme={"system"}
{
  "query": "80351110224678912",
  "kind": "discord_id",
  "value": "80351110224678912",
  "account": { "id": "80351110224678912", "createdAt": "2015-08-10T17:26:37.529Z" },
  "modules": [
    { "id": "profile", "name": "Discord profile", "status": "found", "data": { "…": "…" } },
    { "id": "fivem", "name": "FiveM database", "status": "no_data" }
  ]
}
```

| Field | What it is |
| - | - |
| `query` | Your input, trimmed. |
| `kind` | What DisDog recognised: `discord_id`, `username` or `invite`. |
| `value` | The input in its normal form: the ID, the username in lowercase without `@`, or the invite code alone. |
| `account` | For a Discord ID: the ID and the account’s creation date, decoded from it. `null` otherwise. |
| `modules` | Every lookup module, with its `status` for this search. [Modules →](https://docs.dis.dog/modules.md) |

Your quota after the search is in the `X-RateLimit-*` headers. [Headers →](https://docs.dis.dog/limits.md#headers)

## Errors

```json theme={"system"}
{ "error": "quota_exceeded", "resetAt": "2026-11-01T00:00:00.000Z", "limit": 500 }
```

[Every error code →](https://docs.dis.dog/errors.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.