Seattle Times API endpoint
Returns public Seattle Times story metadata and body paragraphs from a canonical story URL. The site's metered paywall is a client-side overlay: anonymous requests receive the full body, which is returned as-is.
/seattletimes/articleQuery parameter: url is a canonical HTTPS Seattle Times story URL on seattletimes.com or www.seattletimes.com, e.g. https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise/. Section pages, category, tag, type and author pages, feed and pagination paths, wp-json paths, and other hosts return an invalid-params error.
The endpoint returns public metadata (title, description, published_at, updated_at, section, authors, image_url) and the body paragraphs (paragraphs and list items; the injected "Most Read" widget, embedded promo blocks, captions, ad slots, AP section dividers and the reader-comments notice are not included). section is the story's deepest section breadcrumb, for example Traffic Lab or Mariners. authors are the byline names exactly as printed (Associated Press wire stories carry the wire writer's name in capitals).
Paywall behavior: The Seattle Times runs a metered paywall. An anonymous request receives the complete story body: every story sampled on 2026-09-25 (local reporting, sports, opinion, Times Watchdog investigations, food, and Associated Press wire stories) returned its full text. The endpoint returns exactly the paragraphs the server sends and never tries to bypass or defeat the meter; paywalled is omitted because no story was served as a teaser. Example of a metered story: https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise/.
Example response (truncated):
{"code":200,"data":{"url":"https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise","title":"Sound Transit CEO claims his $30K bonus and wins a pay raise","description":"Among other pay hikes, Dow Constantine will get a $30,000 bonus, a payment he deferred until after the agency opened light rail across Lake Washington in March.","published_at":"2026-09-24T23:45:05Z","updated_at":"2026-09-24T23:45:16Z","section":"Traffic Lab","authors":["Mike Lindblom"],"image_url":"https://images.seattletimes.com/wp-content/uploads/2026/09/09232026_TZR_Dow_Constantine-03302026-EB_tzr_191603.jpg?d=1200x630","paragraphs":["Sound Transit CEO Dow Constantine has been awarded a $30,000 bonus, and a new three-year contract, following the debut of light rail across Lake Washington, along with record passenger loads during the World Cup soccer tournament."]}}
| Field | In the sample | Value in the sample |
|---|---|---|
| url | Has a value | seattletimes.com |
| title | Has a value | 60 characters |
| description | Has a value | 154 characters |
| published_at | Has a value | 2026-09-24 |
| updated_at | Has a value | 2026-09-25 |
| section | Has a value | “Traffic Lab” |
| authors | Has a value | 1 entry |
| image_url | Has a value | images.seattletimes.com |
| paragraphs | Has a value | 19 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical Seattle Times story URL | https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise/ | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/seattletimes/article?url=https%3A%2F%2Fwww.seattletimes.com%2Fseattle-news%2Ftransportation%2Fsound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise%2F" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"url": "https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise",
"title": "Sound Transit CEO claims his $30K bonus and wins a pay raise",
"description": "Among other pay hikes, Dow Constantine will get a $30,000 bonus, a payment he deferred until after the agency opened light rail across Lake Washington in March.",
"published_at": "2026-09-24T23:45:05Z",
"updated_at": "2026-09-24T23:45:16Z",
"section": "Traffic Lab",
"authors": [
"Mike Lindblom"
],
"image_url": "https://images.seattletimes.com/wp-content/uploads/2026/09/09232026_TZR_Dow_Constantine-03302026-EB_tzr_191603.jpg?d=1200x630",
"paragraphs": [
"Sound Transit CEO Dow Constantine has been awarded a $30,000 bonus, and a new three-year contract, following the debut of light rail across Lake Washington, along with record passenger loads during the World Cup soccer tournament."
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.articleResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | newsplatform.ArticleResponse | No | ||||
| data.authors | array | No | ||||
| data.description | string | No | ||||
| data.image_url | string | No | ||||
| data.paragraphs | array | No | ||||
| data.paywalled | boolean | No | Paywalled is true when the publisher serves only a teaser of this article to anonymous readers, so Paragraphs is a partial body rather than the full text. It is omitted when the full public body was returned. | |||
| data.published_at | string | No | ||||
| data.section | string | No | ||||
| data.title | string | No | ||||
| data.updated_at | string | No | ||||
| data.url | string | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/seattletimes/article?url=https%3A%2F%2Fwww.seattletimes.com%2Fseattle-news%2Ftransportation%2Fsound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise%2F" \
-H "x-api-key: $CRAWLORA_API_KEY"