Slate API endpoint
Returns public Slate article metadata and server-delivered body paragraphs from a canonical dated Slate URL. It does not log in, use account cookies, or bypass a challenge; is_paywalled reports when Slate marks the delivered page as subscription-gated.
/slate/articleQuery parameters:
url — required canonical HTTPS Slate article URL, for example https://slate.com/news-and-politics/2026/09/example.html.The endpoint accepts dated article paths ending in .html on slate.com or www.slate.com. It returns metadata from Slate's public page and the server-delivered body paragraphs. It does not log in, use account cookies, or bypass a challenge. is_paywalled reports when Slate marks the delivered page as subscription-gated; the field should be treated as an upstream access-status signal, not as a promise that the article is freely redistributable.
| Field | In the sample | Value in the sample |
|---|---|---|
| url | Has a value | slate.com |
| title | Has a value | 113 characters |
| description | Has a value | 154 characters |
| published_at | Has a value | 2026-09-22 |
| section | Has a value | “Politics” |
| authors | Has a value | 1 entry |
| image_url | Has a value | compote.slate.com |
| tags | Has a value | 11 entries |
| is_paywalled | Has a value | true |
| paragraphs | Has a value | 87 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical HTTPS Slate article URL | https://slate.com/news-and-politics/2026/09/example.html | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/slate/article?url=https%3A%2F%2Fslate.com%2Fnews-and-politics%2F2026%2F09%2Fexample.html" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"url": "https://slate.com/news-and-politics/2026/09/example.html",
"title": "Example Slate story",
"description": "A short description.",
"published_at": "2026-09-22T09:45:00+00:00",
"updated_at": "2026-09-22T10:00:00+00:00",
"section": "Politics",
"authors": [
"Example Reporter"
],
"image_url": "https://compote.slate.com/images/example.jpg",
"tags": [
"politics"
],
"is_paywalled": true,
"paragraphs": [
"The first body paragraph."
],
"headings": [
"A section heading"
]
}
}Request schema
No body schema
Response schema
#/definitions/slate.articleResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | slate.ArticleResponse | No | ||||
| data.authors | array | No | ||||
| data.description | string | No | ||||
| data.headings | array | No | ||||
| data.image_url | string | No | ||||
| data.is_paywalled | boolean | No | ||||
| data.paragraphs | array | No | ||||
| data.published_at | string | No | ||||
| data.section | string | No | ||||
| data.tags | array | No | ||||
| data.title | string | No | ||||
| data.updated_at | 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 |
| 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/article?url=https%3A%2F%2Fslate.com%2Fnews-and-politics%2F2026%2F09%2Fexample.html" \
-H "x-api-key: $CRAWLORA_API_KEY"