The Simpsons API
A free, key-free Simpsons API: 1,182 characters with catchphrases and occupations, plus episodes and locations, paginated with a Rick-and-Morty-style envelope. Live example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the The Simpsons API?
The Simpsons API is a free, key-free REST API covering 1,182 Simpsons characters along with episodes and locations. Records include occupation, age, gender, birthdate, catchphrases and portrait images, and responses use a paginated envelope with count, page total and next-page links.
The character records are richer than the fan-API norm. Alongside the expected name and image you get occupation, age, birthdate and — the field that makes this fun to build with — a `phrases` array of the character's catchphrases, with Homer's running to a dozen entries. That turns a character list into something you can actually build a quiz or a quote bot on without sourcing dialogue separately.
The response envelope will look immediately familiar if you have used the Rick and Morty API: `count`, `pages`, `next`, `prev` and a `results` array. That is a good sign — it means paging works the way you expect and you can reuse client code between the two. One detail to catch early: image fields such as `portrait_path` are relative paths, not full URLs, so you must prefix them with the project's image host before they will render. As with every fan project of this kind, it is one developer's deployment with no uptime commitment, so cache what you fetch.
Quick facts
- Base URL
https://thesimpsonsapi.com/api- Authentication
- No key or account.
- Rate limit
- No published limit. The dataset is static — cache it and you will make almost no requests.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the The Simpsons 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 Simpsons characters, first page
GET https://thesimpsonsapi.com/api/characters
curl 'https://thesimpsonsapi.com/api/characters'const res = await fetch("https://thesimpsonsapi.com/api/characters");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://thesimpsonsapi.com/api/characters", timeout=20)
res.raise_for_status()
print(res.json()){
"count": 1182,
"next": "https://thesimpsonsapi.com/api/characters?page=2",
"prev": null,
"pages": 60,
"results": [
{
"id": 1,
"age": 39,
"birthdate": "1956-05-12",
"gender": "Male",
"name": "Homer Simpson",
"occupation": "Safety Inspector",
"portrait_path": "/character/1.webp",
"phrases": [
"Doh!",
"Why you little...!",
"Woo-hoo!",
"Mmm... (food)... *drooling*",
"Stupid Flanders!",
"Shut up Flanders!",
"AAAAGHH!",
"Lisa, knock off that racket!",
"Uh oh, the boss.",
"Lets all go out for frosty chocolate milkshakes!",
"Whatever, Ill be at Moes.",
"I am evil Ho-mer! I am evil Ho-mer! I am evil Ho-mer!",
"Better them than me.",
"Better them than me... Oh wait, that was me.",
"Marge, my face hurts again!"
],
"status": "Alive"
},
{
"id": 2,
"age": 39,
"birthdate": null,
"gender": "Female",
"name": "Marge Simpson",
"occupation": "Unemployed",
"portrait_path": "/character/2.webp",
"phrases": [
"Hrmmm...",
"Now its Marges time to shine!",
"Oh!",
"Oh, Homie!",
"Its true. Women arent very good drivers."
],
"status": "Alive"
},
{
"id": 3,
"age": 10,
"birthdate": "1980-02-23",
"gender": "Male",
"name": "Bart Simpson",
"occupation": "Student at Springfield Elementary School",
"portrait_path": "/character/3.webp",
"phrases": [Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
resource | path segment | Required | `characters`, `episodes` or `locations`. characters |
page | integer | Optional | Page number, 1-based. Twenty records per page by default, so 60 pages of characters. 2 |
Response fields
countinteger- Total records across every page — 1,182 for characters.
pagesinteger- Total number of pages available.
next / prevstring or null- Absolute URLs for the neighbouring pages, or null at the ends. Follow these rather than building URLs yourself.
results[].idinteger- Stable character id.
results[].namestring- Character name.
results[].occupation / age / gender / birthdatestring / integer- Biographical fields. Frequently null for minor characters.
results[].phrasesarray of strings- The character's catchphrases. The most useful field in the dataset and the one nothing else carries.
results[].portrait_pathstring- Relative image path. Prefix with the project's image host to get a loadable URL.
What you can build with the The Simpsons API
- Build a Simpsons character browser or quiz
- Make a catchphrase bot for a chat platform
- Practise cursor-style pagination with `next` and `prev` links
- Use as a friendlier alternative to Rick and Morty for teaching REST clients
- Cross-reference characters against episodes and locations
Common errors and how to fix them
Images do not load
`portrait_path` is a relative path, not a URL.
Fix: Prefix it with the project's image CDN host. Dropping the raw value into an `img` tag will always 404.
404 on /documentation
The docs live at the site root, not on a `/documentation` path.
Fix: Use `https://thesimpsonsapi.com/` for reference; the API itself is under `/api`.
Null fields on minor characters
Coverage is uneven beyond the main cast.
Fix: Guard every biographical field. Age, occupation and birthdate are commonly absent outside the core family.
Page number beyond the total
You requested a page past `pages`.
Fix: Read `pages` from the first response, or follow `next` until it is null instead of incrementing blindly.
The Simpsons API — frequently asked questions
Is there a free Simpsons API?
Yes. The Simpsons API serves 1,182 characters plus episodes and locations with no key or account, paginated twenty records at a time.
Does it include catchphrases?
It does — each character record has a `phrases` array, and for the main cast it is substantial. That is the field that makes this more useful than a plain character list.
Why do the images not display?
Because `portrait_path` is a relative path such as `/character/1.webp` rather than a complete URL. Prefix it with the project's image host before using it in an `img` tag.
How does pagination work?
The response carries `count`, `pages`, `next` and `prev` alongside `results`, in the same shape as the Rick and Morty API. Follow the `next` URL until it is null rather than constructing page numbers yourself.
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.
Quiz Maker
Build multiple-choice and true/false quizzes, take them in a scored practice mode with per-question feedback, and export the quiz, answer key or blank paper.
The Simpsons 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.