Sportskeeda API endpoint
Returns ordered prose, headings, lists, tables, images and embeds from a public topic, event, team or player overview page, plus available byline, modification text and related stories. Discover slugs with /sportskeeda/sitemap-items using tags.xml, tournaments.xml, teams.xml, players.xml or us-sitemap.xml. Pages without a CMS body return an upstream error.
/sportskeeda/topicQuery parameter: slug (required) is the canonical Sportskeeda path without the host, such as football/jurgen-klopp, go/icc-u19-cricket-world-cup, team/paarl-rocks, or player/mustafa-ali. Discover current slugs with /api/v1/sportskeeda/sitemap-items using tags.xml, tournaments.xml, teams.xml, players.xml, or us-sitemap.xml; /sportskeeda/taxonomy-search can find named subjects. Pass slugs unchanged, including case and percent-encoded characters. Full URLs are not accepted.
Header: x-api-key (required).
Returns a topic, event, team, or player overview's title, canonical URL, available author and modification text, ordered body blocks, and separate related story cards. Entity overviews may omit byline and modification text. last_modified preserves the date and timezone text displayed by Sportskeeda. A block's type is exactly one of paragraph, heading, list, table, image, or embed. Heading blocks include level; list blocks include items and set ordered: true for numbered lists (the field is omitted for unordered lists); table blocks preserve every row and cell, including the first row of headerless tables and any link/span attributes; image and embed blocks include their source URLs. Paragraphs, headings, and list items can include links. Injected ads, scripts, and recommendation widgets are excluded.
A missing page returns 404. A blocked page or a page without a meaningful body returns an upstream error rather than an empty success. Some sitemap entries do not have such a body. Historical pages may contain old information; the endpoint does not claim current sporting accuracy. Use /sportskeeda/profile for structured team or player facts and /sportskeeda/page-data for sports tables.
| Field | Filled in, of 15 checked | Values in the sample |
|---|---|---|
| type | 15 | paragraph (13), image (1), heading (1) |
| text | 14 | median 215 characters |
| image | 1 | staticg.sportskeeda.com |
| level | 1 | 2 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | Yes | Canonical Sportskeeda topic, event, team or player path without host | football/jurgen-klopp | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/sportskeeda/topic?slug=football%2Fjurgen-klopp" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"data": {
"slug": "football/jurgen-klopp",
"url": "https://www.sportskeeda.com/football/jurgen-klopp",
"title": "Jurgen Klopp",
"author": "SK Desk",
"author_slug": "author/sportskeeda",
"last_modified": "Sep 22, 2021 12:02 GMT",
"blocks": [
{
"type": "paragraph",
"text": "Jurgen Klopp is perhaps one of the most charismatic and dynamic managers in the world of football."
},
{
"type": "heading",
"level": 2,
"text": "Managerial Career and Titles"
}
],
"related": [
{
"title": "Related football story",
"slug": "football/news-example",
"url": "https://www.sportskeeda.com/football/news-example",
"section": "Related Stories"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.sportskeedaTopicResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | sportskeeda.TopicResponse | No | ||||
| data.author | string | No | ||||
| data.author_slug | string | No | ||||
| data.blocks | array | No | ||||
| data.blocks[].alt | string | No | ||||
| data.blocks[].caption | string | No | ||||
| data.blocks[].embed_url | string | No | ||||
| data.blocks[].image | string | No | ||||
| data.blocks[].items | array | No | ||||
| data.blocks[].items[].links | array | No | ||||
| data.blocks[].items[].links[].slug | string | No | ||||
| data.blocks[].items[].links[].text | string | No | ||||
| data.blocks[].items[].links[].url | string | No | ||||
| data.blocks[].items[].text | string | No | ||||
| data.blocks[].level | integer | No | ||||
| data.blocks[].links | array | No | ||||
| data.blocks[].links[].slug | string | No | ||||
| data.blocks[].links[].text | string | No | ||||
| data.blocks[].links[].url | string | No | ||||
| data.blocks[].ordered | boolean | No | ||||
| data.blocks[].rows | array | No | ||||
| data.blocks[].text | string | No | ||||
| data.blocks[].type | string | No | paragraph, heading, list, table, image, embed | |||
| data.last_modified | string | No | ||||
| data.related | array | No | FeedItem record, 7 fields: age, category, image, section, slug, title, url. Described under Sportskeeda section feed API. | |||
| data.slug | string | No | ||||
| data.title | string | No | ||||
| data.url | 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/topic?slug=football%2Fjurgen-klopp" \
-H "x-api-key: $CRAWLORA_API_KEY"