Access the Grand Line Archives programmatically. Characters, chapters, episodes, bounties, Devil Fruits and more — all from the One Piece dataset.
https://dendenmushi.space/v1
Rate limits are applied per IP address. Response headers tell you your current usage.
| Tier | Requests/day | Auth | Cost |
|---|---|---|---|
| 🟢 Free | 3 | API Key | Free forever |
| 🔵 Basic (coming soon) | 1,000 | API Key | Coming soon |
| 🟡 Pro (coming soon) | 10,000 | API Key | Coming soon |
Limits reset daily at midnight UTC. Every response includes X-RateLimit-* headers.
| X-RateLimit-Limit | Your daily request limit |
| X-RateLimit-Used | Requests used today |
| X-RateLimit-Remaining | Requests left today |
| X-RateLimit-Reset | When your limit resets (UTC) |
Returns the full page for a character including all sections. Name is case-insensitive and accepts spaces or underscores.
| Param | Type | Description |
|---|---|---|
| name | path | Character name e.g. Nami, roronoa_zoro |
| fieldsoptional | query | Comma-separated fields to return e.g. ?fields=title,sections |
# Request GET /v1/character/Nami # Response { "source_id": "Nami", "title": "Nami", "type": "character", "page_id": 1584, "sections": { "Bounty": "366,000,000 berries", "Appearance": "Nami is a slim young woman...", "Personality": "..." }, "content": "66,000,000 16,000,000\nBounty: 366,000,000 berries\n..." }
Returns only the bounty information for a character.
# Request GET /v1/character/Roronoa_Zoro/bounty # Response { "character": "Roronoa_Zoro", "bounty": "1,111,000,000 berries", "all_bounties_raw": null }
Returns a specific section of a character page. Section names are case-insensitive.
GET /v1/character/Luffy/section/abilities-and-powers GET /v1/character/Shanks/section/bounty
Returns the summary page for a chapter. Covers chapters 1–1185.
GET /v1/chapter/1000
Returns the summary page for an episode. Covers episodes 1–1031.
GET /v1/episode/1015
Search pages by keyword across title and source_id. Optionally filter by type.
| Param | Type | Description |
|---|---|---|
| q | query | Search keyword (min 2 chars) |
| typeoptional | query | character, chapter, episode, arc |
| limitoptional | query | Max results, default 10, max 20 |
GET /v1/search?q=zoro&type=character GET /v1/search?q=marineford&limit=5
Returns a random page. Optionally filter by type.
GET /v1/random GET /v1/random?type=character
GET /v1/types # Response { "types": { "character": ..., "chapter": ..., "episode": ..., "group": ... }, "total": ... }
Replace YOUR_API_KEY with your key from the dashboard.
# Get character info curl -H "X-API-Key: YOUR_API_KEY" \ https://api.dendenmushi.space/v1/character/Roronoa_Zoro # Get bounty only curl -H "X-API-Key: YOUR_API_KEY" \ https://api.dendenmushi.space/v1/character/Nami/bounty # Search curl -H "X-API-Key: YOUR_API_KEY" \ "https://api.dendenmushi.space/v1/search?q=zoro&type=character" # Random character curl -H "X-API-Key: YOUR_API_KEY" \ "https://api.dendenmushi.space/v1/random?type=character"
X-RateLimit-Reset for when it resets.