Guardian API endpoint
Returns recent Guardian headlines for one section. `section` is optional and defaults to `world`; the other values are `uk-news`, `us-news`, `politics`, `business`, `technology`, `environment`, `science`, `sport`, `culture`, `lifeandstyle` and `commentisfree`. Each item has a title, URL, summary, publication time and author, plus its section when available.
/guardian/headlinesQuery parameter: optional section, a supported Guardian RSS section. It defaults to world. Allowed values: world, uk-news, us-news, politics, business, technology, environment, science, sport, culture, lifeandstyle, commentisfree.
Returns fresh public Guardian stories with their title, URL, summary, publication time, author, and section when available.
| Field | Filled in, of 45 checked | Values in the sample |
|---|---|---|
| title | 45 | median 79 characters |
| url | 45 | theguardian.com |
| summary | 45 | median 593 characters |
| published_at | 45 | 2026-10-08 to 2026-10-13 |
| author | 45 | |
| section | 45 | world in all 45 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| section | string | No | world | Guardian RSS section, defaults to world Allowed values: world, uk-news, us-news, politics, business, technology, environment, science, sport, culture, lifeandstyle, commentisfree. | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/guardian/headlines?section=world" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"section": "world",
"items": [
{
"title": "Example story",
"url": "https://www.theguardian.com/world/2026/aug/26/us-military-kills-four-boat-strike-caribbean"
}
]
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/guardian.headlinesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | guardian.HeadlinesResponse | No | ||||
| data.items | array | No | ||||
| data.items[].author | string | No | ||||
| data.items[].published_at | string | No | ||||
| data.items[].section | string | No | ||||
| data.items[].summary | string | No | ||||
| data.items[].title | string | No | ||||
| data.items[].url | string | No | ||||
| data.section | 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/guardian/headlines?section=world" \
-H "x-api-key: $CRAWLORA_API_KEY"