Overview
This API provides structured data about BFDI characters, including their names, descriptions, badges, and image paths. Perfect for developers building BFDI-related projects or fans who want to explore character data programmatically. Note that all image paths in the API are absolute file paths.
Total Characters: 66 characters from the BFDI series
Format: JSON
Authentication: None required
Cost: Free to use
Features
- 66 BFDI characters with detailed information
- Character names, descriptions, and roles
- Image URLs and file paths for each character
- Clean JSON format for easy parsing
- No authentication required
- Free to use for fan projects
🚀 Quick Start
Access the API data directly via:
URL: /characters.json
Method: GET
Content-Type: application/json
The API returns all character data in a single JSON file - no complex endpoints needed!
Response Structure
The API returns a JSON object with the following structure:
{
"code": 200,
"status": "OK",
"things2search": {
"character-key": {
"name": "Character Name",
"badge": "Role/Status",
"desc": "Description",
"image": "Image URL"
},
...
}
}
Response Fields (when HTTP 200 is returned):
code: HTTP status code (200)
status: Status message (e.g., "OK")
things2search: Object containing all character data
Note: For HTTP 304 (Not Modified) and 404 (Not Found) responses, check the HTTP status code directly - these responses may not include a JSON body.
Character Data Structure
Each character entry in the things2search object contains:
{
"character-key": {
"name": "Character Display Name",
"badge": "Contestant/Winner/etc",
"desc": "Detailed character description...",
"image": "URL or path to character image"
}
}
Field Descriptions:
character-key: Unique identifier (lowercase, hyphenated)
name: Character's display name as it appears in the show
badge: Character status (e.g., "Contestant", "Winner")
desc: Detailed description of the character and their role
image: Absolute file path to character image (can be URL or local file path)
Example Response
Here's a real example from the API:
{
"code": 200,
"status": "OK",
"things2search": {
"firey": {
"name": "Firey",
"badge": "Winner",
"desc": "Firey is a male winner on Battle for Dream Island.",
"image": "fireyM.png"
},
"8-ball": {
"name": "8-Ball",
"badge": "Contestant",
"desc": "8-Ball is a male contestant on Battle for BFDI.",
"image": "https://cdn.comic.studio/images/bfdiseries/characters/64727d7d1fd4851d93156d908965d908.png?filename=8ballbfdi.png"
},
"blocky": {
"name": "Blocky",
"badge": "Contestant",
"desc": "Blocky is a male contestant on Battle for Dream Island and Battle for BFDI.",
"image": "blockyM.png"
}
}
}
📥 Get Started
Click the buttons below to view or download the raw JSON data. You can copy the URL or save the file for use in your projects!
Best Practices
- Cache the JSON data locally to reduce repeated requests
- Implement error handling for network failures
- Use the character key (e.g., "firey") for lookups, not the display name
- Validate the response structure before accessing nested properties
- Consider lazy loading images for better performance
- Check the HTTP status code first (200 = success with JSON body, 304 = cached, 404 = not found)
- Only parse JSON and access the
code field when HTTP status is 200
Troubleshooting
Q: The API request is failing / 404 error
A: Make sure you're using the correct relative or absolute URL path to characters.json. The file is located at the root of this website.
Q: Images are not loading
A: The image field contains absolute file paths - either absolute URLs (e.g., cdn.comic.studio) or local file paths (e.g., "fireyM.png"). Check and handle both cases appropriately in your code.
Q: How do I search for a specific character?
A: You can iterate through the things2search object or convert it to an array. Use the character key (lowercase, hyphenated) for direct access, or search by the name field for display names.
Q: Can I modify the data?
A: The JSON file is read-only. You'll need to download it and host your own modified version if you need custom data.
API Reference Summary
Endpoint: /characters.json
Method: GET
Format: JSON
Auth: None required
Rate Limit: None
HTTP Response Codes:
200 - Success (JSON body with data returned)
304 - Not Modified (no body, cached version is still valid)
404 - File not found (no JSON body)
Note: Other HTTP codes (e.g., 403, 500, 503) may occur depending on
hosting infrastructure but are not part of the API contract.
Root Object Fields (only present when HTTP 200):
- code: number (200)
- status: string (status message, e.g., "OK")
- things2search: object (character data)
IMPORTANT: Always check HTTP status code first. Only 200 responses
include a JSON body. Do not attempt to parse JSON for 304/404 responses.
Character Object Fields:
- name: string (required)
- badge: string (required)
- desc: string (required)
- image: string (required, absolute file path - URL or local path)
Legal & Usage Terms
- This data is for fan use only - not officially affiliated with jacknjellify or the BFDI team
- All character descriptions are based on the BFDI animated series
- Character images may have mixed sources (local and external CDN)
- Free to use for non-commercial BFDI fan projects
- Please provide attribution when using this API in your projects
- Respect the intellectual property of the original BFDI creators
What's Next?
Now that you understand the API, here are some ways to get started:
- Download the JSON file using the button above
- Check out the characters section and search section to see the API in action
- Build something awesome and share it with the BFDI community!