DramaBox API endpoint
Returns one DramaBox performer from the Android app API: name, gender, avatar, video count, follow flag, and one page of the titles they appear in (each with id, title, description, cover, website link, episode count, tags with their tag ids, protagonist, library flag and listing times). Get performer ids from dramabox-search or dramabox-suggest's people results. Only public catalog metadata is read; no playable video is returned.
/dramabox/performerThis 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:
performer_id: required. A performer id from dramabox-search or dramabox-suggest's people
results (for example 29450).page: optional, 1 to 1000. Defaults to 1.limit: optional, 1 to 20. Defaults to 10.Notable response behavior:
id, name, gender, avatar, video_count and followed describe the performer. followed
is always false for the shared guest session.titles holds the performer's titles; each title carries its tag_refs, so a tag id for
dramabox-tag can be taken from here too. has_more is true when a later page exists.video_count is the app's series count for the performer, not a count of returned titles.Example response (lists shortened):
{
"code": 200,
"msg": "OK",
"data": {
"id": "29450",
"name": "Kyle Lovett",
"gender": 1,
"avatar": "https://hwztchapter.dramaboxdb.com/data/cppartner/0x5/29450/29450.jpg",
"video_count": 14,
"followed": false,
"page": 1,
"limit": 10,
"has_more": false,
"titles": [
{
"id": "42000007197",
"title": "I Went to the Mafia Boss for a Baby",
"description": "I saved a cartel king who tricked me into marriage…",
"cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000007197/42000007197.jpg",
"url": "https://www.dramabox.com/drama/42000007197",
"episodes": 59,
"tags": ["Mafia", "Contract Lover", "Romance"],
"tag_refs": [
{ "id": 1364, "name": "Mafia" },
{ "id": 1621, "name": "Contract Lover" }
],
"in_library": false,
"shelf_time": "2026-09-27 16:42:18"
}
]
}
}
| Field | Filled in, of 1 checked | Values in the sample |
|---|---|---|
| id | 1 | |
| title | 1 | “I Went to the Mafia Boss for a Baby” |
| description | 1 | “I saved a cartel king who tricked me into marriage. What he…” |
| cover_url | 1 | hwztchapter.dramaboxdb.com |
| url | 1 | dramabox.com |
| episodes | 1 | 59 |
| tags | 1 | median 5 entries |
| tag_refs | 1 | median 5 entries |
| in_library | 1 | true in 0 of 1 |
| shelf_time | 1 | 2026-03-10 |
| shelf_time_ms | 1 | 2026-03-10 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| performer_id | integer | Yes | Performer id from dramabox-search or dramabox-suggest's people results | 29450 | |
| page | integer | No | 1 | Page number, 1 to 1000; defaults to 1 | 1 |
| limit | integer | No | 10 | Page size, 1 to 20; defaults to 10 | 10 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/dramabox/performer?performer_id=29450&page=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "29450",
"name": "Kyle Lovett",
"gender": 1,
"avatar": "https://hwztchapter.dramaboxdb.com/data/cppartner/0x5/29450/29450.jpg",
"video_count": 14,
"followed": false,
"page": 1,
"limit": 10,
"has_more": false,
"titles": [
{
"id": "42000007197",
"title": "I Went to the Mafia Boss for a Baby",
"description": "I saved a cartel king who tricked me into marriage…",
"cover_url": "https://hwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000007197/42000007197.jpg",
"url": "https://www.dramabox.com/drama/42000007197",
"episodes": 59,
"tags": [
"Mafia",
"Contract Lover",
"Romance"
],
"tag_refs": [
{
"id": 1364,
"name": "Mafia"
},
{
"id": 1621,
"name": "Contract Lover"
}
],
"in_library": false,
"shelf_time": "2026-09-27 16:42:18"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/dramabox.performerResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | dramabox.PerformerResponse | No | ||||
| data.avatar | string | No | ||||
| data.followed | boolean | No | ||||
| data.gender | integer | No | ||||
| data.has_more | boolean | No | ||||
| data.id | string | No | ||||
| data.limit | integer | No | ||||
| data.name | string | No | ||||
| data.page | integer | 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. | |||
| data.video_count | integer | No | ||||
| 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/performer?performer_id=29450&page=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"