DramaBox API endpoint
Returns one DramaBox short drama: title, description, cover, link, language, episode count, lifetime views, follows, tags, genres, listing times, the languages it is available in, the episode list with each episode's number, id, duration, free flag and thumbnail, and related titles. Only public catalog metadata is read; no playable video is returned.
/dramabox/dramaid is required: the numeric title id from dramabox-browse, dramabox-more or dramabox-home. A dramabox.com/drama/... URL is also accepted.
Notable response behavior:
episodes lists every episode with its 1-based number, id, duration_ms, updated_at and thumbnail. free is true for the episodes the site unlocks without payment (typically the first few); the rest are paid on DramaBox.views and follows are the title's lifetime counters.listed_at and updated_at are printed by the site without a time zone, so they are returned as the site prints them.available_languages lists the site locales that carry the title.404; a malformed id returns 400.Example response (long values and lists shortened):
{
"code": 200,
"msg": "OK",
"data": {
"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",
"language": "en",
"episode_count": 43,
"views": 86603866,
"follows": 3361355,
"tags": [
"Billionaire",
"Forbidden Love"
],
"genres": [
{
"id": 258,
"name": "Billionaire"
},
{
"id": 583,
"name": "Forbidden Love"
},
{
"id": 265,
"name": "Concealed Identity"
}
],
"listed_at": "2026-09-22 10:00:04",
"updated_at": "2026-09-27 16:42:18",
"available_languages": [
"en"
],
"episodes": [
{
"number": 1,
"id": "701673570",
"free": true,
"duration_ms": 102451,
"updated_at": "2026-10-20",
"thumbnail_url": "https://thwztvideo.dramaboxdb.com/07/3x7/37x1/371x8/37182000024/701673570_3/701673570.mp4.jpg"
},
{
"number": 2,
"id": "701673571",
"free": true,
"duration_ms": 82526,
"updated_at": "2026-10-20",
"thumbnail_url": "https://thwztvideo.dramaboxdb.com/17/3x7/37x1/371x8/37182000024/701673571_2/701673571.mp4.jpg"
},
{
"number": 3,
"id": "701673572",
"free": true,
"duration_ms": 99593,
"updated_at": "2026-10-20",
"thumbnail_url": "https://thwztvideo.dramaboxdb.com/27/3x7/37x1/371x8/37182000024/701673572_2/701673572.mp4.jpg"
}
],
"related": [
{
"id": "42000031399",
"title": "She Saves His Empire, Then Goes Shopping",
"description": "Claire Walsh seems like Adrian Carter's spoiled shopper, swiping his black card on bags. Actually, she's a ret…",
"cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000031399/42000031399.jpg",
"url": "https://www.dramabox.com/drama/42000031399/She-Saves-His-Empire-Then-Goes-Shopping",
"episodes": 60,
"tags": [
"Comeback Story",
"Billionaire"
],
"genres": [
{
"id": 258,
"name": "Billionaire"
},
{
"id": 676,
"name": "Betrayal"
}
],
"follows": 368,
"language": "en",
"listed_at": "2026-10-21 15:45:12"
},
{
"id": "42000031669",
"title": "She Fired Her Own Future",
"description": "Claire Clark and her husband Gavin Stone built an empire but work undercover as cleaners in their own plaza. A…",
"cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000031669/42000031669.jpg",
"url": "https://www.dramabox.com/drama/42000031669/She-Fired-Her-Own-Future",
"episodes": 40,
"tags": [
"Family Bonds",
"Billionaire"
],
"genres": [
{
"id": 498,
"name": "Family"
},
{
"id": 258,
"name": "Billionaire"
}
],
"follows": 421,
"language": "en",
"listed_at": "2026-10-23 13:35:15"
},
{
"id": "42000030867",
"title": "My Ex's Forbidden Brother",
"description": "Maya catches her boyfriend cheating with her stepsister. In a fit of impulse, she throws herself into the arms…",
"cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000030867/42000030867.jpg",
"url": "https://www.dramabox.com/drama/42000030867/My-Exs-Forbidden-Brother",
"episodes": 56,
"tags": [
"Billionaire",
"Revenge"
],
"genres": [
{
"id": 161,
"name": "Romance"
},
{
"id": 258,
"name": "Billionaire"
},
{
"id": 260,
"name": "Revenge"
}
],
"follows": 6515,
"language": "en",
"listed_at": "2026-10-16 10:00:03"
}
]
}
}
| Field | Filled in, of 43 checked | Values in the sample |
|---|---|---|
| number | 43 | 1 to 43, median 22 |
| id | 43 | |
| free | 43 | true in 8 of 43 |
| duration_ms | 43 | 61,534 to 144,435, median 96,435 |
| updated_at | 43 | 2026-10-26 |
| thumbnail_url | 43 | thwztvideo.dramaboxdb.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Title id (digits) from any DramaBox list, or a dramabox.com drama URL | 42000028173 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/dramabox/drama?id=42000028173" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"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",
"language": "en",
"episode_count": 43,
"views": 86603866,
"follows": 3361355,
"tags": [
"Billionaire",
"Forbidden Love"
],
"genres": [
{
"id": 258,
"name": "Billionaire"
},
{
"id": 583,
"name": "Forbidden Love"
},
{
"id": 265,
"name": "Concealed Identity"
}
],
"listed_at": "2026-09-22 10:00:04",
"updated_at": "2026-09-27 16:42:18",
"available_languages": [
"en"
],
"episodes": [
{
"number": 1,
"id": "701673570",
"free": true,
"duration_ms": 102451,
"updated_at": "2026-10-20",
"thumbnail_url": "https://thwztvideo.dramaboxdb.com/07/3x7/37x1/371x8/37182000024/701673570_3/701673570.mp4.jpg"
},
{
"number": 2,
"id": "701673571",
"free": true,
"duration_ms": 82526,
"updated_at": "2026-10-20",
"thumbnail_url": "https://thwztvideo.dramaboxdb.com/17/3x7/37x1/371x8/37182000024/701673571_2/701673571.mp4.jpg"
},
{
"number": 3,
"id": "701673572",
"free": true,
"duration_ms": 99593,
"updated_at": "2026-10-20",
"thumbnail_url": "https://thwztvideo.dramaboxdb.com/27/3x7/37x1/371x8/37182000024/701673572_2/701673572.mp4.jpg"
}
],
"related": [
{
"id": "42000031399",
"title": "She Saves His Empire, Then Goes Shopping",
"description": "Claire Walsh seems like Adrian Carter's spoiled shopper, swiping his black card on bags. Actually, she's a ret…",
"cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000031399/42000031399.jpg",
"url": "https://www.dramabox.com/drama/42000031399/She-Saves-His-Empire-Then-Goes-Shopping",
"episodes": 60,
"tags": [
"Comeback Story",
"Billionaire"
],
"genres": [
{
"id": 258,
"name": "Billionaire"
},
{
"id": 676,
"name": "Betrayal"
}
],
"follows": 368,
"language": "en",
"listed_at": "2026-10-21 15:45:12"
},
{
"id": "42000031669",
"title": "She Fired Her Own Future",
"description": "Claire Clark and her husband Gavin Stone built an empire but work undercover as cleaners in their own plaza. A…",
"cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000031669/42000031669.jpg",
"url": "https://www.dramabox.com/drama/42000031669/She-Fired-Her-Own-Future",
"episodes": 40,
"tags": [
"Family Bonds",
"Billionaire"
],
"genres": [
{
"id": 498,
"name": "Family"
},
{
"id": 258,
"name": "Billionaire"
}
],
"follows": 421,
"language": "en",
"listed_at": "2026-10-23 13:35:15"
},
{
"id": "42000030867",
"title": "My Ex's Forbidden Brother",
"description": "Maya catches her boyfriend cheating with her stepsister. In a fit of impulse, she throws herself into the arms…",
"cover_url": "https://thwztchapter.dramaboxdb.com/data/cppartner/4x2/42x0/420x0/42000030867/42000030867.jpg",
"url": "https://www.dramabox.com/drama/42000030867/My-Exs-Forbidden-Brother",
"episodes": 56,
"tags": [
"Billionaire",
"Revenge"
],
"genres": [
{
"id": 161,
"name": "Romance"
},
{
"id": 258,
"name": "Billionaire"
},
{
"id": 260,
"name": "Revenge"
}
],
"follows": 6515,
"language": "en",
"listed_at": "2026-10-16 10:00:03"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/dramabox.dramaResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | dramabox.DramaResponse | No | ||||
| data.available_languages | array | No | ||||
| data.cover_url | string | No | ||||
| data.description | string | No | ||||
| data.episode_count | integer | No | ||||
| data.episodes | array | No | ||||
| data.episodes[].duration_ms | integer | No | ||||
| data.episodes[].free | boolean | No | Free is true for episodes the site unlocks without payment. | |||
| data.episodes[].id | string | No | ||||
| data.episodes[].number | integer | No | Number is the 1-based episode number. | |||
| data.episodes[].thumbnail_url | string | No | ||||
| data.episodes[].updated_at | string | No | ||||
| data.follows | integer | No | ||||
| data.genres | array | No | ||||
| data.genres[].id | integer | No | ||||
| data.genres[].name | string | No | ||||
| data.id | string | No | ||||
| data.language | string | No | ||||
| data.listed_at | string | No | ||||
| data.related | array | No | Book record, 16 fields: cover_url, description, episodes, follows, genres, id, language, listed_at, rating, status, tags, title and 2 more. Described under DramaBox Home Shelves API. | |||
| data.tags | array | No | ||||
| data.title | string | No | ||||
| data.updated_at | string | No | ||||
| data.url | string | No | ||||
| data.views | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/drama?id=42000028173" \
-H "x-api-key: $CRAWLORA_API_KEY"