Stephen King API
Free Stephen King API with no key: every novel with year, publisher, ISBN and page count, plus villains and short stories cross-linked between them. Tested example included.
Endpoint tested and returned HTTP 200 on 21 Aug 2026
What is the Stephen King API?
The Stephen King API is a free, key-free REST API cataloguing Stephen King's published work. It returns novels with publication year, publisher, ISBN and page count, along with villains and short stories, cross-linked so each book lists the villains that appear in it.
This is a small, well-shaped dataset, which makes it genuinely useful as a teaching API — the sort of thing a front-end tutorial needs when JSONPlaceholder feels too abstract but a real production API is too much. It has real bibliographic fields (ISBNs, publishers, page counts) alongside fun ones (villains), so exercises can be more interesting than listing users.
The cross-linking is the part worth noticing. Each book carries a `villains` array where every entry is a name plus a URL to that villain's own record, which is a clean, discoverable HATEOAS-style design. It gives learners something real to practise against: follow a link, fetch the related resource, render the combination. One caveat — the API is hosted on a free Render instance, so the first request after an idle period can take several seconds while the service wakes up.
Quick facts
- Base URL
https://stephen-king-api.onrender.com/api- Authentication
- No API key or account. Open source and community-maintained.
- Rate limit
- No published limit. The dataset is small and fully cacheable.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Stephen King API
Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. List every Stephen King novel
GET https://stephen-king-api.onrender.com/api/books
curl 'https://stephen-king-api.onrender.com/api/books'const res = await fetch("https://stephen-king-api.onrender.com/api/books");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://stephen-king-api.onrender.com/api/books", timeout=20)
res.raise_for_status()
print(res.json()){
"data": [
{
"id": 1,
"Year": 1974,
"Title": "Carrie",
"handle": "carrie",
"Publisher": "Doubleday",
"ISBN": "978-0-385-08695-0",
"Pages": 199,
"Notes": [
""
],
"created_at": "2023-11-13T23:48:47.848Z",
"villains": [
{
"name": "Tina Blake",
"url": "https://stephen-king-api.onrender.com/api/villain/4"
},
{
"name": "Cindi",
"url": "https://stephen-king-api.onrender.com/api/villain/14"
},
{
"name": "Myra Crewes",
"url": "https://stephen-king-api.onrender.com/api/villain/16"
},
{
"name": "Billy deLois",
"url": "https://stephen-king-api.onrender.com/api/villain/25"
},
{
"name": "Kenny Garson",
"url": "https://stephen-king-api.onrender.com/api/villain/38"
},
{
"name": "Mary Lila Grace",
"url": "https://stephen-king-api.onrender.com/api/villain/44"
},
{
"name": "Christine Hargensen",
"url": "https://stephen-king-api.onrender.com/api/villain/49"
},
{
"name": "Vic Mooney",
"url": "https://stephen-king-api.onrender.com/api/villain/75"
},
{
"name": "The Mortimer Snerds",
"url": "https://stephen-king-api.onrender.com/api/villain/77"
},
{
"name": "Billy Nolan",
"url": "https://stephen-king-api.onrender.com/api/villain/80"
},
{
"name": "Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
resource | path segment | Required | `books`, `villains` or `shorts`. books |
id | path segment | Optional | Fetch a single record by its numeric id. 1 |
(book/:id) | path segment | Optional | The singular `/book/{id}` path returns one book with its villains expanded. 1 |
Response fields
dataarray- The records. Everything is wrapped in a `data` envelope, so index into it rather than treating the response as a bare array.
idinteger- Numeric identifier used by the single-record endpoints.
Title / Year / Publisherstring- Bibliographic basics. Note the capitalised field names — the API mixes casing conventions, so `Title` and `handle` sit side by side.
ISBNstring- ISBN-13 with hyphens, suitable for looking the book up in Open Library or Google Books.
Pagesinteger- Page count for the catalogued edition.
handlestring- URL-safe slug for the title, handy for building routes in your own app.
villainsarray- Villains appearing in the book, each with a `name` and a `url` to its own record — follow the link to expand.
What you can build with the Stephen King API
- Provide a small, interesting dataset for a front-end or API tutorial
- Build a bibliography browser or reading-progress tracker
- Practise following linked resources between related endpoints
- Cross-reference ISBNs against Open Library to pull cover images
Common errors and how to fix them
Slow first request
The free Render instance sleeps when idle.
Fix: The first call after a quiet period can take several seconds to cold-start. Do not put it on a blocking render path without a timeout and a fallback.
404
Unknown resource or id.
Fix: Resource names are plural for lists (`/books`) and singular for one record (`/book/1`). That inconsistency is real — check both.
Mixed field casing
Not an error — the schema mixes `Title` with `handle`.
Fix: Map the response into your own consistently named type at the boundary rather than propagating the inconsistency.
Stephen King API — frequently asked questions
Is the Stephen King API free?
Yes, free with no API key or account. It is an open-source community project hosted on a free tier.
Why is the first request so slow?
It runs on a free Render instance, which sleeps after a period of inactivity. The first request wakes it up and can take several seconds; subsequent ones are fast. Do not block a page render on it without a fallback.
How do I get a book's villains?
Each book's `villains` array holds a name and a URL per villain. Follow that URL to fetch the full villain record — it is a link-following exercise, which is part of what makes this a useful teaching API.
Does the API include cover images?
No, it is bibliographic data only. The `ISBN` field gives you a clean join key into Open Library or Google Books, both of which serve cover images and are also documented in this directory.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
JSON Path Finder
Evaluate a dot/bracket path against your JSON and list every leaf path for discovery. Free online JSON path finder that runs 100% in your browser.
Alternatives to Stephen King API
If Stephen King API does not fit, these book & dictionary apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| Free Dictionary API | Free dictionary API with no key: definitions, phonetics, audio pronunciation, synonyms, antonyms and examples for English words. Tested curl example. | No key | Yes | 19 Aug 2026 |
| Datamuse | Free word-finding API with no key: rhymes, synonyms, antonyms, related words, spelling suggestions and autocomplete. 100k requests/day. Tested example. | No key | Yes | 19 Aug 2026 |
| Open Library | Free book API from the Internet Archive: search by ISBN, title or author, with covers, publication data and subjects. No key required. Tested curl example. | No key | Yes | 19 Aug 2026 |
| PoetryDB | Free poetry API with no key: full poem text by author, title or line count from a public-domain corpus. CORS enabled. Tested curl example and live JSON. | No key | Yes | 19 Aug 2026 |
| Wikiquote | Free Wikiquote MediaWiki API with no key: sourced quotations by person, work or topic, with attribution. Random pages and full-text search. Tested example. | No key | No | 20 Aug 2026 |
| Wiktionary REST | Free Wiktionary REST API with no key: word definitions across hundreds of languages with parts of speech, examples and etymology. CORS enabled. Tested. | No key | Yes | 20 Aug 2026 |
Stephen King API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.