Daily Mail API endpoint
Returns one Daily Mail author's public profile: name, job title, bio, social accounts, and one page of their recent articles.
/dailymail/authorQuery parameters:
url (required): a canonical dailymail.com/profile-<id>/<slug>.html author URL.page (optional): 1-based page of articles to return; defaults to 1.Returns the author's byline metadata (job title, biography paragraphs, social accounts), plus one page of their recent articles. total_pages reports how many pages of articles are available; pass a higher page to page through the rest.
| Field | Filled in, of 80 checked | Values in the sample |
|---|---|---|
| title | 80 | median 122 characters |
| url | 80 | dailymail.com |
| description | 80 | median 149 characters |
| published_at | 80 | 2026-06-04 to 2026-10-13 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical dailymail.com/profile-<id>/<slug>.html URL | https://www.dailymail.com/profile-1021/charliespiering.html | |
| page | integer | No | 1 | 1-based page of articles to return; defaults to 1 | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/dailymail/author?url=https%3A%2F%2Fwww.dailymail.com%2Fprofile-1021%2Fcharliespiering.html&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"name": "Example Author",
"profile_id": "1021",
"url": "https://www.dailymail.com/profile-1021/example-author.html",
"job_title": "Example Reporter",
"bio": "Example is a Daily Mail reporter covering example topics.",
"social_accounts": [
{
"platform": "twitter",
"url": "https://twitter.com/exampleauthor"
}
],
"page": 1,
"total_pages": 14,
"articles": [
{
"title": "Example headline",
"url": "https://www.dailymail.com/news/article-1234567/example.html",
"description": "Example article summary.",
"published_at": "2026-09-22T23:38:25Z"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.dailyMailAuthorResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | dailymail.AuthorResponse | No | ||||
| data.articles | array | No | ||||
| data.articles[].description | string | No | ||||
| data.articles[].published_at | string | No | ||||
| data.articles[].title | string | No | ||||
| data.articles[].url | string | No | ||||
| data.bio | string | No | ||||
| data.job_title | string | No | ||||
| data.name | string | No | ||||
| data.page | integer | No | ||||
| data.profile_id | string | No | ||||
| data.social_accounts | array | No | ||||
| data.social_accounts[].platform | string | No | ||||
| data.social_accounts[].url | string | No | ||||
| data.total_pages | integer | 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/dailymail/author?url=https%3A%2F%2Fwww.dailymail.com%2Fprofile-1021%2Fcharliespiering.html&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"