๐ Cricket Live
Live cricket scores, IPL tracking, and match alerts for OpenClaw.
Get real-time scores, upcoming schedules, detailed scorecards, and IPL standings โ all from your OpenClaw agent. Powered by CricketData.org API (endpoint: api.cricapi.com).
โจ Features
- ๐ด Live Scores โ All currently live matches with real-time scores, overs, and status
- ๐ Match Details โ Full scorecards with batting and bowling stats
- ๐ Upcoming Matches โ Next 7 days of scheduled matches, filterable by team
- โ Recent Results โ Completed matches from the last 3 days
- ๐ IPL Hub โ Standings, upcoming IPL matches, live scores, and results
- ๐ Match Search โ Find any match by team name (supports aliases like "MI", "CSK", "AUS")
- ๐ Alerts โ Cron-ready script for wicket, century, and result notifications
- ๐พ Smart Caching โ Respects API quota with configurable TTL per endpoint
- ๐ฎ๐ณ IST by Default โ All times displayed in Indian Standard Time
๐ Quick Start
1. Get a Free API Key
Sign up at cricketdata.org โ the free tier gives you 100 API calls/day. (CricketData.org's API is served at api.cricapi.com โ they are the same service.)
2. Set the Environment Variable
export CRICKET_API_KEY="your-api-key-here"
# Add to your shell profile or ~/.openclaw/.env for persistence
3. Run Any Script
bash scripts/live-scores.sh # What's happening right now?
bash scripts/upcoming-matches.sh # What's coming up?
bash scripts/ipl.sh standings # IPL points table
๐ Usage
Live Scores
bash scripts/live-scores.sh
Shows all currently live matches with scores, overs, and match status.
Example output:
๐ LIVE CRICKET SCORES
โโโโโโโโโโโโโโโโโโโโโ
๐ด India vs England โ 3rd Test, Day 2
๐ฎ๐ณ India: 285/6 (78.2 ov)
๐ด England: 312 (98.4 ov)
๐ India trail by 27 runs
๐ด Australia vs South Africa โ 1st ODI
๐ฆ๐บ Australia: 156/3 (28.1 ov)
๐ In Progress
Upcoming Matches
bash scripts/upcoming-matches.sh # All upcoming
bash scripts/upcoming-matches.sh --team India # Filter by team
bash scripts/upcoming-matches.sh MI # Works with aliases
Example output:
๐
UPCOMING MATCHES (Next 7 Days)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฎ๐ณ India vs England โ 4th Test
๐ Ranchi
๐ 16 Feb 2026, 09:30 AM IST
๐ Mumbai Indians vs Chennai Super Kings โ IPL 2026
๐ Wankhede Stadium, Mumbai
๐ 18 Feb 2026, 07:30 PM IST
Recent Results
bash scripts/recent-results.sh
Example output:
โ
RECENT RESULTS
โโโโโโโโโโโโโโโโโ
๐ India won by 5 wickets
India vs England โ 2nd Test
๐ Visakhapatnam
๐ Australia won by 73 runs
Australia vs Sri Lanka โ 3rd ODI
๐ Melbourne
IPL Hub
bash scripts/ipl.sh standings # Points table
bash scripts/ipl.sh upcoming # Upcoming IPL matches
bash scripts/ipl.sh live # Live IPL scores
bash scripts/ipl.sh results # Recent IPL results
Match Details (Scorecard)
bash scripts/match-details.sh <match-id>
Get match IDs from live-scores or search results.
Search Matches
bash scripts/search-match.sh "India vs Australia"
bash scripts/search-match.sh "MI vs CSK"
Cricket Alerts (Cron)
bash scripts/cricket-alert.sh
Detects wickets, centuries, and match completions since last check. Outputs only when something notable happens โ perfect for cron.
๐ฃ๏ธ Natural Language Mapping
| User says | Script |
|---|---|
| "What's the score?" / "Live scores" | live-scores.sh |
| "Show me the scorecard for match X" | match-details.sh <id> |
| "Upcoming matches" / "What's coming up?" | upcoming-matches.sh |
| "Recent results" / "Who won?" | recent-results.sh |
| "IPL table" / "IPL standings" | ipl.sh standings |
| "IPL matches today" | ipl.sh live |
| "India vs Australia" | search-match.sh "India vs Australia" |
โ๏ธ Configuration
config/cricket.yaml
Main configuration file. API key can be set here or via CRICKET_API_KEY env var (env var takes priority).
api_key: "" # Set via env var recommended
favorite_teams: # Teams for alert filtering
- India
- Mumbai Indians
alert_events: # Events that trigger alerts
- wicket
- century
- match_end
cache_dir: /tmp/cricket-cache # Cache directory
cache_ttl: # Cache TTL in seconds per endpoint
live: 120
upcoming: 1800
results: 1800
series: 86400
scorecard: 300
config/teams.yaml
Team name aliases for fuzzy matching. Maps shorthand names (MI, CSK, IND, AUS) to canonical API names. See config/README.md for details.
โฐ Cron Integration
Set up periodic match alerts:
# Check for notable events every 5 minutes during match hours
*/5 9-23 * * * CRICKET_API_KEY="your-key" bash /path/to/skills/cricket-scores/scripts/cricket-alert.sh
# Or use OpenClaw cron:
# Schedule cricket-alert.sh to run during IPL match times (7-11 PM IST)
The alert script tracks state in /tmp/cricket-alert-state.json and only outputs when something new happens (wicket, century, match result).
๐ API Quota Management
| Tier | Calls/Day | Cost |
|---|---|---|
| Free | 100 | $0 |
| Pro | 2,000 | $5.99/mo |
How Caching Helps
All scripts cache API responses locally in /tmp/cricket-cache/:
- Live scores: 2 min TTL (fresh during matches)
- Upcoming/Results: 30 min TTL
- Series info: 24 hour TTL
- Scorecards: 5 min TTL
Budget During a Match Day
~10 list calls + ~50 score checks + 40 ad-hoc = 100 calls (fits free tier)
When Quota is Exhausted
Scripts show a clear message: "API quota exhausted (100 calls/day limit reached). Try again tomorrow or upgrade."
๐ Output Format
All output is messaging-friendly:
- No markdown tables (works on WhatsApp, Discord, Telegram)
- Bullet point lists with emoji
- Times converted to IST
- Match IDs included for drill-down
๐ Requirements
- bash 4.0+
- curl (usually pre-installed)
- jq โ
apt install jqorbrew install jq - CricketData.org API key (free) โ sign up at cricketdata.org
๐ Security Notes
- API key in URL query parameter: The CricketData.org API (
api.cricapi.com) requires the API key to be passed as a URL query parameter (?apikey=...). This means the key may appear in shell history, process listings, server access logs, and any HTTP proxy/inspection logs. Mitigations:- Set the key via the
CRICKET_API_KEYenvironment variable (not hardcoded in config files). - Use the free tier key for this skill โ it has limited scope and can be rotated easily.
- Avoid running scripts in shared/multi-tenant environments where process arguments are visible to other users.
- The CricketData.org API does not support header-based authentication, so query-param passing is unavoidable.
- Set the key via the
๐ License
MIT โ see LICENSE