Short-drama catalog discovery
Mit DramaBox-Endpunkten verwandelst du short-drama catalog discovery in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Explore DramaBox's public short-drama catalog as structured JSON — discover genres, browse featured shelves, search genre-based listings, and retrieve a drama's episode metadata.
Browse DramaBox genres, featured shelves, short-drama titles, and episode details as structured JSON.
Endpunkt-Familien
6
Dokumentierte Parameter
49
Beispiele
16
Live-Katalog-Snapshot
Aktive Endpunkte
16
Methoden
GET
Pflichtparameter
23
Schema-Referenzen
16
{
"platform": "DramaBox",
"endpoint": "dramabox-home",
"method": "GET",
"path": "/dramabox/home",
"auth": "apiKey"
}Use Cases
Browse DramaBox genres, featured shelves, short-drama titles, and episode details as structured JSON.
Mit DramaBox-Endpunkten verwandelst du short-drama catalog discovery in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit DramaBox-Endpunkten verwandelst du genre and shelf monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit DramaBox-Endpunkten verwandelst du public title and episode metadata in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Managed Execution
Jede Zahl unten stammt direkt aus dem Live-DramaBox-Endpunktkatalog — 16 Endpunkte, 49 dokumentierte Request-Parameter und 16 veröffentlichte Response-Schemas — demselben Katalog, gegen den auch Docs und Playground laufen.
16 documented DramaBox endpoints, grouped into 16 request families — Browse, Categories and Category Books, plus 13 more.
49 request parameters are documented across those DramaBox endpoints, 23 of them required — the full input contract is public before you write any integration code.
16 of the 16 DramaBox endpoints ship a recorded example response, and 16 carry a documented response schema — you can code against the real JSON before the first request.
DramaBox endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
16 hosted MCP tools back the DramaBox endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Abdeckungskarte
/dramabox/browse
/dramabox/categories
/dramabox/category-books
/dramabox/channels
/dramabox/drama
/dramabox/genres
Ausgewählte Endpunkte
/dramabox/homeReturns DramaBox's (dramabox.com) home page: the featured short dramas and the three curated shelves (Trending, Must-sees, Hidden gems), each title with its id, title, description, cover, DramaBox link, episode count, tags, genres and the view count as the site prints it. Use dramabox-more for a whole shelf. Only public catalog metadata is read; no playable video is returned.
Hinweise zur Response
- `featured` holds the large promoted titles. `shelves` holds the curated lists with a `position` (`trending`, `must-sees` or `hidden-gems`) that you can pass to `dramabox-more` for the whole list. - `views_display` is the view count exactly as the site prints it (for example `15.6K`). It is not comparable with `dramabox-drama`'s `views`, which is the title's lifetime count. - Playable video is never returned. Example response (long values and lists shortened): ```json { "code": 200, "msg": "OK", "data": { "language": "en", "featured": [ { "id": "42000028173", "title": "Love Is A Dangerous Game", "description": "Olivia is dragged by her husband Ryan to a couples-swapping getaway—only to be paired with Jake, the husband o…", "cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000028173/42000028173.jpg", "url": "https://www.dramabox.com/drama/42000028173/Love-Is-A-Dangerous-Game", "episodes": 43, "tags": [ "Billionaire", "Forbidden Love" ], "genres": [ { "id": 258, "name": "Billionaire" }, { "id": 583, "name": "Forbidden Love" } ], "views_display": "15.6K", "status": "Completed" }, { "id": "42000021382", "title": "Deny Me, Dragon King", "description": "Human Lyra stumbles on Dragon King Kael and shares a passionate night. Tricked by a fake prophecy, he casts he…", "cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000021382/42000021382.jpg", "url": "https://www.dramabox.com/drama/42000021382/Deny-Me-Dragon-King", "episodes": 50, "tags": [ "Single Mom", "Secret Baby" ], "genres": [ { "id": 161, "name": "Romance" } ], "views_display": "17.4K", "status": "Completed" } ], "shelves": [ { "id": 1264, "name": "Must-sees", "position": "must-sees", "books": [ { "id": "42000024547", "title": "My Billionaire Patient Is My Baby Daddy", "description": "Ella is tricked by her divorce-seeking husband Arthur into sleeping with a stranger on their wedding night, an…", "cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000024547/42000024547.jpg", "url": "https://www.dramabox.com/drama/42000024547/My-Billionaire-Patient-Is-My-Baby-Daddy", "episodes": 45, "tags": [ "Billionaire", "Hidden Identity" ], "genres": [ { "id": 161, "name": "Romance" } ], "views_display": "15.9K", "status": "Completed" }, { "id": "42000024553", "title": "No More Blood For My Vampire First Love", "description": "She gave him her heart, only to be used as a pawn to win her cruel stepsister. Shattered, the gifted Keeper Al…", "cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000024553/42000024553.jpg", "url": "https://www.dramabox.com/drama/42000024553/No-More-Blood-For-My-Vampire-First-Love", "episodes": 54, "tags": [ "Revenge", "Love Triangle" ], "genres": [ { "id": 253, "name": "Love Triangle" } ], "views_display": "19.4K", "status": "Completed" } ] }, { "id": 1265, "name": "Trending", "position": "trending", "books": [ { "id": "42000030998", "title": "Falling for the Prince at Dark Arts Academy", "description": "After demons slaughter her parents, Margo enters Edenfall Academy, an elite school ruled by the very creatures…", "cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000030998/42000030998.jpg", "url": "https://www.dramabox.com/drama/42000030998/Falling-for-the-Prince-at-Dark-Arts-Academy", "episodes": 50, "tags": [ "Forbidden Love", "Hidden Identity" ], "genres": [ { "id": 161, "name": "Romance" } ], "views_display": "19.0K", "status": "Completed" }, { "id": "42000030307", "title": "The Hidden Princess at the All-Alpha Academy", "description": "One princess. Two fated mates. One secret that could ruin everything. Fleeing a sinister arranged marriage, Pr…", "cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000030307/42000030307.jpg", "url": "https://www.dramabox.com/drama/42000030307/The-Hidden-Princess-at-the-All-Alpha-Academy", "episodes": 50, "tags": [ "Reverse Harem", "Werewolf" ], "genres": [ { "id": 161, "name": "Romance" }, { "id": 248, "name": "Sweet Love" } ], "views_display": "18.0K", "status": "Completed" } ] } ] } } ```
MCP-Tool dramabox_home
/dramabox/genresReturns the genres DramaBox's browse accepts (Romance, Werewolves, Revenge, Billionaire, ...) as ids and names, read live from DramaBox. Pass a genre id to dramabox-browse. Only public catalog metadata is read; no playable video is returned.
Hinweise zur Response
- Each genre has a numeric `id` and a `name`. The "all" pseudo-genre is not listed; omit `genre_id` (or pass `0`) in `dramabox-browse` to browse everything. - The list is the site's own and can grow, which is why it is read live instead of being fixed in this documentation. Example response (long values and lists shortened): ```json { "code": 200, "msg": "OK", "data": { "language": "en", "genres": [ { "id": 534, "name": "Werewolves" }, { "id": 271, "name": "Avenge" }, { "id": 189, "name": "Divine Tycoon" }, { "id": 253, "name": "Love Triangle" } ] } } ```
MCP-Tool dramabox_genres
/dramabox/categoriesReturns the DramaBox app's category navigation as six groups: language, production type, dub mode, two genre rows (genre_1 and genre_2) and sort order. Each group lists the selectable options as display names and the values to pass to dramabox-category-books. The "All" pseudo-option is dropped because omitting a filter means all. Only public catalog metadata is read; no playable video is returned.
Hinweise zur Response
- `groups` is returned in the app's own order: `language`, `production`, `dub`, `genre_1`, `genre_2`, `sort`. The two `genre` groups share upstream type `4`; `row` tells them apart. - `name` is the label to show a user; `value` is the exact string to pass back as the matching `dramabox-category-books` query parameter. - Some values contain commas on purpose (the server accepts several tag ids in one value), so the value must be passed verbatim and URL-encoded by the caller. - The app API does not name the groups; the keys above are inferred from the tags each group carries and are part of this API's contract. Example response (option lists shortened): ```json { "code": 200, "msg": "OK", "data": { "groups": [ { "key": "language", "type": 1, "options": [ { "name": "Local", "value": "美国" }, { "name": "Chinese", "value": "中国" }, { "name": "Korean", "value": "韩国" } ] }, { "key": "production", "type": 6, "options": [ { "name": "AI Drama", "value": "3" }, { "name": "Live-Action", "value": "1" }, { "name": "Anime", "value": "2" } ] }, { "key": "dub", "type": 2, "options": [ { "name": "Dubbed", "value": "1" }, { "name": "Subtitles Only", "value": "0" } ] }, { "key": "genre_1", "type": 4, "options": [ { "name": "Romance", "value": "1357" }, { "name": "Strong Heroine", "value": "1361" }, { "name": "Powerful Male Lead", "value": "1323" } ] }, { "key": "genre_2", "type": 4, "row": 1, "options": [ { "name": "Werewolf", "value": "1363,1659" }, { "name": "Hidden Identity", "value": "1338,1395" }, { "name": "Mafia", "value": "1325,1364" } ] }, { "key": "sort", "type": 5, "options": [ { "name": "Trending", "value": "1" }, { "name": "Latest", "value": "2" }, { "name": "Unwatched", "value": "3" } ] } ] } } ```
MCP-Tool dramabox_categories
/dramabox/channelsReturns the 8 DramaBox app theater channels as ids and names: Popular, New, Rankings, Categories, Anime, Live-Action, VIP and Original+. The channel value for dramabox-theater is the lowercase name (popular, new, rankings, categories, anime, live-action, vip, original). Only public catalog metadata is read; no playable video is returned.
Hinweise zur Response
- `id` is the app's own channel id; pass the lowercase `name` as `channel` to `dramabox-theater`. - The upstream API answers an unknown channel with an empty 200, not an error, so this pinned list is the only reliable statement of which channels exist. - The app renders some channels with a generic layout; the channel id is what matters for data, not the layout hint.
MCP-Tool dramabox_channels
/dramabox/trendingReturns the DramaBox Android app API's search landing page: the hot, trending and new-release title lists, the ranking tabs (pass a tab's type to dramabox-rank as rank_type) and the app's preset search keyword. Takes no parameters. Only public catalog metadata is read; no playable video is returned.
Hinweise zur Response
- `hot` is the app's "hot" list, `trending` its trending list and `new_releases` its new-release list. Each is a list of catalog cards with the same shape `dramabox-rank` returns (`id`, `title`, `description`, `cover_url`, `url`, `tags`, `protagonist`, `in_library`); each list was 20 titles upstream. - `rank_tabs` lists the ranking tabs, each with the `type` to pass back to a ranking list and the app's display `name`. The app's own order is preserved (observed `2` Top Searched, `1` Most Trending, `3` New Releases) — do not assume it is sorted. - `preset_keyword` is the word the app pre-fills in its search box; pass it to `dramabox-search` or `dramabox-suggest`. - This route takes no parameters; there is no paging. - Playable media, signed stream URLs, sprite/banner assets, the app's `algorithmRecomDot` / `bookSource` tracking blobs and per-user data are never returned. Example response (shortened; each feed was truncated to two titles): ```json { "code": 200, "msg": "OK", "data": { "hot": [ { "id": "42000030998", "title": "Falling for the Prince at Dark Arts Academy", "description": "After demons slaughter her parents, Margo enters Edenfall Academy, an elite school ruled by the very creatures she hates…", "cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000030998/42000030998.jpg?t=1792120505057&image_process=resize,h_300", "url": "https://www.dramabox.com/drama/42000030998", "tags": ["Forbidden Love", "Hidden Identity", "Romance", "Enemy to Lover", "Supernatural", "Family Intrigue"], "protagonist": "Damien Dalca, Margo Santiago", "in_library": false }, { "id": "42000028173", "title": "Love Is A Dangerous Game", "cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000028173/42000028173.jpg?t=1790565765766&image_process=resize,h_300", "url": "https://www.dramabox.com/drama/42000028173", "tags": ["Forbidden Love", "Hidden Identity", "Billionaire"], "protagonist": "Damien, Olivia", "in_library": false } ], "trending": [ { "id": "42000030998", "title": "Falling for the Prince at Dark Arts Academy", "url": "https://www.dramabox.com/drama/42000030998", "in_library": false } ], "new_releases": [ { "id": "42000030917", "title": "Halloween Horror Night Game: Tempt the Vampire to Survive", "url": "https://www.dramabox.com/drama/42000030917", "in_library": false } ], "rank_tabs": [ { "type": 2, "name": "Top Searched" }, { "type": 1, "name": "Most Trending" }, { "type": 3, "name": "New Releases" } ], "preset_keyword": "Falling for the Prince at Dark Arts Academy" } } ```
MCP-Tool dramabox_trending
/dramabox/rankReturns one DramaBox ranking list from the DramaBox Android app API: the available tabs (Most Trending, Top Searched, New Releases) and 20 ranked titles, each with its id, title, description, cover, website link, episode count, tags, protagonist, rank position, hot metric, library flag and listing times. Pass a tab's type as rank_type to read that tab. Only public catalog metadata is read; no playable video is returned.
Hinweise zur Response
- `tabs` lists the ranking tabs with the `type` to pass back as `rank_type` and the app's display `name`. - `titles` holds the ranking list, fixed at 20 titles upstream. `position` is the title's ordinal in the ranking (1-based, taken from the app's own `rankVo.sort`), and `rank` carries that object's `hot_code` and `type`. - `episodes` is the total chapter count, not a number of free episodes. - `shelf_time` is the app's listing time as printed; `shelf_time_ms` is the same instant in Unix milliseconds. - `in_library` is always `false` for this shared guest session, because nobody's library is being read. - Playable media, signed stream URLs, sprite/banner assets and per-user data are never returned. Example response (long values and lists shortened): ```json { "code": 200, "msg": "OK", "data": { "rank_type": 1, "tabs": [ { "type": 1, "name": "Most Trending" }, { "type": 2, "name": "Top Searched" }, { "type": 3, "name": "New Releases" } ], "titles": [ { "id": "42000028173", "title": "Love Is A Dangerous Game", "description": "Olivia is dragged by her husband Ryan to a couples-swapping getaway—only to be paired with Jake…", "cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000028173/42000028173.jpg?t=1790565765766", "url": "https://www.dramabox.com/drama/42000028173", "episodes": 43, "tags": [ "Forbidden Love", "Hidden Identity", "Billionaire" ], "protagonist": "Damien, Olivia", "position": 1, "in_library": false, "data_from": "大数据", "shelf_time": "2026-09-27 16:42:18", "shelf_time_ms": 1790042404000, "rank": { "type": 1, "hot_code": "1.6M", "sort": 1 } }, { "id": "42000021382", "title": "Deny Me, Dragon King", "description": "Human Lyra stumbles on Dragon King Kael and shares a passionate night…", "cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000021382/42000021382.jpg?t=1790565000000", "url": "https://www.dramabox.com/drama/42000021382", "episodes": 50, "tags": [ "Single Mom", "Secret Baby" ], "protagonist": "Kael, Lyra", "position": 2, "in_library": false, "data_from": "编辑精选", "shelf_time": "2026-09-27 16:42:19", "shelf_time_ms": 1790042405000, "rank": { "type": 1, "hot_code": "1M", "sort": 2 } } ] } } ```
MCP-Tool dramabox_rank
Verwandte APIs
Media & Streaming
Follow German football from the Bundesliga down to the lowest Kreisklasse. Discover competitions in all 22 federations, then read matchdays, standings, scorers, clubs, teams, and players from the DFB's own amateur-football portal.
Media & Streaming
Browse Sportskeeda's sports and entertainment coverage, community wikis, quizzes, and fan games with the catalog's current slugs and filter limits.
Media & Streaming
Research streaming catalogs, title availability, providers, offers, seasons, episodes, and release changes from JustWatch with normalized JSON.
So scrapst du DramaBox
Crawlora's 16 DramaBox endpoints read the app's public catalog in 14 locales, each with its own title library. A home pull on 2026-10-27 returned three featured titles and three curated shelves (Must-sees, Trending and Hidden gems, six titles each); /dramabox/genres listed 54 genre rows, /dramabox/channels listed 8 theater channels, and each of the three /dramabox/rank tabs held 20 titles. The traps sit in how those lists relate: one genre can carry two ids, and the ranking and the home shelf report popularity on different scales. Responses are public catalog metadata only; nothing here streams or unlocks an episode.
Pass language (en, ko, zhHans, zh, es, ja, de, in, th, tl, pt, fr, ar or it; in is Indonesian) to /dramabox/home and the genre routes, and store it beside every row. Each locale has its own title library, so a title found in English is not guaranteed to exist in Spanish or Thai. Drama ids are 11-digit strings such as 42000030998; keep them as text.
On 2026-10-27 /dramabox/genres returned near-duplicates side by side: Werewolf (274) and Werewolves (534), Revenge (260) and Avenge (271), and even Trending (268) as a genre. Titles carry ids that differ from the directory too: home-shelf titles showed Fantasy as both 291 and 204, Mafia as 192 (the directory lists 563) and Comeback as 227 and 266. /dramabox/browse with one genre id returns only titles tagged with that exact id, so merge ids by name before sizing a genre.
/dramabox/rank takes rank_type 1 (Most Trending), 2 (Top Searched) or 3 (New Releases) and returns 20 titles per tab. On 2026-10-27 Top Searched put Falling for the Prince at Dark Arts Academy first (50 episodes, hot_code 95.9K), and 13 of its 20 titles had been listed on or after 2026-10-13, the oldest on 2026-07-29. hot_code is a display string with a K suffix, so parse it before sorting.
/dramabox/channels is a fixed set of eight names (Popular 155, New 41, Rankings 89, Categories 141, Anime 290, Live-Action 314, VIP 291, Original+ 13) and /dramabox/theater takes the channel name. Home shelves are editorial instead: ids 1264 to 1266 with position slugs must-sees, trending and hidden-gems, which is what /dramabox/more expects. Record the pull date, because shelf contents rotate.
Ten of the 20 Top Searched titles were exactly 30 or 50 episodes, while the Hidden gems shelf held long runs of 63, 56, 61, 93, 89 and 104 episodes (A Breath Away From Forever has 104). Every title on the home pull was marked Completed, so status does not separate new releases from old ones; use the shelf_time listing timestamp on ranking rows for that.
/dramabox/search truncates the keyword to 80 characters, takes sort modes 1, 2 or 3, and mixes matching titles with matching actors. Pass an actor id from those rows to /dramabox/performer and a tag id to /dramabox/tag; /dramabox/suggest returns search-box completions only.
FAQ
They come from different fields on different routes: hot_code on a /dramabox/rank row and views_display on a /dramabox/home title. Both arrive as strings with a K suffix. Compare titles within one counter and store which route each number came from.
Both exist in the 2026-10-27 directory (274 and 534), and titles may carry either. Browse both ids and de-duplicate by drama id, or you will undercount the genre.
Each ranking row has a shelf_time listing timestamp. Of the 20 Top Searched titles on 2026-10-27, 13 were listed in the previous two weeks and the oldest on 2026-07-29, so a ranking mixes new releases with long-running titles.
No. The routes return catalog, shelf, ranking and episode-count metadata; they do not return video playback or subscriber entitlements.