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
Create an account
Sign up at /register to get your streamer profile.
-
2
Generate an API key
Go to Dashboard → API Keys. Save the key — it’s shown only once.
-
3
Make your first request
Add the
Authorizationheader 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
/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)."
}
/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."
}
/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"... }]
}
/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
}
}
/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
}]
}
/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": [...]
}
/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
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.