API Documentation v1.0 REST JSON

Access real-time donation data, streamer profiles, and leaderboard rankings. Build custom stream overlays, chat bot commands, OBS widgets, or connect your favorite tools - all through a simple REST API with JSON responses.

Quick Start

  1. 1

    Create an account

    Sign up at /register to get your streamer profile.

  2. 2

    Generate an API key

    Go to Dashboard → API Keys. Save the key — it’s shown only once.

  3. 3

    Make your first request

    Add the Authorization header to every call. Try it now:

    curl https://theboard.gg/api/top?limit=3 \
      -H "Authorization: Bearer tb_your_key"

Integration Ideas

Stream Overlays

Fetch top donations via GET /api/top and display on OBS.

Chat Bots

Auto-submit from StreamElements or Streamlabs via POST.

Webhooks

Pipe donation alerts to TheBoard.gg automatically.

Analytics Dashboards

Pull data into spreadsheets or custom dashboards.

Authentication

All requests require a Bearer token in the Authorization header.

Keep your key secret. Never expose it in frontend code or public repos.

SHA-256

Hashed at rest

100/hour

Rate limit per key

tb_****

Key prefix

Rate limiting

Each API key is limited to 100 requests per hour (~2,400/day). The hourly counter resets every full hour. If you exceed the limit, the API returns a 429 status code. You can generate multiple keys in your dashboard if needed.

Base URL

CORS enabled. All endpoints below are relative to this URL.

https://theboard.gg/api
POST

/api/add_donation

Add a new donation to your profile. Automatically linked to the API key owner. Requires Content-Type: application/json.

Request Body (JSON)

donor_name string required

Name of the donor (max 150 chars)

amount number required

Donation amount (must be > 0)

currency string required

USD, EUR, GBP, PLN, BRL, RUB, JPY, KRW, SEK, NOK, DKK, CAD, AUD

message string

Donation message (max 500 chars)

proof_url string

URL to proof (screenshot, clip)

submitted_by string

Scout nickname (earns XP)

Example Request

curl -X POST https://theboard.gg/api/add_donation \
  -H "Authorization: Bearer tb_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "donor_name": "GenerousViewer",
    "amount": 100,
    "currency": "USD",
    "message": "Great stream!",
    "proof_url": "https://imgur.com/abc123"
  }'

Response 201

{
  "error": false,
  "donation": {
    "id": 42,
    "donor_name": "GenerousViewer",
    "amount": 100,
    "currency": "USD",
    "amount_usd": 100,
    "created_at": "2025-01-15T14:30:00+00:00"
  }
}

Error 422

{
  "error": true,
  "message": "donor_name is required (1-150 characters)."
}
GET

/api/top

Get your top donations sorted by USD value. Great for stream overlays and leaderboards.

Query Parameters

limit integer default: 10

Number of donations to return (1–100)

Response Fields

id integer Donation ID
donor_name string Name of the donor
message string? Donation message
amount number Original amount
currency string Original currency code
amount_usd number Converted USD value
status string verified, pending, or fake
votes_up integer Community "legit" votes
votes_down integer Community "fake" votes
created_at string Timestamp

Example Request

curl https://theboard.gg/api/top?limit=5 \
  -H "Authorization: Bearer tb_your_key"

Response 200

{
  "error": false,
  "count": 3,
  "limit": 5,
  "donations": [
    {
      "id": 4,
      "donor_name": "NinjaFan",
      "message": "You inspired me!",
      "amount": 15000,
      "currency": "USD",
      "amount_usd": 15000,
      "status": "verified",
      "votes_up": 456,
      "votes_down": 11,
      "created_at": "2025-01-15 14:30:00"
    }
  ]
}

Error 401

{
  "error": true,
  "message": "Invalid or missing API key."
}
GET

/api/top/{period}

Get top donations for a specific time period. Period must be one of: today, month, alltime.

Query Parameters

limit integer default: 10, max: 100

Example

curl https://theboard.gg/api/top/today?limit=5 \
  -H "Authorization: Bearer tb_your_key"

Response 200

{
  "error": false,
  "period": "today",
  "count": 3,
  "donations": [{ ...same fields as /api/top + "slug"... }]
}
GET

/api/stats

Get global platform statistics: totals, biggest donation, today's and this month's numbers.

Response Fields

total_donations_count integer All-time donation count
total_donations_usd number All-time total in USD
total_creators integer Number of creators
total_scouts integer Number of scouts
biggest_donation object Biggest donation ever (donor, amount, creator)
today_donations_count integer Donations submitted today
today_donations_usd number Total USD today
this_month_donations_count integer Donations this month
this_month_donations_usd number Total USD this month

Response 200

{
  "error": false,
  "stats": {
    "total_donations_count": 23,
    "total_donations_usd": 118565.00,
    "total_creators": 13,
    "total_scouts": 8,
    "biggest_donation": {
      "donor_name": "NinjaFan",
      "amount_usd": 15000,
      "creator_name": "Ninja"
    },
    "today_donations_count": 0,
    "today_donations_usd": 0,
    "this_month_donations_count": 5,
    "this_month_donations_usd": 35000
  }
}
GET

/api/creators

List creators/streamers with filtering and sorting options.

Query Parameters

limit integer

default: 20, max: 100

sort string

total_usd | donations_count | name

platform string

YouTube, Twitch, Kick, TikTok, Other

country string

2-letter country code (e.g. US, PL)

Example

curl "https://theboard.gg/api/creators?platform=Twitch&sort=total_usd&limit=5" \
  -H "Authorization: Bearer tb_your_key"

Response 200

{
  "error": false,
  "count": 5,
  "creators": [{
    "slug": "ninja",
    "display_name": "Ninja",
    "platform": "Twitch",
    "country_code": "US",
    "is_verified": true,
    "total_donations_count": 2,
    "total_donations_usd": 25000,
    "biggest_donation_usd": 15000
  }]
}
GET

/api/creators/{slug}

Get detailed information about a single creator including their top 20 donations.

Path Parameters

slug string required

URL-friendly creator identifier (e.g. "ninja")

Example

curl https://theboard.gg/api/creators/ninja \
  -H "Authorization: Bearer tb_your_key"

Response 200

{
  "error": false,
  "creator": {
    "slug": "ninja",
    "display_name": "Ninja",
    "bio": "Fortnite icon...",
    "platform": "Twitch",
    "total_donations_usd": 25000
  },
  "top_donations": [...]
}
GET

/api/donations/recent

Get the most recent donations across all creators, sorted by date (newest first). Great for live feeds and activity streams.

Query Parameters

limit integer default: 20, max: 100

Example

curl https://theboard.gg/api/donations/recent?limit=10 \
  -H "Authorization: Bearer tb_your_key"

Response 200

{
  "error": false,
  "count": 10,
  "donations": [{
    "id": 23,
    "donor_name": "KoreanWhale",
    "amount_usd": 3750,
    "creator_name": "Faker",
    "created_at": "2025-01-15 14:30:00",
    ...other fields...
  }]
}

Error Codes

400 Bad Request Missing required fields, invalid currency
401 Unauthorized Missing or invalid API key, key disabled
422 Validation Invalid field values (amount <= 0, bad URL, etc.)
429 Rate Limited Exceeded 100 requests/hour per key
500 Server Error Something went wrong on our side

All error responses follow the same JSON format:

{
  "error": true,
  "message": "donor_name is required (1-150 characters)."
}

Supported Currencies

All amounts are converted to USD for unified ranking. Rates are fixed approximations.

USD

1 = $1

EUR

1 = $1.08

GBP

1 = $1.25

PLN

1 = $0.25

BRL

1 = $0.2

RUB

1 = $0.011

JPY

1 = $0.0067

KRW

1 = $0.00075

SEK

1 = $0.095

NOK

1 = $0.093

DKK

1 = $0.145

CAD

1 = $0.75

AUD

1 = $0.65

Need Help?

Having trouble with the API? Here are some common things to check:

Make sure your API key starts with tb_ and is not disabled in your dashboard.

Include the Authorization: Bearer tb_... header in every request.

For POST requests, set Content-Type: application/json and send a valid JSON body.

Check the message field in error responses — it tells you exactly what went wrong.

Still stuck? Reach out on our Discord server or email support@theboard.gg.

Ready to integrate?

Generate your API key and start building.