Cricbuzz Live Match Scores Scraper avatar

Cricbuzz Live Match Scores Scraper

Pricing

Pay per event

Go to Apify Store
Cricbuzz Live Match Scores Scraper

Cricbuzz Live Match Scores Scraper

Extract live, recent, and upcoming Cricbuzz matches with teams, innings scores, venues, status, timestamps, winners, and canonical score links.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Turn the public Cricbuzz live-scores page into a clean cricket match dataset.

Extract current, recent, and upcoming matches with teams, innings scores, venues, timestamps, status, winners, and canonical Cricbuzz links—without maintaining a browser crawler.

Use the Actor once for an export or run it on an Apify schedule to power a recurring cricket-data feed.

What does Cricbuzz Live Match Scores Scraper do?

The Actor reads the public Cricbuzz live match feed and saves one normalized dataset row per match.

Each row can contain:

  • 🏏 match and series IDs
  • 🏆 series name, match description, format, and type
  • ⏱️ start time, end time, state, and detailed status
  • 👥 both teams, IDs, abbreviations, and innings scores
  • 📍 venue ground, city, and timezone
  • ✅ winner and short status when Cricbuzz provides enough information
  • 🔗 live-score, scorecard, and commentary links
  • 🕒 the UTC extraction timestamp

The default input is intentionally small and ready to run.

Who is this cricket score scraper for?

Fantasy-cricket product teams

Poll active matches and feed normalized scores into contest operations, alerts, or internal dashboards.

Sports app developers

Replace brittle page selectors with a stable JSON dataset or API response.

Newsrooms and cricket media teams

Monitor match states, final results, and canonical links for editorial workflows.

Cricket analysts

Archive snapshots during a tour or competition for later comparison and modeling.

Data pipeline engineers

Schedule a filtered feed and deliver it to a webhook, database, spreadsheet, or cloud warehouse.

Why use this Actor?

  • HTTP-first: no browser startup overhead for the proven live feed.
  • Structured output: nested teams, innings, and venue objects preserve useful context.
  • Useful filters: select formats, states, teams, or a series-name phrase before export.
  • Repeatable: run manually, through an API, or on an Apify schedule.
  • Fail-loud reliability: a missing Cricbuzz match payload fails the run instead of silently returning a misleading success.
  • Export-ready: download JSON, CSV, Excel, XML, RSS, or JSONL from Apify.

What Cricbuzz data can I extract?

FieldDescription
matchIdCricbuzz match identifier
seriesIdCricbuzz series identifier
seriesNameTour, league, or competition name
descriptionMatch label such as 3rd ODI
formatTest, ODI, T20, T10, or another source format
matchTypeInternational or other source classification
stateSource match state
statusDetailed score or result status
shortStatusCompact source status when available
startTimeISO 8601 match start time
endTimeISO 8601 match end time when available
team1, team2IDs, names, abbreviations, and innings arrays
winnerInferred winning team for completed results
venueVenue ID, ground, city, and timezone
liveScoreUrlCanonical Cricbuzz live score page
scorecardUrlCanonical Cricbuzz scorecard page
commentaryUrlCanonical Cricbuzz commentary page
scrapedAtUTC timestamp for the snapshot

How to scrape Cricbuzz live scores

  1. Open the Actor input page.
  2. Choose a low maxItems value for your first run.
  3. Optionally choose match formats or states.
  4. Optionally enter team names or a series phrase.
  5. Click Start.
  6. Review the dataset table.
  7. Export the results or connect the Actor to your workflow.

A broad first run needs only:

{
"maxItems": 20
}

Input options

InputTypeDefaultPurpose
maxItemsinteger50Stop after this many filtered matches
matchFormatsstring arrayallKeep selected cricket formats
matchStatesstring arrayallKeep live, upcoming, complete, or abandoned matches
teamsstring arrayallMatch either team's name or abbreviation
seriesQuerystringemptyRequire a phrase in the series name

maxItems is applied after all filters.

Team matching is case-insensitive and accepts abbreviations such as IND, ENG, or WI.

Filter examples

Live T20 matches

{
"matchFormats": ["T20"],
"matchStates": ["LIVE"],
"maxItems": 100
}

India and England matches

{
"teams": ["India", "England"],
"maxItems": 50
}

One tour or competition

{
"seriesQuery": "World Cup",
"maxItems": 100
}

Filters describe the current public live-scores feed; they do not search Cricbuzz's full historical archive.

Output example

{
"matchId": 129480,
"seriesId": 10532,
"seriesName": "India tour of England, 2026",
"description": "3rd ODI",
"format": "ODI",
"state": "Complete",
"status": "England won by 27 runs",
"team1": {
"id": 9,
"name": "England",
"shortName": "ENG",
"innings": [{ "inningsId": 1, "runs": 315, "wickets": 8, "overs": 50 }]
},
"team2": {
"id": 2,
"name": "India",
"shortName": "IND",
"innings": [{ "inningsId": 2, "runs": 288, "wickets": 10, "overs": 48.2 }]
},
"winner": "England",
"venue": {
"ground": "Lord's",
"city": "London",
"timezone": "+01:00"
},
"liveScoreUrl": "https://www.cricbuzz.com/live-cricket-scores/129480/england-vs-india-3rd-odi",
"scorecardUrl": "https://www.cricbuzz.com/live-cricket-scorecard/129480/england-vs-india-3rd-odi",
"commentaryUrl": "https://www.cricbuzz.com/live-cricket-full-commentary/129480/england-vs-india-3rd-odi",
"scrapedAt": "2026-07-20T02:00:00.000Z"
}

Values change with Cricbuzz's current feed. Some upcoming matches do not yet have innings or an end time.

How much does it cost to scrape Cricbuzz matches?

The Actor uses pay-per-event pricing:

  • a small one-time Start charge per run
  • one Match record charge for each saved dataset row
  • automatic tier discounts based on your Apify plan

The current base configuration is a $0.005 start and $0.000091804 per match on the Bronze tier, with lower per-record prices on higher tiers.

Because one HTTP request can provide many records, scheduled feed snapshots remain inexpensive. Check the Actor's Pricing tab for your exact plan price.

Scheduling a live cricket monitor

For a live dashboard:

  1. Save an Actor task with your team, format, or series filters.
  2. Create an Apify schedule during match windows.
  3. Keep maxItems aligned with the expected feed size.
  4. Send each finished run to a webhook or integration.
  5. Deduplicate snapshots downstream with matchId and scrapedAt.

A five-minute schedule is usually more useful during active play than an always-on process.

Integrations

Webhooks

Send a run-finished webhook to your API, automation platform, or queue.

Google Sheets

Export current matches for newsroom or operations teams that prefer a spreadsheet.

Make and Zapier

Trigger alerts when a filtered dataset contains a live match or completed result.

Databases and warehouses

Load JSONL into PostgreSQL, BigQuery, Snowflake, or another analytics store.

Slack and Discord

Format newly completed match rows into result notifications.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/cricbuzz-live-match-scores-scraper').call({
matchFormats: ['T20'],
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/cricbuzz-live-match-scores-scraper').call(
run_input={'teams': ['India'], 'maxItems': 50}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL API example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~cricbuzz-live-match-scores-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"matchStates":["LIVE"],"maxItems":20}'

Use the returned run ID to inspect status and retrieve the default dataset.

Use with Apify MCP

Connect the Actor to AI clients through Apify's MCP server:

https://mcp.apify.com?tools=automation-lab/cricbuzz-live-match-scores-scraper

Claude Code setup

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/cricbuzz-live-match-scores-scraper"

Claude Desktop setup

Add this remote MCP server configuration through a compatible HTTP connector:

{
"mcpServers": {
"apify-cricbuzz": {
"url": "https://mcp.apify.com?tools=automation-lab/cricbuzz-live-match-scores-scraper"
}
}
}

Cursor setup

Use the same mcpServers JSON in Cursor's MCP settings and authenticate with your Apify credentials when prompted.

VS Code setup

Add the remote HTTP endpoint in your VS Code MCP extension settings, then enable the automation-lab/cricbuzz-live-match-scores-scraper tool.

Example prompts:

  • “Run the Cricbuzz scraper and show current live T20 matches.”
  • “Find matches involving India and summarize the innings scores.”
  • “Export completed match results from the current Cricbuzz feed.”

Data freshness

Every run fetches the current public Cricbuzz live-scores page.

startTime and endTime describe the match. scrapedAt describes when this Actor observed the record.

For live use cases, schedule repeated runs and retain snapshots. For one-time final scores, run after matches complete.

Reliability and error handling

The Actor performs bounded retries for transient HTTP failures.

It checks for Cricbuzz's structured match payload before parsing.

If Cricbuzz returns an unrecognized page, the run fails non-zero rather than pretending an empty scrape succeeded.

Duplicate source records are removed by matchId.

A valid filter can legitimately return zero items when no current match meets it.

Limitations

  • Version 1 covers the public live/recent match feed only.
  • It does not crawl historical score archives.
  • It does not fetch ball-by-ball commentary text or player profiles.
  • Canonical scorecard and commentary URLs are included, but their detail pages are not scraped.
  • Source availability and field completeness depend on Cricbuzz.
  • Very narrow filters may yield no current records.

Tips for stable workflows

  • Start with an unfiltered run to understand the current feed.
  • Use Cricbuzz abbreviations when team names vary.
  • Store matchId as your stable match key.
  • Store scrapedAt when keeping live snapshots.
  • Treat missing innings as normal for upcoming matches.
  • Avoid polling faster than your product actually needs.

This Actor extracts publicly visible match information without authentication.

You are responsible for complying with Cricbuzz's terms, applicable database and copyright rules, privacy laws, and your intended use.

Do not use the Actor to overload the website, bypass access controls, or republish protected editorial content without permission.

Match facts may be usable in many jurisdictions, but legal requirements depend on your location and product. Seek legal advice for high-risk commercial use.

Troubleshooting

Why is my dataset empty?

Remove filters and rerun with a small maxItems. If records appear, one of your team, state, format, or series filters simply does not match the current feed.

Why does the run fail with an unrecognized payload error?

Cricbuzz may have changed the page or served a temporary error. Retry once later and inspect the run log. Persistent failures should be reported through the Actor issue form.

Why does an upcoming match have no innings?

No score exists before play begins. The team objects remain present with empty innings arrays.

Why is the winner missing?

The winner is included when the detailed status starts with a recognizable team name or abbreviation. Draws, no-results, abandoned matches, and unusual status text may not identify a winner.

Frequently asked questions

Does this require a Cricbuzz account or API key?

No. Version 1 reads the anonymous public live-scores page.

Does it need a proxy?

No proxy is required for the proven route. The Actor uses conservative HTTP access.

Can it scrape one team?

Yes. Add a full team name or abbreviation to teams.

Can it return only live matches?

Yes. Set matchStates to ["LIVE"].

Can I get CSV or Excel?

Yes. Open the dataset and choose your preferred Apify export format.

Can it run on a schedule?

Yes. Save a task and attach an Apify schedule.

Does it scrape commentary text?

No. It returns the canonical commentary link but keeps v1 focused on match feed records.

Explore other Automation Lab Actors for adjacent workflows:

Combine match status data with news or notification workflows only when you have the right to use each source.

Support

If a run fails unexpectedly, open an issue from the Actor page.

Include:

  • the run URL
  • the exact input
  • the expected match or filter behavior
  • whether an unfiltered run succeeds

Do not include your Apify token or other credentials.