Dragon Ball API
A free Dragon Ball API with no key: characters with ki and max ki levels, race, affiliation and transformations, plus planets. Spanish descriptions. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Dragon Ball API?
Dragon Ball API is a free, key-free REST API covering Dragon Ball characters and planets. Character records carry race, gender, affiliation, base and maximum ki levels and transformations, with filtering by name, race, gender and affiliation and standard page-and-limit pagination.
The ki fields are the reason this dataset is more fun than a plain character list, and also the reason to read carefully before you sort on them. `ki` and `maxKi` are strings, and they mix formats freely: one character has "60.000.000" with dot separators, the next has "90 Septillion" written out in words. There is no consistent numeric representation, because the source material genuinely has none — the numbers stop being numbers partway through the series. Any power-comparison feature needs a parsing layer and a policy for the unparseable, and building that layer is a decent exercise in itself.
The other thing to know before you commit is language. Descriptions are in Spanish; names, races and affiliations are in English or the original Japanese romanisation. So a browser built on this ends up bilingual by default unless you translate the description field yourself. The API supports genuine filtering — `?race=Saiyan`, `?affiliation=Z Fighter`, `?name=` — and has a separate `/planets` collection, which together give it more query surface than most anime fan APIs manage.
Quick facts
- Base URL
https://dragonball-api.com/api- Authentication
- No key or account.
- Rate limit
- No published limit. Static dataset — cache it.
- Pricing
- Free and open source.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Dragon Ball 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. Fetch two characters
GET https://dragonball-api.com/api/characters?limit=2
curl 'https://dragonball-api.com/api/characters?limit=2'const res = await fetch("https://dragonball-api.com/api/characters?limit=2");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://dragonball-api.com/api/characters?limit=2", timeout=20)
res.raise_for_status()
print(res.json()){
"items": [
{
"id": 1,
"name": "Goku",
"ki": "60.000.000",
"maxKi": "90 Septillion",
"race": "Saiyan",
"gender": "Male",
"description": "El protagonista de la serie, conocido por su gran poder y personalidad amigable. Originalmente enviado a la Tierra como un infante volador con la misión de conquistarla. Sin embargo, el caer por un barranco le proporcionó un brutal golpe que si bien casi lo mata, este alteró su memoria y anuló todos los instintos violentos de su especie, lo que lo hizo crecer con un corazón puro y bondadoso, pero conservando todos los poderes de su raza. No obstante, en la nueva continuidad de Dragon Ball se establece que él fue enviado por sus padres a la Tierra con el objetivo de sobrevivir a toda costa a la destrucción de su planeta por parte de Freeza. Más tarde, Kakarot, ahora conocido como Son Goku, se convertiría en el príncipe consorte del monte Fry-pan y líder de los Guerreros Z, así como el mayor defensor de la Tierra y del Universo 7, logrando mantenerlos a salvo de la destrucción en innumerables ocasiones, a pesar de no considerarse a sí mismo como un héroe o salvador.",
"image": "https://dragonball-api.com/characters/goku_normal.webp",
"affiliation": "Z Fighter",
"deletedAt": null
},
{
"id": 2,
"name": "Vegeta",
"ki": "54.000.000",
"maxKi": "19.84 Septillion",
"race": "Saiyan",
"gender": "Male",
"description": "Príncipe de los Saiyans, inicialmente un villano, pero luego se une a los Z Fighters. A pesar de que a inicios de DragoParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | Optional | Records per page. 2 |
page | integer | Optional | Page number. 2 |
name | string | Optional | Filter by character name. Goku |
race | string | Optional | Filter by race: Saiyan, Namekian, Android, Majin and others. Saiyan |
gender | string | Optional | Filter by gender. Male |
affiliation | string | Optional | Filter by allegiance, e.g. Z Fighter or Freelancer. Z Fighter |
id | path segment | Optional | `/characters/{id}` returns one character, including transformations. 1 |
Response fields
items[]array- The page of records. Note the key is `items`, not `results` or `data`.
items[].id / nameinteger / string- Character id and name.
items[].ki / maxKistring- Base and maximum power level as display strings. Formats are inconsistent — dotted numerals and written words both appear.
items[].racestring- Saiyan, Namekian, Android, Majin and so on. A useful filter value.
items[].genderstring- Character gender.
items[].descriptionstring- Biography — in Spanish.
items[].imagestring- Character artwork URL, hosted by the project.
items[].affiliationstring- Allegiance, e.g. Z Fighter.
meta / linksobject- Total count, items per page and page navigation links, returned beside `items`.
What you can build with the Dragon Ball API
- Build a character browser filtered by race or affiliation
- Write a power-level comparison tool, complete with the parsing problem
- Seed a card or quiz game with characters and transformations
- Practise handling inconsistently formatted numeric data
- Add a planets reference to a fan site
Common errors and how to fix them
Sorting by ki gives nonsense
`ki` and `maxKi` are strings in mixed formats.
Fix: Parse deliberately: strip dot separators for numerals, map written magnitudes such as "Septillion" to exponents, and treat unparseable values as unknown rather than zero.
Expected `results`, got nothing
The array key is `items`.
Fix: Read `items` from the response. Client code copied from another fan API will silently find nothing.
Descriptions in Spanish
That is the source language of the dataset.
Fix: Translate at your own layer if you need English, or present names and stats only.
Empty result from a filter
Filter values are matched as written.
Fix: Use the exact spelling and capitalisation the data uses, e.g. `Saiyan`, not `saiyan`.
Dragon Ball API — frequently asked questions
Is there a free Dragon Ball API?
Yes. Dragon Ball API serves characters, transformations and planets with no key or account, and supports filtering by name, race, gender and affiliation.
Why can't I sort characters by power level?
Because `ki` and `maxKi` are display strings with no consistent format — "60.000.000" and "90 Septillion" both appear. The source material stops using comparable numbers partway through, so any ranking feature needs a parser and a rule for the unparseable.
What language are the descriptions in?
Spanish. Names, races and affiliations are in English or romanised Japanese, so a UI built directly on this API ends up bilingual unless you translate the description field.
Does it include transformations?
Yes — fetch a single character by id and the response includes their transformations, each with its own ki value and image.
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.
Dragon Ball 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.