Developers
The LeagueOfDataBase API
A REST JSON API over the site's community data: public summoner profiles, shared builds and consultation trends. Free to try, priced for real workloads.
Sign in, generate the free key, call the API — under a minute.
Authentication
Every /v1 request carries your key — format lodb_ followed by 40 hexadecimal characters — in one of two headers. Only its SHA-256 fingerprint is stored server-side: a lost key is regenerated, never recovered.
Authorization: Bearer lodb_… X-Api-Key: lodb_…
Base URL (v1, development): http://localhost:8090 — production access will be exposed through the site's own domain via the TLS edge.
Endpoints
/healthz
Service health — the only route without authentication.
/v1/profiles/{username}
Public profile of a member: favorites and number of public builds (404 if the profile is private).
/v1/champions/{championId}/builds
Public builds for a champion (Data Dragon id), newest first — paginated with page and per_page (max 50).
/v1/trends/{type}
Most-viewed entities on the site: champions, items, runes or summoners — range=7d (default) or 30d, top 25.
/v1/usage
Live consumption of the calling key — authenticated and rate-limited, but never counted against the quota.
curl -H "Authorization: Bearer lodb_votrecle…" \ "http://localhost:8090/v1/trends/champions?range=30d" curl -H "X-Api-Key: lodb_votrecle…" \ "http://localhost:8090/v1/usage"
{
"plan": "free",
"monthly_quota": 500,
"used_this_month": 137,
"remaining_this_month": 363,
"credits_balance": 0,
"rate_limit_per_min": 10
}
Quotas & rate limiting
Each request is charged to the monthly quota of your plan, then to prepaid credits; when both are exhausted the API answers 429 quota_exceeded.
Token bucket per key: every /v1 response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; beyond the limit, 429 rate_limited.
Quotas reset with the calendar month. Annual plans carry their volume as a monthly quota (20 000 or 60 000 requests per month).
Errors
Uniform envelope on every error. Codes: unauthorized (401), forbidden (403, revoked key), not_found (404), rate_limited and quota_exceeded (429), invalid_request (400), internal (500/503).
{ "error": { "code": "rate_limited", "message": "rate limit exceeded, retry after X-RateLimit-Reset" } }
Pricing
| Offer | Price | Volume | Rate limit |
|---|---|---|---|
| Free | 0 € | 500 req/month | 10 req/min |
| Pack S | 5 € | 5 000 requests | 60 req/min |
| Pack M | 10 € | 10 000 requests | 60 req/min |
| Pack L | 20 € | 20 000 requests | 60 req/min |
| Monthly | 5 €/month | 15 000 req/month | 120 req/min |
| Monthly+ | 15 €/month | 45 000 req/month | 120 req/min |
| Annual | 48 €/year | 20 000 req/month | 300 req/min |
| Annual+ | 144 €/year | 60 000 req/month | 300 req/min |
Credit packs: 1 € per 1,000 requests, spent after the monthly quota of the active plan, valid 12 months. Annual plans carry their volume as a monthly quota, billed yearly.
Billing & key management
Keys are created and managed from your profile; credit packs and subscriptions are paid through Stripe Checkout — the API itself never touches payment data.