Sportskeeda API endpoint
Returns the current commentary feed. To page to older events, pass a 24-character lowercase hexadecimal cursor from an event in /sportskeeda/cricket-match's commentary field (the full feed may contain zero-filled IDs); language then selects an upstream language. The match page's commentary selector offers en, hi, ta, te, and bho. Language without cursor is rejected because the upstream feed ignores it.
/sportskeeda/cricket-commentaryQuery parameters:
slug (required): host-free match path returned by /sportskeeda/schedule, such as live-cricket-score/india-vs-west-indies-2nd-odi-30-september-2026.cursor (optional): nonzero 24-character lowercase hexadecimal commentary ID copied from an event in /sportskeeda/cricket-match's commentary field. Supplying it requests older events. The full commentary feed can contain zero-filled event IDs; those are rejected as unusable cursors.language (optional): valid only with cursor; exact values are en, hi, ta, te, and bho. The live match page labels these English, Hindi, Tamil, Telugu, and Bhojpuri. If omitted with a cursor, en is used. A language without a cursor is rejected because the upstream's first-page feed ignores that parameter.Commentary event objects preserve the upstream event fields, including event text/type, over, score, timestamp, batsman, bowler, and source cursor ID when present. count is the number of events returned; zero is a valid empty older-language page.
| Field | Filled in, of 2398 checked | Values in the sample |
|---|---|---|
| _id | 500 | |
| auto_comms_idx | 500 | |
| cardId | 0 | |
| comment_text | 428 | median 43 characters |
| comment_type | 500 | comment in all 500 |
| is_external_comment | 500 | true in 500 of 500 |
| source | 500 | comment in all 500 |
| timestamp | 500 | 2026-10-02 |
| batsmen | 72 | median 2 entries |
| bowlers | 72 | median 1 entry |
| comment_edited | 499 | true in 499 of 499 |
| inning_number | 72 | 4 |
| opta_ball_type | 499 | normal (418), end of over (72), bye (6) and 1 more |
| over | 72 | 32 to 103, median 67 |
| over_summary | 72 | median 11 characters |
| runs | 499 | |
| score | 72 | “310/9” and 59 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | Yes | Host-free match path returned by /sportskeeda/schedule | live-cricket-score/india-vs-west-indies-2nd-odi-30-september-2026 | |
| cursor | string | No | Nonzero 24-character lowercase hexadecimal commentary ID from /sportskeeda/cricket-match commentary | 6abba0970c04cda719d37b18 | |
| language | string | No | Older-comment language; valid only with cursor Allowed values: en, hi, ta, te, bho. | en | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/sportskeeda/cricket-commentary?slug=live-cricket-score%2Findia-vs-west-indies-2nd-odi-30-september-2026&language=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 0,
"data": {
"slug": "live-cricket-score/india-vs-west-indies-2nd-odi-30-september-2026",
"count": 1,
"commentary": [
{
"comment_type": "comment",
"over": "85.4",
"text": "Example commentary"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.sportskeedaCricketCommentaryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | sportskeeda.CricketCommentaryResponse | No | ||||
| data.commentary | array | No | ||||
| data.count | integer | No | ||||
| data.cursor | string | No | ||||
| data.language | string | No | ||||
| data.slug | string | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/sportskeeda/cricket-commentary?slug=live-cricket-score%2Findia-vs-west-indies-2nd-odi-30-september-2026&language=en" \
-H "x-api-key: $CRAWLORA_API_KEY"