DramaBox API endpoint
Returns one page of DramaBox's own "You Might Like" recommendation feed from the Android app API: the feed title and its titles, each with id, title, description, cover, website link, episode count, tags with their tag ids, protagonist, library flag and listing times. The upstream page size is fixed, so page is the only paging control. Only public catalog metadata is read; no playable video is returned.
/dramabox/recommendThis endpoint reads DramaBox's Android app API rather than its website pages. It needs no device, emulator or app at request time: the service reproduces the app's request signature and state header from public app material and keeps the anonymous guest session the app uses for catalogue calls internally. Only public catalog metadata is read, and no playable video is ever returned.
Query parameters:
page: optional, 1 to 1000. Defaults to 1. The upstream page size is fixed, so this is the only
paging control (the response echoes it as page_size).Notable response behavior:
title is the feed's own heading ("You Might Like" in the observed answers).titles holds the feed's titles, each with id, title, description, cover, website link, episode
count, tags with their tag ids, protagonist, library flag and listing times.page_size is the upstream page size; callers cannot choose it.has_more is true when a later page exists (the feed has two pages in the observed answers).videoPath media.Example response (lists shortened):
{
"code": 200,
"msg": "OK",
"data": {
"title": "You Might Like",
"page_size": 9,
"page": 1,
"has_more": true,
"titles": [
{
"id": "42000029957",
"title": "Deadliest Prison: The Female Warden Is",
"description": "A short drama picked for you…",
"cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000029957/42000029957.jpg",
"url": "https://www.dramabox.com/drama/42000029957",
"episodes": 40,
"tags": ["Prison", "Revenge"],
"tag_refs": [
{ "id": 1357, "name": "Romance" }
],
"in_library": false
}
]
}
}
| Field | Filled in, of 9 checked | Values in the sample |
|---|---|---|
| id | 9 | |
| title | 9 | “Falling for the Prince at Dark Arts Academy” and 8 other values |
| description | 9 | median 389 characters |
| cover_url | 9 | hwztchapter.dramaboxdb.com |
| url | 9 | dramabox.com |
| episodes | 9 | 31 to 63, median 46 |
| tags | 9 | median 6 entries |
| tag_refs | 9 | median 6 entries |
| in_library | 9 | true in 0 of 9 |
| shelf_time | 9 | 2026-03-23 to 2026-10-25 |
| shelf_time_ms | 9 | 2026-03-23 to 2026-10-25 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| page | integer | No | 1 | Page number, 1 to 1000; defaults to 1 | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/dramabox/recommend?page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"title": "You Might Like",
"page_size": 9,
"page": 1,
"has_more": true,
"titles": [
{
"id": "42000029957",
"title": "Deadliest Prison: The Female Warden Is",
"description": "A short drama picked for you…",
"cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000029957/42000029957.jpg",
"url": "https://www.dramabox.com/drama/42000029957",
"episodes": 40,
"tags": [
"Prison",
"Revenge"
],
"tag_refs": [
{
"id": 1357,
"name": "Romance"
}
],
"in_library": false
}
]
}
}Request schema
No body schema
Response schema
#/definitions/dramabox.recommendResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | dramabox.RecommendResponse | No | ||||
| data.has_more | boolean | No | ||||
| data.page | integer | No | ||||
| data.page_size | integer | No | PageSize is the upstream page size (the route takes no page-size parameter, so callers cannot choose it). | |||
| data.title | string | No | ||||
| data.titles | array | No | AppTitle record, 15 fields: cover_url, description, episodes, id, in_library, play_count, protagonist, shelf_time, shelf_time_ms, tag_refs, tags, title and 1 more. Described under DramaBox Tag API. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/dramabox/recommend?page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"