India Today API endpoint
Returns public India Today article metadata and body paragraphs from a canonical story URL. Subscriber-only magazine stories return only the public teaser with paywalled set to true.
/indiatoday/articleQuery parameter: url is a canonical HTTPS indiatoday.in story URL in the form /<section>[/<sub-section>]/story/<slug>-<id>-<yyyy-mm-dd>. Video (/video/) and photo-gallery (/photo/) pages are not accepted. Returns public metadata (title, description, published_at, updated_at, section, authors, image_url) and the body paragraphs.
section reflects the story's own India Today category and is not restricted to the indiatoday-sections slugs.
Subscriber-only India Today Magazine stories (URLs under /magazine/) publish only a teaser to anonymous readers. For those, paywalled is true and paragraphs holds just the public teaser, never the full text. paywalled is omitted on free stories.
Live blogs return the blog's summary paragraph only; their timestamped updates are not returned.
| Field | In the sample | Value in the sample |
|---|---|---|
| url | Has a value | indiatoday.in |
| title | Has a value | 84 characters |
| description | Has a value | 213 characters |
| published_at | Has a value | 2026-09-24 |
| updated_at | Has a value | 2026-09-24 |
| section | Has a value | “Business” |
| authors | Has a value | 1 entry |
| image_url | Has a value | akm-img-a-in.tosshub.com |
| paragraphs | Has a value | 15 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical India Today story URL | https://www.indiatoday.in/world/story/example-story-slug-3002364-2026-09-24 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/indiatoday/article?url=https%3A%2F%2Fwww.indiatoday.in%2Fworld%2Fstory%2Fexample-story-slug-3002364-2026-09-24" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"url": "https://www.indiatoday.in/business/story/example-story-slug-3002307-2026-09-24",
"title": "Example story",
"section": "Business",
"authors": [
"India Today Business Desk"
],
"paragraphs": [
"Example public paragraph."
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.articleResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | newsplatform.ArticleResponse | No | ||||
| data.authors | array | No | ||||
| data.description | string | No | ||||
| data.image_url | string | No | ||||
| data.paragraphs | array | No | ||||
| data.paywalled | boolean | No | Paywalled is true when the publisher serves only a teaser of this article to anonymous readers, so Paragraphs is a partial body rather than the full text. It is omitted when the full public body was returned. | |||
| data.published_at | string | No | ||||
| data.section | string | No | ||||
| data.title | string | No | ||||
| data.updated_at | 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/indiatoday/article?url=https%3A%2F%2Fwww.indiatoday.in%2Fworld%2Fstory%2Fexample-story-slug-3002364-2026-09-24" \
-H "x-api-key: $CRAWLORA_API_KEY"