CTV News API endpoint
Returns a CTV News byline profile from a canonical author URL: name, role, biography, photo, public contact address, and recent stories.
/ctvnews/authorReturns a CTV News byline profile: name, role, biography, photo, public contact address, and the author's recent stories (newest first, up to about 50).
Query parameters:
url (required): a canonical byline URL, either https://www.ctvnews.ca/about-us/team/<slug>/ (wire services and national staff, for example the-associated-press) or https://www.ctvnews.ca/<section>/about-us/<slug>/ (local newsroom staff, for example https://www.ctvnews.ca/vancouver/about-us/todd-coyne/). Other URLs are rejected with a 400 error; an unknown byline returns 404.role, biography, image_url and email reflect whatever the byline's own page shows; wire-service bylines usually have no role or email.
Example response (truncated):
{"code":200,"data":{"url":"https://www.ctvnews.ca/vancouver/about-us/todd-coyne/","name":"Todd Coyne","role":"CTVNewsVancouver.ca Journalist","biography":["Todd Coyne is a reporter for CTV News Vancouver."],"image_url":"https://author-service-images-prod-us-east-1.publishing.aws.arc.pub/bellmediainc/EXAMPLE.jpg","email":"[email protected]","articles":[{"title":"Example headline","url":"https://www.ctvnews.ca/vancouver/article/example-article-slug","published_at":"2026-09-24T18:41:41Z"}]}}
| Field | In the sample | Value in the sample |
|---|---|---|
| url | Has a value | ctvnews.ca |
| name | Has a value | |
| biography | Has a value | 1 entry |
| image_url | Has a value | author-service-images-prod-us-east-1.publishing.aws.arc.pub |
| articles | Empty |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical CTV News author URL | https://www.ctvnews.ca/about-us/team/the-associated-press/ | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/ctvnews/author?url=https%3A%2F%2Fwww.ctvnews.ca%2Fabout-us%2Fteam%2Fthe-associated-press%2F" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"url": "https://www.ctvnews.ca/vancouver/about-us/todd-coyne/",
"name": "Todd Coyne",
"role": "CTVNewsVancouver.ca Journalist",
"biography": [
"Todd Coyne is a reporter for CTV News Vancouver."
],
"image_url": "https://author-service-images-prod-us-east-1.publishing.aws.arc.pub/bellmediainc/EXAMPLE.jpg",
"email": "[email protected]",
"articles": [
{
"title": "Example headline",
"url": "https://www.ctvnews.ca/vancouver/article/example-article-slug",
"published_at": "2026-09-24T18:41:41Z"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.ctvnewsAuthorResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | ctvnews.AuthorResponse | No | ||||
| data.articles | array | No | HeadlineItem record, 7 fields: author, image_url, published_at, summary, title, type, url. Described under CTV News top stories API. | |||
| data.biography | array | No | ||||
| data.email | string | No | ||||
| data.image_url | string | No | ||||
| data.name | string | No | ||||
| data.role | 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/ctvnews/author?url=https%3A%2F%2Fwww.ctvnews.ca%2Fabout-us%2Fteam%2Fthe-associated-press%2F" \
-H "x-api-key: $CRAWLORA_API_KEY"