BYTETOOLS

API One Piece

A free One Piece API with no key: characters with bounties and crews, Devil Fruits, boats, sagas and episodes, available in several languages. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

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

What is the API One Piece?

API One Piece is a free, key-free REST API covering the One Piece universe: characters with their bounties, crews and Devil Fruits, plus boats, sagas, arcs and episodes. Every resource takes a language segment in its path, so the same record can be returned in English or French.

The structure is the interesting part. A character record does not just name a crew and a fruit — it embeds them as full nested objects, so one request for Luffy returns the Straw Hat crew with its total bounty and Yonko status, and the Hito Hito no Mi with its type and description. For a wiki-style app that is a large saving: the joins are already done, and you are not making three round trips to render one page.

The language segment is the second thing to internalise. Every path is `/v2/{resource}/{lang}`, so `/v2/characters/en/1` and `/v2/characters/fr/1` return the same character with translated text. Coverage is not perfectly even between languages, and some fields — ages and bounties in particular — arrive as localised strings such as "19 ans" or dotted numerals rather than clean numbers, so parse rather than assume. Requesting a whole collection returns a very large document; fetch by id where you can.

Quick facts

Base URL
https://api.api-onepiece.com/v2
Authentication
No key or account.
Rate limit
No published limit. Collection responses are large, so cache rather than refetching.
Pricing
Free and open source.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the API One Piece

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 a character by id, in English

GET https://api.api-onepiece.com/v2/characters/en/1

curl
curl 'https://api.api-onepiece.com/v2/characters/en/1'
JavaScript (fetch)
const res = await fetch("https://api.api-onepiece.com/v2/characters/en/1");
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://api.api-onepiece.com/v2/characters/en/1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "id": 1,
  "name": "Monkey D Luffy",
  "size": "174cm",
  "age": "19 ans",
  "bounty": "3.000.000.000",
  "crew": {
    "id": 1,
    "name": "The Chapeau de Paille crew",
    "description": null,
    "status": "assets",
    "number": "10",
    "roman_name": "Mugiwara no Ichimi",
    "total_prime": "3.161.000.100",
    "is_yonko": true
  },
  "fruit": {
    "id": 196,
    "name": "Hito Hito no Mi, Nika model",
    "description": "Hito Hito no Mi, Nika model, is a Mythical Zoan Demon Fruit that enables its user to transform into Nika, the \"God of the Sun\".",
    "type": "Zoan Mythique",
    "roman_name": "Hito Hito no Mi, Moderu: Nika"
  },
  "job": "Captain",
  "status": "vivant"
}

Parameters

ParameterTypeRequiredDescription
resourcepath segmentRequiredResource collection: `characters`, `crews`, `fruits`, `boats`, `episodes`, `sagas` and others. characters
langpath segmentRequiredLanguage code, e.g. `en` or `fr`. Required on every path. en
idpath segmentOptionalNumeric id for a single record. Without it you get the entire collection, which is several hundred kilobytes. 1

Response fields

idinteger
Record id within its collection.
namestring
Character name.
size / agestring
Height and age as localised strings, e.g. "174cm" and "19 ans" — not numbers.
bountystring
Bounty with dot separators, e.g. "3.000.000.000". Strip separators before parsing as a number.
crewobject
The full crew record embedded, including roman name, member count, total bounty and a `is_yonko` flag.
fruitobject
The character's Devil Fruit embedded, with its type, roman name and description. Null for characters without one.

What you can build with the API One Piece

  • Build a One Piece character wiki without joining data yourself
  • Chart bounty progression across crews and arcs
  • Add a Devil Fruit lookup to a fan site or bot
  • Serve the same content in English and French from one integration
  • Practise handling embedded relations and localised numeric strings

Common errors and how to fix them

404

The language segment is missing or the resource name is wrong.

Fix: Every path needs a language: `/v2/characters/en`, never `/v2/characters`.

Enormous response

You requested a whole collection.

Fix: The full character list is several hundred kilobytes. Fetch by id, or fetch the collection once and cache it.

Numbers will not parse

Bounties use dot separators and ages are localised strings.

Fix: Strip dots from `bounty` before parsing, and extract digits from `age` and `size` rather than casting them directly.

Untranslated text in a non-English language

Translation coverage is uneven.

Fix: Fall back to the English record when a translated field is empty rather than rendering a blank.

API One Piece — frequently asked questions

Is there a free One Piece API?

Yes. API One Piece covers characters, crews, Devil Fruits, boats, sagas and episodes with no key or account, and it serves the same data in more than one language.

Does it include Devil Fruits?

It does, both as a collection of their own and embedded in each character record, with the fruit's type, romanised name and description. Characters without a fruit have `fruit: null`.

Why is the bounty a string?

It is formatted for display with dot separators, as in "3.000.000.000". Strip the separators before parsing it as a number, and expect the same pattern in the crew's total bounty.

How do I switch language?

Change the language segment in the path — `/v2/characters/en/1` versus `/v2/characters/fr/1`. Coverage varies between languages, so fall back to English where a translated field is empty.

Tools that pair with this API

API One Piece 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.