> ## 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.

# Quickstart

> Get your access key and run your first search.

**1. Create your account**

Open [dis.dog/register](https://dis.dog/register), enter your email and confirm it with the 6-digit code we send you. There is no password: at the end, DisDog shows your **access key**. It looks like this:

```text theme={"system"}
DD-7KQ2M-X9C4T-HB3RZ-W8N6P-YF5VA
```

The API comes with the **Hound** ($10 / 30 days, 500 searches a day) and **Alpha** ($30 / 30 days, unlimited) plans: [upgrade here](https://dis.dog/pricing). A Pup (free) key can already call `/v1/me` to check that it works.

> [!WARNING]
>
> The key is your login on the website and your API key. Anyone who has it can use your account and your quota. Keep it in a password manager or your server’s environment. You can show it again any time from your [account page](https://dis.dog/account), where it is blurred by default. Lost access? [Get a new one](https://dis.dog/recover) with your email.

**2. Store it in an environment variable**

Keep the key out of your code:

```bash theme={"system"}
export DISDOG_KEY="DD-7KQ2M-X9C4T-HB3RZ-W8N6P-YF5VA"
```

**3. Check that it works**

`GET /v1/me` returns your plan and what is left of today’s quota. It never spends a search.

```bash theme={"system"}
curl https://api.dis.dog/v1/me \
  -H "Authorization: Bearer $DISDOG_KEY"
```

```json theme={"system"}
{
  "plan": "hound",
  "planExpiresAt": "2026-12-01T10:00:00.000Z",
  "usage": { "used": 0, "limit": 500, "remaining": 500, "resetAt": "2026-11-01T00:00:00.000Z" }
}
```

**4. Run a search**

```bash cURL theme={"system"}
curl "https://api.dis.dog/v1/search?q=80351110224678912" \
  -H "Authorization: Bearer $DISDOG_KEY"
```

```python Python theme={"system"}
import os
import requests

response = requests.get(
    "https://api.dis.dog/v1/search",
    params={"q": "80351110224678912"},
    headers={"Authorization": f"Bearer {os.environ['DISDOG_KEY']}"},
    timeout=60,
)
data = response.json()
if not response.ok:
    raise RuntimeError(data["error"])

print(data["kind"], data["value"])
if data["account"]:
    print("Created:", data["account"]["createdAt"])
print("Searches left today:", response.headers["X-RateLimit-Remaining"])
```

```javascript JavaScript theme={"system"}
const url = new URL("https://api.dis.dog/v1/search");
url.searchParams.set("q", "80351110224678912");

const response = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.DISDOG_KEY}` },
  signal: AbortSignal.timeout(60_000),
});

const data = await response.json();
if (!response.ok) throw new Error(data.error);

console.log(data.kind, data.value);
if (data.account) console.log("Created:", data.account.createdAt);
console.log("Searches left today:", response.headers.get("X-RateLimit-Remaining"));
```

**5. Read the answer**

```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": "connections", "name": "Connected accounts", "status": "found", "data": { "…": "…" } },
    { "id": "servers", "name": "Server memberships", "status": "found", "data": { "…": "…" } },
    { "id": "messages", "name": "Message logs", "status": "not_found" },
    { "id": "roblox", "name": "Discord → Roblox", "status": "found", "data": { "…": "…" } },
    { "id": "gunslol", "name": "Discord → guns.lol", "status": "not_found" },
    { "id": "fivem", "name": "FiveM database", "status": "no_data" }
  ]
}
```

`kind` says what DisDog recognised, `account.createdAt` is decoded from the ID, and `modules` lists every lookup module with its `status` and, when it found something, its `data`. [Every field →](https://docs.dis.dog/api-reference/endpoints/search.md)

## Next

> [card] [Limits & quotas](https://docs.dis.dog/limits.md)
>
> What a search costs, and how to handle `429`.

> [card] [Errors](https://docs.dis.dog/errors.md)
>
> Every error code, and what to do about it.


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