BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

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 2026-08-21, 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
curl 'https://stephen-king-api.onrender.com/api/books'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://stephen-king-api.onrender.com/api/books", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
resourcepath segmentRequired`books`, `villains` or `shorts`. books
idpath segmentOptionalFetch a single record by its numeric id. 1
(book/:id)path segmentOptionalThe 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

Stephen King API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.