API Documentation
Base URL
http://localhost:3000/api
Authentication
Most endpoints are publicly accessible. Admin-only endpoints require a Bearer token in the Authorization header.
Anime Endpoints
GET
/anime
Get all anime with pagination, search, and filters
Query Parameters:
page- Page number (default: 1)limit- Items per page (default: 20)search- Search by titlestatus- Filter by status (ongoing/completed)genre- Filter by genre
GET
/anime/:identifier
Get anime by ID or slug (includes episodes)
GET
/anime/:id/episodes
Get all episodes for an anime
GET
/anime/browse
Browse anime from Anoboy source
POST
/anime/scrape
Scrape and save anime from Anoboy URL (auto-scrapes episodes)
Request Body:
{ "url": "https://anoboy.be/anime/one-piece/" }
POST
/anime/bulk-import
Bulk import all anime from Anoboy (A-Z)
Request Body (optional):
{ "letters": ["A", "B", "C"] }
POST
/anime/:id/scrape-episodes
Scrape episodes for anime (runs in background)
Episode Endpoints
GET
/episodes/:id
Get episode by ID (includes video embed URL and anime info)
POST
/episodes
Create new episode (admin only)
Request Body:
{
"animeId": 1,
"episodeNumber": 1,
"title": "Episode 1",
"videoSourceUrl": "https://...",
"duration": 24,
"releaseDate": "2025-01-01"
}
Response Format
Success Response:
{
"success": true,
"data": { ... },
"message": "Optional message"
}
Error Response:
{
"success": false,
"message": "Error message"
}