Power real-time broadcast overlays.
Our live data feeds empower you to build pixel-perfect overlays, exactly like the official broadcast—without waiting for the match to end.
The problem with the official API
01
Post-Match Only
Crucial data like gold difference and live events are only exposed after the match has completely ended.
02
Missing Context
No comprehensive pro player histories, career earnings, or organization tracking available via endpoints.
03
Strict Limitations
Stuck with 20 requests/second limits and tedious production key applications that can take months.
Dream Outcomes. Out of the box.
Stop stitching together 14 different Riot endpoints. We deliver the exact data payloads you actually need to build killer apps.
Series
6-4
Games
14-20
Win rate
60%
{
"matchup": "T1_vs_GENG",
"matches": [
{
"matchId": "LCK_2024_03",
"winner": "T1",
"duration": 1934,
"goldDiffAt15": 1200,
"mvp": "Faker"
},
{
"matchId": "WRLD_2023_11",
"winner": "GEN.G",
"duration": 2462,
"goldDiffAt15": -2400,
"mvp": "Chovy"
}
]
}The data you need.
Instantly.
Live-Aware Match Data
Use live and recently completed match endpoints where available, then fetch game stats and postgame rows for richer pages.
Deep Pro Histories
Access player earnings, transfer histories, and current organization data where tracked.
Instant Production Access
Create a Cito account, get your API key, and make requests immediately.
Clear Upgrade Path
Start on the free tier, then upgrade when your app needs higher monthly volume.
Stop Parsing. Start Building.
Don't waste weeks writing boilerplate to navigate rate limits, pagination, and undocumented endpoints.
// 1. Get PUUIDs for 10 players
const puuids = await getPuuids(players);
// 2. Fetch matchlists for each player
const matchLists = await Promise.all(
puuids.map(p => api.get('/lol/match/v5/matches/by-puuid/...'))
);
// 3. Find intersection of match IDs
const commonMatches = intersect(matchLists);
// 4. Fetch full match details (Rate Limit Nightmare)
const matches = [];
for (const matchId of commonMatches) {
// Wait to respect 20 req/s limit...
await sleep(100);
const match = await api.get(`/lol/match/v5/matches/${matchId}`);
matches.push(match);
}
// 5. Parse timelines for gold diff
const timelines = await fetchTimelines(matches);
const goldDiffs = calculateGoldDiff(timelines);// 1. Make one simple call.
const h2h = await cito.getMatchupHistory('T1', 'GENG', {
limit: 3,
includeGoldDiff: true
});
// Done.Stop settling for second best.
| Feature | Cito API | Riot API |
|---|---|---|
| Access Approval | Instant | Manual (Weeks/Months) |
| Live Match Events | Sub-second | Delayed / Post-match |
| Player Histories | Deep (Earnings, Orgs) | Limited |
| Rate Limits | Scalable Tiers | Strict 20/sec cap |
| Support | Dedicated Discord / Email | Community Forum |
Scale without limits.
Start for free. Upgrade when your app starts breaking the internet.
Free
Get started for free
- 500 API calls/month
- All 6 supported APIs, testing access
- 10 calls/minute rate limit
- Community support
- Commercial use allowed
Starter
Perfect for Discord bots & personal projects
- 50,000 API calls/month
- All 6 supported APIs
- 30 calls/minute rate limit
- Email support (48hr)
- Commercial use allowed
Builder
For growing bots, apps, and webhook workflows
- 250,000 API calls/month
- All 6 supported APIs
- 100 calls/minute rate limit
- Priority email (24hr)
- Webhook support
Frequently Asked Questions
How are you getting live data if Riot doesn't expose it?
Cito API combines available esports feeds, normalized records, and product-ready endpoint design so developers can use live-aware match context where available without building and maintaining their own data pipeline.
What pro player data is included?
Endpoints cover tracked player histories such as earnings, transfer and roster changes, current organization context, and performance stats across supported splits and tournaments.
Is it easy to migrate my existing Riot API integration?
Yes! Our REST endpoints are designed to be developer-friendly. While the schema is unified and often cleaner than the official API, the core entities (Matches, Players, Teams) map intuitively, making migration a matter of hours, not days.
Do I need to wait for a production key?
No. You can sign up and get a Cito API key instantly. Paid tiers increase monthly request room without a Riot production-key review.
Is Cito API reliable for production applications?
Cito API is built for production-style backend integrations with API keys, rate limits, dashboard usage, logs, and support workflows.