CTV News API endpoint
Returns the current stories listed on one public CTV News section page, newest first, with headline, summary, byline, publication time and image.
/ctvnews/headlinesQuery parameter: section is required and must be one of canada, politics, world, business, health, entertainment, lifestyle, climate-and-environment, sci-tech, sports, opinion, highly-engaged, atlantic, barrie, calgary, edmonton, kitchener, london, montreal, northern-ontario, ottawa, regina, saskatoon, toronto, vancouver, windsor, or winnipeg. Any other value is rejected with a 400 error.
Returns the stories listed on that section's landing page (roughly 12 to 100 depending on the section), newest first, with headline, summary, byline, publication time and image. Sponsored items are excluded.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| title | 20 | median 83 characters |
| url | 20 | ctvnews.ca |
| summary | 20 | median 198 characters |
| published_at | 20 | 2026-10-12 to 2026-10-13 |
| author | 20 | |
| image_url | 20 | cloudfront-us-east-1.images.arcpublishing.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| section | string | Yes | CTV News section slug Allowed values: canada, politics, world, business, health, entertainment, lifestyle, climate-and-environment, sci-tech, sports, opinion, highly-engaged, atlantic, barrie, calgary, edmonton, kitchener, london, montreal, northern-ontario, ottawa, regina, saskatoon, toronto, vancouver, windsor, winnipeg. | canada | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/ctvnews/headlines?section=canada" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"section": "world",
"items": [
{
"title": "Example headline",
"url": "https://www.ctvnews.ca/world/article/example-article-slug",
"summary": "Example summary.",
"published_at": "2026-09-24T18:22:11Z",
"author": "The Associated Press",
"image_url": "https://www.ctvnews.ca/resizer/v2/EXAMPLE.jpg?auth=example"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.headlinesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | newsplatform.HeadlinesResponse | No | ||||
| data.items | array | No | HeadlineItem record, 7 fields: author, image_url, published_at, summary, title, type, url. Described under CTV News top stories API. | |||
| data.section | string | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/ctvnews/headlines?section=canada" \
-H "x-api-key: $CRAWLORA_API_KEY"