ThronesAPI
ThronesAPI is a free, key-free API returning Game of Thrones television characters with their house, title and a hosted portrait image — a plain array, no pagination. Live example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the ThronesAPI?
ThronesAPI is a free, key-free REST API returning Game of Thrones characters as a flat JSON array. Each record carries first and last name, full name, in-world title, house and a hosted portrait image URL, with a separate continents endpoint alongside it.
This is the show-based counterpart to the book-based Ice and Fire API, and the difference is worth naming because they suit different projects. Ice and Fire models the novels in depth — houses, allegiances, sworn members, cross-linked by URL. ThronesAPI models the television series shallowly but visually: a short list of principal characters, each with a portrait that the project actually hosts rather than hotlinks. If you are building anything with faces in it, that hosting decision is the deciding factor.
It is deliberately simple. `GET /api/v2/Characters` returns the whole array with no envelope, no pagination and no filters — you fetch once and work in memory. Note the capitalised path segment, which trips people up, and note that `image` holds a bare filename while `imageUrl` holds the full address; use the latter. It is a small dataset covering the main cast rather than every named character, so check that the people your project needs are actually in it before building around it.
Quick facts
- Base URL
https://thronesapi.com/api/v2- Authentication
- No key or account.
- Rate limit
- No published limit. One request returns everything — there is no reason to call it twice.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the ThronesAPI
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. Fetch every character
GET https://thronesapi.com/api/v2/Characters
curl 'https://thronesapi.com/api/v2/Characters'const res = await fetch("https://thronesapi.com/api/v2/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://thronesapi.com/api/v2/Characters", timeout=20)
res.raise_for_status()
print(res.json())[
{
"id": 0,
"firstName": "Daenerys",
"lastName": "Targaryen",
"fullName": "Daenerys Targaryen",
"title": "Mother of Dragons",
"family": "House Targaryen",
"image": "daenerys.jpg",
"imageUrl": "https://thronesapi.com/assets/images/daenerys.jpg"
},
{
"id": 1,
"firstName": "Samwell",
"lastName": "Tarly",
"fullName": "Samwell Tarly",
"title": "Maester",
"family": "House Tarly",
"image": "sam.jpg",
"imageUrl": "https://thronesapi.com/assets/images/sam.jpg"
},
{
"id": 2,
"firstName": "Jon",
"lastName": "Snow",
"fullName": "Jon Snow",
"title": "King of the North",
"family": "House Stark",
"image": "jon-snow.jpg",
"imageUrl": "https://thronesapi.com/assets/images/jon-snow.jpg"
},
{
"id": 3,
"firstName": "Arya",
"lastName": "Stark",
"fullName": "Arya Stark",
"title": "No One",
"family": "House Stark",
"image": "arya-stark.jpg",
"imageUrl": "https://thronesapi.com/assets/images/arya-stark.jpg"
},
{
"id": 4,
"firstName": "Sansa",
"lastName": "Stark",
"fullName": "Sansa Stark",
"title": "Lady of Winterfell",
"family": "House Stark",
"image": "sansa-stark.jpeg",
"imageUrl": "https://thronesapi.com/assets/images/sansa-stark.jpeg"
},
{
"id": 5,
"firstName": "Brandon",
"lastName": "Stark",
"fullName": "Brandon Stark",
"title": "Lord of Winterfell",
"family": "House Stark",
"image": "bran-stark.jpg",
"imageUrl": "https://thronesapi.com/assets/images/bran-stark.jpg"
},
{
"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | path segment | Optional | `/Characters/{id}` returns one character. Ids start at 0. 0 |
Continents | path segment | Optional | `/Continents` returns the list of continents as a separate small collection. Continents |
Response fields
idinteger- Character id, zero-based.
firstName / lastNamestring- Name components, split. Empty string where a character has no surname.
fullNamestring- The combined name — use this for display rather than concatenating the parts.
titlestring- In-world title, e.g. "Mother of Dragons" or "Maester".
familystring- House affiliation, e.g. "House Targaryen".
imagestring- Bare image filename. Not usable on its own.
imageUrlstring- The full, loadable portrait URL, hosted by the project itself rather than hotlinked.
What you can build with the ThronesAPI
- Build a character gallery with reliable hosted portraits
- Add house badges and titles to a fan wiki
- Seed a guessing game or quiz with faces and names
- Prototype a card layout with real images of a consistent aspect ratio
Common errors and how to fix them
404 on /api/v2/characters
The path segment is capitalised.
Fix: It is `/api/v2/Characters` with a capital C. The same applies to `/Continents`.
Broken images
You used `image` instead of `imageUrl`.
Fix: `image` is a bare filename such as `daenerys.jpg`. `imageUrl` is the complete address.
A character is missing
The dataset covers principal cast, not every named character.
Fix: Check coverage against your requirements up front. For depth across the books, the Ice and Fire API is the better source.
No pagination parameters work
There is no pagination.
Fix: The collection endpoint returns everything in one array. Filter and page in your own code.
ThronesAPI — frequently asked questions
Is there a free Game of Thrones API with character images?
Yes. ThronesAPI returns the main television characters with house, title and a portrait image that the project hosts itself, with no key or account.
How is it different from the Ice and Fire API?
ThronesAPI covers the television series and its strength is hosted character images. An API of Ice And Fire covers the novels in far greater depth — houses, sworn members, allegiances, cross-linked between records — but carries no images at all.
Why do my image URLs 404?
You are probably using the `image` field, which is only a filename. The complete address is in `imageUrl`.
Does it support pagination or filtering?
No. One call returns the entire array with no envelope and no query parameters, which is fine given the size — fetch it once, cache it, and filter in your own code.
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.
Image to Base64 Converter
Convert an image to a Base64 data URL online. Get copy-ready HTML img tags and CSS background-image snippets. Free, instant and fully private.
ThronesAPI 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.