ForeignPolicy API endpoint
Returns fresh headlines from Foreign Policy's public, site-wide RSS feed. There is no section parameter: use foreignpolicy-topic to scope to one category or tag.
/foreignpolicy/headlinesNo query parameters. This endpoint returns the site-wide feed only — use foreignpolicy-topic to scope to one category or tag instead.
Returns fresh public Foreign Policy stories with their title, URL, summary, publication time, author, category tags, and whether the story is gated.
| Field | Filled in, of 25 checked | Values in the sample |
|---|---|---|
| title | 25 | median 41 characters |
| url | 25 | foreignpolicy.com |
| summary | 25 | median 81 characters |
| published_at | 25 | 2026-10-08 to 2026-10-13 |
| author | 25 | |
| categories | 25 | median 7 entries |
| is_gated | 25 | true in 21 of 25 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/foreignpolicy/headlines" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"items": [
{
"title": "Example headline",
"url": "https://foreignpolicy.com/2026/09/18/example-headline/",
"summary": "A short teaser for the example story.",
"published_at": "2026-09-18T20:36:44Z",
"author": "Alexandra Sharp",
"categories": [
"World Brief",
"Democracy"
],
"is_gated": false
}
]
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/foreignpolicy.headlinesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | foreignpolicy.HeadlinesResponse | No | ||||
| data.items | array | No | ||||
| data.items[].author | string | No | ||||
| data.items[].categories | array | No | ||||
| data.items[].is_gated | boolean | No | ||||
| data.items[].published_at | string | No | ||||
| data.items[].summary | string | No | ||||
| data.items[].title | string | No | ||||
| data.items[].url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/foreignpolicy/headlines" \
-H "x-api-key: $CRAWLORA_API_KEY"