Al Jazeera API endpoint
Returns one Al Jazeera author's public profile (name, job title, bio when available) and one page of their recent articles, identified by an author slug or a canonical author URL.
/aljazeera/authorQuery parameters:
slug (optional): an author slug, e.g. hakeem-najimdeen. Al Jazeera also uses shared bylines such as al_jazeera_staff_150119130629458 ("Al Jazeera Staff") for wire/desk-attributed stories.url (optional): a canonical https://www.aljazeera.com/author/<slug> URL, as an alternative to slug. A URL that itself carries Al Jazeera's own ?page=<n> query sets the page from that value.page (optional): 1-based page number of the author's article list; overrides any page number embedded in url. Defaults to 1.Exactly one of slug/url is required.
job_title and bio reflect whatever the author's page actually shows -- individual reporters and columnists usually carry both, while shared bylines (staff, wire services) carry neither, which is a normal, non-error result. Article published_at is an ISO-8601 timestamp taken directly from the page's own structured data.
Al Jazeera does not expose a total-page count for an author's article history. Requesting a page past the end of an author's history is not an error -- the site itself silently repeats its last available page rather than erroring, so this endpoint returns whatever that page serves.
Example response (truncated):
{"code":200,"data":{"name":"Hakeem Najimdeen","slug":"hakeem-najimdeen","url":"https://www.aljazeera.com/author/hakeem-najimdeen","job_title":"CEO of Alafarika for Studies and Consultancy, Nigeria","bio":"Hakeem Najimdeen is a researcher and CEO of Alafarika for Studies and Consultancy, Nigeria. He writes on political, social and security issues in sub-Saharan Africa.","image_url":"https://www.aljazeera.com/wp-content/uploads/2026/07/Hakeem-Photo-BW.jpg?resize=400%2C400&quality=80","page":1,"articles":[{"title":"Nigeria's refining revolution has a monopoly problem","url":"https://www.aljazeera.com/opinions/2026/9/22/nigerias-refining-revolution-has-a-monopoly-problem","section":"opinions","published_at":"2026-09-22T06:15:15Z","image_url":"https://www.aljazeera.com/wp-content/uploads/2026/09/getty_6ab10a383e.jpg"}]}}
| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| title | 3 | |
| url | 3 | aljazeera.com |
| section | 3 | |
| published_at | 3 | 2026-07-08 to 2026-09-22 |
| image_url | 3 | aljazeera.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | No | Al Jazeera author slug | hakeem-najimdeen | |
| url | string | No | Canonical https://www.aljazeera.com/author/<slug> URL, as an alternative to slug | https://www.aljazeera.com/author/hakeem-najimdeen | |
| page | integer | No | 1-based page number of the author's article list; overrides any page embedded in url | 1 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/aljazeera/author?page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"name": "Hakeem Najimdeen",
"slug": "hakeem-najimdeen",
"url": "https://www.aljazeera.com/author/hakeem-najimdeen",
"job_title": "CEO of Alafarika for Studies and Consultancy, Nigeria",
"bio": "Hakeem Najimdeen is a researcher and CEO of Alafarika for Studies and Consultancy, Nigeria. He writes on political, social and security issues in sub-Saharan Africa.",
"image_url": "https://www.aljazeera.com/wp-content/uploads/2026/07/Hakeem-Photo-BW.jpg?resize=400%2C400&quality=80",
"page": 1,
"articles": [
{
"title": "Nigeria's refining revolution has a monopoly problem",
"url": "https://www.aljazeera.com/opinions/2026/9/22/nigerias-refining-revolution-has-a-monopoly-problem",
"section": "opinions",
"published_at": "2026-09-22T06:15:15Z",
"image_url": "https://www.aljazeera.com/wp-content/uploads/2026/09/getty_6ab10a383e.jpg"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/aljazeera.authorResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | aljazeera.AuthorResponse | No | ||||
| data.articles | array | No | ||||
| data.articles[].image_url | string | No | ||||
| data.articles[].published_at | string | No | ||||
| data.articles[].section | string | No | ||||
| data.articles[].title | string | No | ||||
| data.articles[].url | string | No | ||||
| data.bio | string | No | ||||
| data.image_url | string | No | ||||
| data.job_title | string | No | ||||
| data.name | string | No | ||||
| data.page | integer | No | ||||
| data.slug | string | No | ||||
| data.url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/aljazeera/author?page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"