Seattle Times API endpoint
Returns one Seattle Times author's public profile: name, bio, newsroom-published email and X/Twitter link when listed, and their most recent stories.
/seattletimes/authorReturns one Seattle Times author's public profile: name, bio, the newsroom-published email address and X/Twitter link when the profile lists them, and their most recent stories.
Query parameters:
slug (optional): an author slug, e.g. mike-lindblom, the last segment of the author link in a story's byline.url (optional): a canonical https://www.seattletimes.com/author/<slug>/ URL, as an alternative to slug.Exactly one of slug/url is required. The response covers the first page of the author's archive (the 20 most recent stories; no further pagination); each story has title, url, summary, published_at (UTC), category (the story's section) and image_url. bio, email and twitter are omitted when the author has none (wire-service bylines such as Associated Press writers usually have no bio). An unknown author returns a not-found error.
Example response (truncated):
{"code":200,"data":{"name":"Mike Lindblom","slug":"mike-lindblom","url":"https://www.seattletimes.com/author/mike-lindblom/","bio":"Mike Lindblom is a transportation reporter at The Seattle Times. He tracks highways, transit, walk-bike routes and ferries.","email":"[email protected]","twitter":"https://x.com/MikeLindblom","articles":[{"title":"Sound Transit CEO claims his $30K bonus and wins a pay raise","url":"https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise","summary":"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","published_at":"2026-09-24T23:45:05Z","category":"Traffic Lab","image_url":"https://images.seattletimes.com/wp-content/uploads/2026/09/09232026_TZR_Dow_Constantine-03302026-EB_tzr_191603.jpg?d=780x501"}]}}
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| title | 20 | median 60 characters |
| url | 20 | seattletimes.com |
| summary | 20 | median 135 characters |
| published_at | 20 | 2026-08-24 to 2026-10-13 |
| category | 20 | |
| image_url | 20 | images.seattletimes.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | No | Author slug, e.g. mike-lindblom | mike-lindblom | |
| url | string | No | Canonical seattletimes.com/author/<slug>/ URL; alternative to slug | https://www.seattletimes.com/author/mike-lindblom/ | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/seattletimes/author" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"name": "Mike Lindblom",
"slug": "mike-lindblom",
"url": "https://www.seattletimes.com/author/mike-lindblom/",
"bio": "Mike Lindblom is a transportation reporter at The Seattle Times. He tracks highways, transit, walk-bike routes and ferries.",
"email": "[email protected]",
"twitter": "https://x.com/MikeLindblom",
"articles": [
{
"title": "Sound Transit CEO claims his $30K bonus and wins a pay raise",
"url": "https://www.seattletimes.com/seattle-news/transportation/sound-transit-ceo-claims-his-30k-bonus-and-wins-a-pay-raise",
"summary": "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",
"published_at": "2026-09-24T23:45:05Z",
"category": "Traffic Lab",
"image_url": "https://images.seattletimes.com/wp-content/uploads/2026/09/09232026_TZR_Dow_Constantine-03302026-EB_tzr_191603.jpg?d=780x501"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.seattleTimesAuthorResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | seattletimes.AuthorResponse | No | ||||
| data.articles | array | No | ||||
| data.articles[].category | string | No | ||||
| data.articles[].image_url | string | No | ||||
| data.articles[].published_at | string | No | ||||
| data.articles[].summary | string | No | ||||
| data.articles[].title | string | No | ||||
| data.articles[].url | string | No | ||||
| data.bio | string | No | ||||
| data.email | string | No | ||||
| data.name | string | No | ||||
| data.slug | string | No | ||||
| data.twitter | 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/author" \
-H "x-api-key: $CRAWLORA_API_KEY"