Slate API endpoint
Returns current Slate article-card metadata from one public RSS feed. section must be one of the values returned by slate-categories.
/slate/headlinesQuery parameters:
section — optional; one of all, news-and-politics, culture, technology, business, life, or advice. Defaults to all. Obtain the exact values from /api/v1/slate/categories.The response contains article metadata from Slate's feed. Non-article podcast entries are excluded. Pass an article URL to /api/v1/slate/article for structured metadata and body paragraphs.
| Field | Filled in, of 19 checked | Values in the sample |
|---|---|---|
| id | 19 | |
| title | 19 | median 84 characters |
| url | 19 | slate.com |
| summary | 19 | median 81 characters |
| published_at | 19 | 2026-10-06 to 2026-10-13 |
| author | 19 | |
| categories | 17 | median 5 entries |
| image_url | 19 | compote.slate.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| section | string | No | Slate feed section Allowed values: all, news-and-politics, culture, technology, business, life, advice. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/slate/headlines?section=all" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"section": "news-and-politics",
"feed_url": "https://slate.com/feeds/news-and-politics.rss",
"items": [
{
"id": "cmu7jp3l9000jy0ktzuk0yql1",
"title": "Example Slate story",
"url": "https://slate.com/news-and-politics/2026/09/example.html",
"summary": "A short summary.",
"published_at": "2026-09-22T09:45:00Z",
"author": "Example Reporter",
"categories": [
"Politics"
],
"image_url": "https://compote.slate.com/images/example.jpg"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/slate.headlinesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | slate.HeadlinesResponse | No | ||||
| data.feed_url | string | No | ||||
| data.items | array | No | ||||
| data.items[].author | string | No | ||||
| data.items[].categories | array | No | ||||
| data.items[].id | string | No | ||||
| data.items[].image_url | string | No | ||||
| data.items[].published_at | 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 |
| 500 | Internal Server Error | #/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/slate/headlines?section=all" \
-H "x-api-key: $CRAWLORA_API_KEY"