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.
Sub-Second Live Data
Power live gold diff charts, kill feeds, and objective updates instantly. Stop waiting for the game to end.
Deep Pro Histories
Access complete career earnings, transfer histories, and current organization data for every pro player.
Instant Production Access
Bypass the Riot Developer Portal entirely. Get your API key and make requests immediately.
Unlimited Scalability
Build apps that scale. Never worry about hitting the strict 20 requests/second cap again.
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 games, full 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 games, full access
- 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 games, full access
- 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?
We use advanced, proprietary computer vision and real-time game client parsing to extract live data with sub-second latency. This allows us to provide real-time gold difference, kills, and objective updates while official endpoints make you wait until the match is over.
What pro player data is included?
Our endpoints cover comprehensive pro player histories. This includes their total career earnings, full transfer and roster change history, their current organization, and detailed performance stats across different 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 an API key instantly. We do not require you to go through a lengthy application process or review board to get production-level rate limits.
Is Cito API reliable for production applications?
Absolutely. Cito API maintains 99.9% uptime with servers distributed globally. We serve millions of requests daily for stats trackers, live broadcasting overlays, and fantasy esports platforms.