Wattpad API endpoint
Returns a Wattpad story's chapter list, in reading order: id, title, link, word count, reads, votes, comments, length, and created and modified dates for every chapter. The per-chapter reads show where readers drop off. Use it to see how a story is paced and which chapters readers react to. story_id is the numeric story id, or its wattpad.com link. Chapter text is never returned.
/wattpad/story-partsNotable response behavior:
id, title, url, word_count, reads, votes, comments, length and its created and modified dates. reads per chapter gives a reader-retention curve across the story.total is the story's chapter count as Wattpad reports it; draft chapters are never listed.404; a malformed story_id returns 400.Example response (long values and lists shortened):
{
"code": 200,
"msg": "OK",
"data": {
"story_id": "344352588",
"title": "Lose You To Love Me (Mafia Romance-Complete)",
"total": 82,
"parts": [
{
"id": "1353317758",
"title": "CHAPTER 0",
"url": "https://www.wattpad.com/1353317758-lose-you-to-love-me-mafia-romance-complete-chapter",
"word_count": 1923,
"reads": 139834,
"votes": 1558,
"comments": 540,
"length": 9613,
"draft": false,
"created_at": "2023-06-16T20:49:32Z",
"modified_at": "2024-07-20T09:43:51Z"
},
{
"id": "1353318446",
"title": "CHAPTER 1",
"url": "https://www.wattpad.com/1353318446-lose-you-to-love-me-mafia-romance-complete-chapter",
"word_count": 1867,
"reads": 68686,
"votes": 1096,
"comments": 148,
"length": 9332,
"draft": false,
"created_at": "2023-06-16T20:50:37Z",
"modified_at": "2023-06-18T12:40:20Z"
},
{
"id": "1353318810",
"title": "CHAPTER 2",
"url": "https://www.wattpad.com/1353318810-lose-you-to-love-me-mafia-romance-complete-chapter",
"word_count": 2671,
"reads": 57036,
"votes": 975,
"comments": 162,
"length": 13353,
"draft": false,
"created_at": "2023-06-16T20:53:47Z",
"modified_at": "2023-06-16T20:53:47Z"
}
]
}
}
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| story_id | string | Yes | Numeric Wattpad story id, such as 344352588; a wattpad.com/story link is also accepted | 344352588 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wattpad/story-parts?story_id=344352588" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"story_id": "344352588",
"title": "Lose You To Love Me (Mafia Romance-Complete)",
"total": 82,
"parts": [
{
"id": "1353317758",
"title": "CHAPTER 0",
"url": "https://www.wattpad.com/1353317758-lose-you-to-love-me-mafia-romance-complete-chapter",
"word_count": 1923,
"reads": 139834,
"votes": 1558,
"comments": 540,
"length": 9613,
"draft": false,
"created_at": "2023-06-16T20:49:32Z",
"modified_at": "2024-07-20T09:43:51Z"
},
{
"id": "1353318446",
"title": "CHAPTER 1",
"url": "https://www.wattpad.com/1353318446-lose-you-to-love-me-mafia-romance-complete-chapter",
"word_count": 1867,
"reads": 68686,
"votes": 1096,
"comments": 148,
"length": 9332,
"draft": false,
"created_at": "2023-06-16T20:50:37Z",
"modified_at": "2023-06-18T12:40:20Z"
},
{
"id": "1353318810",
"title": "CHAPTER 2",
"url": "https://www.wattpad.com/1353318810-lose-you-to-love-me-mafia-romance-complete-chapter",
"word_count": 2671,
"reads": 57036,
"votes": 975,
"comments": 162,
"length": 13353,
"draft": false,
"created_at": "2023-06-16T20:53:47Z",
"modified_at": "2023-06-16T20:53:47Z"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/wattpad.storyPartsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | wattpad.StoryPartsResponse | No | ||||
| data.parts | array | No | ||||
| data.parts[].comments | integer | No | ||||
| data.parts[].created_at | string | No | ||||
| data.parts[].draft | boolean | No | ||||
| data.parts[].id | string | No | ||||
| data.parts[].length | integer | No | ||||
| data.parts[].modified_at | string | No | ||||
| data.parts[].reads | integer | No | ||||
| data.parts[].title | string | No | ||||
| data.parts[].url | string | No | ||||
| data.parts[].votes | integer | No | ||||
| data.parts[].word_count | integer | No | ||||
| data.story_id | string | No | ||||
| data.title | string | No | ||||
| data.total | 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/wattpad/story-parts?story_id=344352588" \
-H "x-api-key: $CRAWLORA_API_KEY"