NPR API endpoint
Returns the newest public NPR stories from one section archive page. topic is a section slug; use npr-categories for the current value space.
/npr/topicQuery parameter: required topic, an NPR section slug returned by npr-categories, for example politics.
Returns the newest public story cards from that section archive, including title, URL, summary, and publication time when available. An unknown or stale section slug returns 400.
| Field | Filled in, of 24 checked | Values in the sample |
|---|---|---|
| title | 24 | “Government spent millions on Trump ads. And, federal agents…” and 23 other values |
| url | 24 | npr.org |
| summary | 24 | median 190 characters |
| published_at | 24 | 2026-10-07 to 2026-10-13 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| topic | string | Yes | NPR section slug | politics | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/npr/topic?topic=politics" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"topic": "politics",
"items": [
{
"title": "Example NPR headline",
"url": "https://www.npr.org/2026/09/19/example-story",
"summary": "A short story summary.",
"published_at": "2026-09-19T12:00:00Z"
}
]
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/npr.topicResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | npr.TopicResponse | No | ||||
| data.items | array | No | ||||
| data.items[].published_at | string | No | ||||
| data.items[].summary | string | No | ||||
| data.items[].title | string | No | ||||
| data.items[].url | string | No | ||||
| data.topic | 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/npr/topic?topic=politics" \
-H "x-api-key: $CRAWLORA_API_KEY"