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.
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 'https://api.api-onepiece.com/v2/characters/en/1'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);import requests
res = requests.get("https://api.api-onepiece.com/v2/characters/en/1", timeout=20)
res.raise_for_status()
print(res.json()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
resource | path segment | Required | Resource collection: `characters`, `crews`, `fruits`, `boats`, `episodes`, `sagas` and others. characters |
lang | path segment | Required | Language code, e.g. `en` or `fr`. Required on every path. en |
id | path segment | Optional | Numeric 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
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 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.
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.
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.