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 title
  • status - 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"
}