Iplt20 APIdocuments.iplt20.com ↗
Access IPL player batting and bowling stats by season, Orange/Purple Cap standings, and all-time career records via 3 structured endpoints.
What is the Iplt20 API?
The IPL Cricket Stats API provides 3 endpoints covering Indian Premier League player performance data: season batting leaderboards, season bowling leaderboards, and all-time career aggregates per player. get_batting_stats returns Orange Cap standings filtered by season or team, while get_player_career_stats returns both batting and bowling career totals for any player by partial name match.
curl -X GET 'https://api.parse.bot/scraper/ac69bc48-6a1e-44da-8cd9-fce060986547/get_batting_stats?limit=10&season=2026' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace documents-iplt20-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: IPL Stats SDK — season stats and career records."""
from parse_apis.documents_iplt20_com_api import IPL, SeasonYear, PlayerNotFound
client = IPL()
# Get top batting performers for IPL 2026 (Orange Cap standings)
for batter in client.season(SeasonYear.Y2026).batting(limit=5):
print(f"{batter.player_name} ({batter.team_code}): {batter.runs} runs, SR {batter.strike_rate}")
# Get bowling stats for a specific team in a season
for bowler in client.season(SeasonYear.Y2025).bowling(team_code="CSK", limit=3):
print(f"{bowler.player_name}: {bowler.wickets} wickets, Econ {bowler.economy_rate}")
# Look up a player's all-time IPL career stats
career = client.player("Virat Kohli").career(limit=1).first()
if career and career.batting:
print(f"{career.player_name} - {career.team_name}")
print(f" Batting: {career.batting.runs} runs, Avg {career.batting.batting_average}")
# Handle player not found
try:
result = client.player("XyzNonexistent").career(limit=1).first()
except PlayerNotFound as exc:
print(f"Player not found: {exc.player_name}")
print("Exercised: season.batting / season.bowling / player.career")
Retrieve batting statistics for an IPL season, ranked by total runs (Orange Cap standings). Results include runs, batting average, strike rate, boundaries, and other batting metrics. Filterable by team. Results are auto-iterated.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of players to return. |
| season | string | IPL season year. |
| team_code | string | Filter by team short code (e.g. CSK, MI, RCB, GT, RR, SRH, DC, PBKS, KKR, LSG). Omit or pass empty string to return all teams. |
{
"type": "object",
"fields": {
"total": "integer",
"season": "string",
"players": "array of player batting stat objects"
},
"sample": {
"data": {
"total": 1,
"season": "2026",
"players": [
{
"runs": "776",
"fours": "63",
"sixes": "72",
"catches": "2",
"fifties": "5",
"innings": "16",
"matches": "16",
"not_outs": "0",
"centuries": "1",
"dot_balls": "108",
"player_id": "22203",
"stumpings": "0",
"team_code": "RR",
"team_name": "Rajasthan Royals",
"balls_faced": "327",
"nationality": "Indian",
"player_name": "Vaibhav Sooryavanshi",
"strike_rate": "237.30",
"highest_score": "103",
"batting_average": "48.50"
}
]
},
"status": "success"
}
}About the Iplt20 API
Season Batting and Bowling Leaderboards
get_batting_stats returns per-player batting figures for a given IPL season, ordered by total runs (matching the Orange Cap standings). Each player object includes runs, batting average, strike rate, and boundary counts. get_bowling_stats mirrors this for bowlers, returning wickets, bowling average, economy rate, and bowling strike rate in Purple Cap order. Both endpoints accept a season string (e.g. "2024"), an optional team_code from the supported shortcodes (CSK, MI, RCB, GT, RR, SRH, DC, PBKS, KKR, LSG), and a limit integer to cap results. The response includes a total count, the season string, and a players array.
Career Statistics
get_player_career_stats aggregates all-time IPL figures for a player. The player_name input supports partial, case-insensitive matching — searching "Kohli" will match "Virat Kohli". The response returns a total count and a players array where each object contains nested batting and bowling sub-objects covering career aggregates across all seasons. Players who have only batted or only bowled will have data in the relevant sub-object only.
Filtering and Pagination
Both season endpoints support team-level filtering via team_code. Omitting this parameter or passing an empty string returns all teams. Results across both leaderboard endpoints are auto-iterated, so pagination is handled internally. The limit parameter controls the maximum number of player records returned in a single response.
The Iplt20 API is a managed, monitored endpoint for documents.iplt20.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when documents.iplt20.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official documents.iplt20.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build an Orange Cap tracker showing the top run-scorers for the current IPL season by runs and strike rate.
- Compare bowling economy rates across all Purple Cap contenders for a specific season.
- Filter batting stats by team code (e.g. MI) to analyze a franchise's in-season performance.
- Pull all-time career batting and bowling aggregates for a player to display on a fantasy cricket platform.
- Generate season-over-season trend charts for a player's batting average using repeated
get_batting_statscalls. - Build a team roster performance summary by combining batting and bowling stats filtered to the same team code.
- Identify players with high career wicket counts by querying
get_player_career_statsand sorting on the bowling sub-object.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the IPL or BCCI have an official developer API for player stats?+
What does `get_bowling_stats` return, and how do I filter by team?+
get_bowling_stats returns a ranked list of bowlers for a given season with fields including wickets, bowling average, economy rate, and bowling strike rate. Pass a team_code value such as SRH or RCB to restrict results to one franchise. Omit team_code or pass an empty string to retrieve all teams in that season.Does `get_player_career_stats` cover IPL match-by-match or innings-level data?+
get_player_career_stats returns career aggregate totals only, exposed as batting and bowling sub-objects within each player record. Individual match or innings breakdowns are not part of this endpoint. You can fork the API on Parse and revise it to add a match-level stats endpoint if that granularity is needed.Does the API cover IPL seasons before the current one, or only the latest season?+
get_batting_stats and get_bowling_stats accept a season string parameter, so you can query historical seasons. Coverage depends on what the source publishes; very early IPL seasons (pre-2010) may have limited data availability.