CBC News API endpoint
Returns fresh CBC News or CBC Sports headlines from one public section RSS feed. Video, radio, and live-updates links are omitted.
/cbc/headlinesQuery parameter: section is required and must be one of world, canada, politics, business, health, arts, technology, indigenous, british-columbia, calgary, edmonton, hamilton, kamloops, kitchener-waterloo, london, manitoba, montreal, new-brunswick, newfoundland-labrador, north, nova-scotia, ottawa, prince-edward-island, saskatchewan, saskatoon, sudbury, thunder-bay, toronto, windsor, sports, sports-golf, sports-nhl, sports-olympics, sports-soccer, or sports-tennis. Use cbc-sections to list them with names. Any other value is rejected with a 400 before CBC is contacted.
Results come from the section's public RSS feed. A section feed can include stories filed under other sections (a regional feed often carries national stories). Video player pages, CBC Radio/Music/Books links, and live-updates pages are omitted so every returned URL works with cbc-article.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| title | 20 | median 84 characters |
| url | 20 | cbc.ca |
| summary | 20 | median 210 characters |
| published_at | 20 | 2026-10-08 to 2026-10-13 |
| author | 20 | |
| image_url | 20 | i.cbc.ca |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| section | string | Yes | CBC section slug Allowed values: world, canada, politics, business, health, arts, technology, indigenous, british-columbia, calgary, edmonton, hamilton, kamloops, kitchener-waterloo, london, manitoba, montreal, new-brunswick, newfoundland-labrador, north, nova-scotia, ottawa, prince-edward-island, saskatchewan, saskatoon, sudbury, thunder-bay, toronto, windsor, sports, sports-golf, sports-nhl, sports-olympics, sports-soccer, sports-tennis. | world | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/cbc/headlines?section=world" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"section": "politics",
"items": [
{
"title": "Carney says Labour Code change will 'protect' right to strike. Experts say it still spells legal trouble",
"url": "https://www.cbc.ca/news/politics/section-107-union-court-right-to-strike-9.7355344",
"published_at": "2026-09-23T17:02:26Z",
"author": "Darren Major",
"image_url": "https://i.cbc.ca/ais/cde12ff1-502a-48c8-8f8c-0f4cddc0701c,1790180268654/full/max/0/default.jpg"
}
]
}
}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 CBC 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/cbc/headlines?section=world" \
-H "x-api-key: $CRAWLORA_API_KEY"