Cricket API — Live Scores, Highlights & Stats (2026)
Cricket API 07 Nov 2026

Cricket API — Live Scores, Highlights & Stats (2026)

Get live cricket scores, ball-by-ball data, video highlights, player stats, and fantasy points via a single REST API. CricketLiveAPI covers 900+ leagues in 80+ countries — faster and more affordable than Highlightly, API Cricket, or Sportmonks.

CricketLiveApi Team
CricketLiveApi Team

Cricket API — Live Scores, Highlights & Stats

Building a cricket app in 2026 means choosing a cricket API that covers live scores, ball-by-ball commentary, highlights, player stats, and fantasy points — all from a single endpoint. CricketLiveAPI delivers every data layer across 900+ tournaments in 80+ countries, with flat subscription pricing and no per-call charges that spike during a World Cup final.

This guide covers every feature of the CricketLiveAPI and shows how it compares to other cricket data providers on coverage, speed, and price.

What Every Cricket API Must Provide

A production-grade cricket API needs more than a live score feed. Here is the full checklist for any serious cricket application:

  • ✅ Live scores updated ball by ball across Test, ODI, and T20 formats
  • ✅ Ball-by-ball commentary with over number, event flags, and player metadata
  • ✅ Full scorecard — batting, bowling, fall of wickets, extras, and partnerships
  • ✅ Highlights — structured key-moment events (wickets, sixes, fours) per match
  • ✅ Momentum graphs — runs progression, run rate, runs per over, win probability
  • ✅ Player stats — career batting and bowling averages, recent form, profiles
  • ✅ ICC rankings — men and women, all formats, batting/bowling/all-rounder/teams
  • ✅ Fantasy points — Dream11-compatible live points with playing XI
  • ✅ Webhook push — no polling; events delivered to your server in real time
  • ✅ Fixtures and standings — schedules, points tables, series archives

Live Cricket Scores — Ball by Ball

The live matches endpoint returns every ongoing match with current score, batting team, and match state:

GET https://cricketliveapi.com/api/v1/cricket/matches/live
Authorization: Bearer YOUR_API_KEY

{
  "success": true,
  "type": "live",
  "count": 3,
  "data": [
    {
      "match_id": 173060,
      "series_name": "India tour of England, 2026",
      "match_desc": "3rd Test",
      "format": "TEST",
      "venue": "Headingley, Leeds",
      "first_team":  { "name": "India",   "score": "342/6 (87.4 Ov)" },
      "second_team": { "name": "England", "score": "" },
      "status": "India are batting",
      "state": "live"
    }
  ]
}

The same match_id is the key for every downstream endpoint — scorecard, commentary, highlights, graphs, and fantasy data all accept the same identifier.

Ball-by-Ball Commentary API

The commentary endpoint at /api/v1/cricket/commentary/{matchId} returns every delivery with over number, ball text, runs scored, and event flags:

GET /api/v1/cricket/commentary/173060

{
  "success": true,
  "data": {
    "commentary": [
      {
        "over": "87.4",
        "ball_text": "Good length delivery outside off, driven through covers for FOUR",
        "runs": 4,
        "event": "boundary",
        "batsman": "Virat Kohli",
        "bowler": "James Anderson"
      },
      {
        "over": "87.3",
        "ball_text": "Short ball, pulled to deep square leg — OUT! Caught",
        "runs": 0,
        "event": "WICKET",
        "batsman": "Rohit Sharma",
        "bowler": "James Anderson"
      }
    ]
  }
}

Cricket Highlights API

The highlights endpoint at /api/v1/cricket/highlights/{matchId} returns a structured list of key moments — wickets, sixes, fours, and over breaks — with batsman, bowler, and over reference attached to each event. No free-text parsing required:

GET /api/v1/cricket/highlights/177701

{
  "success": true,
  "data": {
    "total": 28,
    "highlights": [
      {
        "over": 19.6,
        "event": "over-break,WICKET",
        "bat_team": "MI",
        "batsman": "Rohit Sharma",
        "bowler": "Jasprit Bumrah"
      },
      {
        "over": 18.4,
        "event": "SIX",
        "bat_team": "MI",
        "batsman": "Hardik Pandya",
        "bowler": "Pat Cummins"
      }
    ]
  }
}

This structured format lets you build a highlights reel, a match timeline, or a push notification trigger without parsing free-form commentary text.

Momentum Graphs and Win Probability

The graphs endpoint at /api/v1/cricket/graphs/{matchId} returns pre-computed chart data ready to drop into any charting library:

GET /api/v1/cricket/graphs/177701

{
  "data": {
    "matchId": 177701,
    "team1Name": "MI",
    "team2Name": "CSK",
    "runsChartData":   [{ "over": 0, "team1": 0, "team2": 0 }],
    "runRateChartData":[{ "over": 0, "team1": 0, "team2": 0 }],
    "runsPerOverData": [{ "over": 1, "team1": 8, "team2": 6, "isTeam1Wicket": false }],
    "winProbability":  { "1": [{ "over": 0, "team1": 50, "team2": 50 }] }
  }
}

Win probability updates ball by ball during a live match, giving your users the real-time engagement that keeps them on screen through every over.

Player Stats API

Player profiles at /api/v1/cricket/player/{playerId} include biographical data, batting and bowling career stats, recent form, and a career timeline across formats:

GET /api/v1/cricket/player/11808

{
  "data": {
    "player_id": 11808,
    "name": "Shubman Gill",
    "country": "India",
    "role": "Batsman",
    "batting": {
      "test":  { "matches": 32, "runs": 2341, "avg": 46.8, "hundreds": 6 },
      "odi":   { "matches": 58, "runs": 3102, "avg": 58.5, "hundreds": 9 },
      "t20i":  { "matches": 41, "runs": 1287, "avg": 37.9, "hundreds": 2 }
    }
  }
}

ICC Rankings API

ICC rankings are available for men and women across batting, bowling, all-rounder, and teams in Test, ODI, and T20 formats:

GET /api/v1/cricket/icc-rankings/batting/odi

{
  "data": {
    "category": "batting",
    "format": "odi",
    "count": 15,
    "rankings": [
      { "rank": "1", "id": "11808", "name": "Shubman Gill",  "country": "India",     "rating": "841" },
      { "rank": "2", "id": "1413",  "name": "Babar Azam",    "country": "Pakistan",  "rating": "820" },
      { "rank": "3", "id": "5132",  "name": "Virat Kohli",   "country": "India",     "rating": "811" }
    ]
  }
}

Fantasy Cricket API

Fantasy platforms need more than a live score. CricketLiveAPI provides a dedicated fantasy layer with six endpoints:

  • GET /fantasy/matches — matches eligible for fantasy contests
  • GET /fantasy/players/{matchId} — player pool with credits and roles
  • GET /fantasy/playing-xi/{matchId} — confirmed playing XI once announced
  • GET /fantasy/player-points/{matchId} — live fantasy points per player
  • GET /fantasy/live-score/{matchId} — fantasy-optimised live score feed
  • GET /fantasy/points-engine — scoring rules for your platform
GET /api/v1/fantasy/player-points/173060

{
  "players": [
    {
      "name": "Virat Kohli",
      "role": "BAT",
      "fantasy_points": 87.5,
      "breakdown": {
        "runs_points": 71.5,
        "boundary_bonus": 14.0,
        "milestone_bonus": 2.0
      }
    },
    {
      "name": "Jasprit Bumrah",
      "role": "BOWL",
      "fantasy_points": 112.0,
      "breakdown": {
        "wicket_points": 75.0,
        "economy_bonus": 25.0,
        "maiden_bonus": 12.0
      }
    }
  ]
}

Webhook Push — No More Polling

Polling a live score endpoint every few seconds wastes quota and adds latency. CricketLiveAPI supports webhook delivery for seven match events:

  • score_update — every ball
  • wicket — wicket falls
  • over_complete — end of each over
  • innings_change — innings break
  • match_start — toss and first ball
  • match_end — final result
  • toss_update — toss result
POST /api/v1/webhooks
{
  "url": "https://yourapp.com/cricket-webhook",
  "events": ["score_update", "wicket", "match_end"]
}

// Your server receives (HMAC-SHA256 signed):
{
  "event": "wicket",
  "match_id": 173060,
  "data": {
    "score": "342/7 (89.1 Ov)",
    "batsman": "Rohit Sharma",
    "bowler": "James Anderson",
    "wicket_type": "caught"
  }
}

Quick Start — Live Scores in 60 Seconds

JavaScript / Node.js

npm install cricketliveapi

const cricket = require('cricketliveapi');
const api = cricket.createClient({ apiKey: process.env.CRICKETLIVEAPI_KEY });

const matches = await api.getLiveMatches();
const list = Array.isArray(matches.data) ? matches.data : [];
list.forEach(m => console.log(`${m.first_team.name} vs ${m.second_team.name} — ${m.status}`));

Python

import requests

API_KEY = "your_api_key_here"
r = requests.get(
    "https://cricketliveapi.com/api/v1/cricket/matches/live",
    headers={"Authorization": f"Bearer {API_KEY}"}
)
for match in r.json()["data"]["matches"]:
    print(f"{match['first_team']['name']} vs {match['second_team']['name']}: {match['status']}")

PHP / Laravel

use Illuminate\Support\Facades\Http;

$matches = Http::withToken(env('CRICKETLIVEAPI_KEY'))
    ->get('https://cricketliveapi.com/api/v1/cricket/matches/live')
    ->json('data.matches', []);

foreach ($matches as $m) {
    echo $m['first_team']['name'] . ' vs ' . $m['second_team']['name'] . PHP_EOL;
}

All Endpoints at a Glance

// Live, Recent & Upcoming
GET /api/v1/cricket/matches/live
GET /api/v1/cricket/matches/recent
GET /api/v1/cricket/matches/upcoming

// Match Detail
GET /api/v1/cricket/scorecard/{matchId}
GET /api/v1/cricket/commentary/{matchId}
GET /api/v1/cricket/highlights/{matchId}
GET /api/v1/cricket/graphs/{matchId}
GET /api/v1/cricket/overs/{matchId}
GET /api/v1/cricket/squads/{matchId}
GET /api/v1/cricket/match-facts/{matchId}

// Series & Schedule
GET /api/v1/cricket/schedule
GET /api/v1/cricket/series/{seriesId}
GET /api/v1/cricket/series/{seriesId}/matches
GET /api/v1/cricket/series/{seriesId}/points-table

// Teams & Players
GET /api/v1/cricket/teams
GET /api/v1/cricket/team/{teamId}/players
GET /api/v1/cricket/player/{playerId}

// Rankings
GET /api/v1/cricket/icc-rankings/{category}/{format}

// Fantasy
GET /api/v1/fantasy/matches
GET /api/v1/fantasy/players/{matchId}
GET /api/v1/fantasy/playing-xi/{matchId}
GET /api/v1/fantasy/player-points/{matchId}
GET /api/v1/fantasy/live-score/{matchId}
GET /api/v1/fantasy/points-engine

// Webhooks
POST   /api/v1/webhooks
GET    /api/v1/webhooks
DELETE /api/v1/webhooks/{id}

// News & Media
GET /api/v1/cricket/news
GET /api/v1/cricket/videos
GET /api/v1/cricket/spotlight

Coverage — 900+ Leagues, 80+ Countries

CricketLiveAPI covers every ICC member nation and all major franchise leagues: IPL, BBL, PSL, CPL, SA20, ILT20, The Hundred, and more. The series archive goes back years, so historical data for analytics and machine learning is available through the same API key. The schedule endpoint returns fixtures months ahead, and the points table endpoint keeps standings current throughout a tournament.

Supported categories across schedule, series, and teams endpoints: international, domestic, league, and women.

Pricing — Flat Subscription, No Per-Call Surprises

  • 🆓 Free — 500 API calls/day, live scores, upcoming matches. No credit card.
  • 💼 Starter — ₹999/month — 5,000 calls/day, scorecard, fantasy points, webhooks
  • 🚀 Pro — ₹2,999/month — 25,000 calls/day, ball-by-ball, player stats, priority support
  • 🏢 Enterprise — Unlimited calls, dedicated infrastructure, SLA guarantee

No per-call charges that spike during a World Cup final. Full pricing at cricketliveapi.com/pricing.

Get Your Free Cricket API Key

Sign up in 30 seconds — no credit card required. Start building with live cricket data immediately.

→ Get Free Cricket API Key

Explore the full endpoint reference at cricketliveapi.com/api-docs. Questions? Email support@cricketliveapi.com.

Share this article

Start building with CricketLiveApi

Free tier available. No credit card required.

Get Free API Key