BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://dragonball-api.com/api/characters?limit=2'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://dragonball-api.com/api/characters?limit=2", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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 Drago

Parameters

ParameterTypeRequiredDescription
limitintegerOptionalRecords per page. 2
pageintegerOptionalPage number. 2
namestringOptionalFilter by character name. Goku
racestringOptionalFilter by race: Saiyan, Namekian, Android, Majin and others. Saiyan
genderstringOptionalFilter by gender. Male
affiliationstringOptionalFilter by allegiance, e.g. Z Fighter or Freelancer. Z Fighter
idpath segmentOptional`/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

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.