Cricbuzz Live Match Scores Scraper
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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?
| Field | Description |
|---|---|
matchId | Cricbuzz match identifier |
seriesId | Cricbuzz series identifier |
seriesName | Tour, league, or competition name |
description | Match label such as 3rd ODI |
format | Test, ODI, T20, T10, or another source format |
matchType | International or other source classification |
state | Source match state |
status | Detailed score or result status |
shortStatus | Compact source status when available |
startTime | ISO 8601 match start time |
endTime | ISO 8601 match end time when available |
team1, team2 | IDs, names, abbreviations, and innings arrays |
winner | Inferred winning team for completed results |
venue | Venue ID, ground, city, and timezone |
liveScoreUrl | Canonical Cricbuzz live score page |
scorecardUrl | Canonical Cricbuzz scorecard page |
commentaryUrl | Canonical Cricbuzz commentary page |
scrapedAt | UTC timestamp for the snapshot |
How to scrape Cricbuzz live scores
- Open the Actor input page.
- Choose a low
maxItemsvalue for your first run. - Optionally choose match formats or states.
- Optionally enter team names or a series phrase.
- Click Start.
- Review the dataset table.
- Export the results or connect the Actor to your workflow.
A broad first run needs only:
{"maxItems": 20}
Input options
| Input | Type | Default | Purpose |
|---|---|---|---|
maxItems | integer | 50 | Stop after this many filtered matches |
matchFormats | string array | all | Keep selected cricket formats |
matchStates | string array | all | Keep live, upcoming, complete, or abandoned matches |
teams | string array | all | Match either team's name or abbreviation |
seriesQuery | string | empty | Require 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:
- Save an Actor task with your team, format, or series filters.
- Create an Apify schedule during match windows.
- Keep
maxItemsaligned with the expected feed size. - Send each finished run to a webhook or integration.
- Deduplicate snapshots downstream with
matchIdandscrapedAt.
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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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
matchIdas your stable match key. - Store
scrapedAtwhen keeping live snapshots. - Treat missing innings as normal for upcoming matches.
- Avoid polling faster than your product actually needs.
Is scraping Cricbuzz legal?
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.
Related sports and data scrapers
Explore other Automation Lab Actors for adjacent workflows:
- ESPN News Scraper for sports news feeds
- Fantasy Premier League Data Scraper for football fantasy data
- Bovada Sportsbook Odds Scraper for structured sports odds
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.