# Wattpad Story Scraper 📚 (`easyapi/wattpad-story-scraper`) Actor

Scrape stories from Wattpad search results with advanced filtering options. Extract comprehensive story details including title, description, stats, tags and more. Perfect for content analysis, market research and story discovery.

- **URL**: https://apify.com/easyapi/wattpad-story-scraper.md
- **Developed by:** [EasyApi](https://apify.com/easyapi) (community)
- **Categories:** Integrations, Other, Social media
- **Stats:** 88 total users, 2 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Wattpad Story Scraper 📚

Powerful scraper for extracting detailed story information from Wattpad search results. Get comprehensive data about stories, authors, engagement metrics and more!

### 🎯 Use Cases

- Content research and analysis
- Story discovery and monitoring
- Author performance tracking
- Genre and tag analysis
- Market research for writers and publishers
- Engagement metrics collection

### ✨ Features

- Search-based story extraction
- Detailed story metadata collection
- Engagement metrics (votes, reads, comments)
- Author information
- Story categorization and tagging
- Support for mature content filtering
- Customizable results limit
- Proxy support for reliable scraping

### 📊 Output Data

For each story, the scraper extracts:

- Story ID and URL
- Title and description
- Author information
- Publication status and dates
- Number of parts/chapters
- Engagement metrics (votes, reads, comments)
- Cover image URL
- Tags and categories
- Content rating (mature/non-mature)
- Story length
- Language information
- Paywall status

### 💡 Input Parameters

- `keywords`: List of search terms to scrape stories for
- `maxItems`: Maximum number of stories to collect (optional)
- `proxyConfiguration`: Proxy settings for reliable scraping (optional)

### 📌 Limitations

- Respects Wattpad's terms of service
- Rate limiting applied to prevent overloading
- Some premium content may not be accessible

#### Input Example

A full explanation of an input example in JSON.

```json
{
    "keywords": [
        "world"
    ],
    "maxItems": 30
}
```

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "keyword": "world",
        "id": "385788708",
        "title": "DANDYS WORLD SPROUT X COSMO LOLL",
        "description": "Warning: swearing, romance, and gayness",
        "user": {
            "name": "DANDYSWORLDXX"
        },
        "completed": false,
        "numParts": 16,
        "lastPublishedPart": {
            "createDate": "2025-02-14 19:51:58"
        },
        "voteCount": 59,
        "readCount": 10928,
        "commentCount": 315,
        "cover": "https://img.wattpad.com/cover/385788708-256-k562718.jpg",
        "mature": false,
        "url": "https://www.wattpad.com/story/385788708-dandys-world-sprout-x-cosmo-loll",
        "tags": [
            "dandysworld",
            "gay"
        ],
        "isPaywalled": false,
        "paidModel": null,
        "length": 19663,
        "language": 1,
        "tagMeta": {
            "tags": [
                "dandysworld",
                "gay"
            ],
            "storyId": "385788708",
            "numShown": 3
        },
        "reactName": "storyTags-385788708",
        "category": null,
        "rank": null
    },
    ...
]
```

### Related Actors

- 📚 [Substack Posts Scraper](https://apify.com/easyapi/substack-posts-scraper) - Extract comprehensive post data from Substack including titles, authors and publication details
- 📚 [Medium Posts Search Scraper](https://apify.com/easyapi/medium-posts-search-scraper) - Extract detailed article data from Medium's search results with rich metadata
- 📚 [Medium User Posts Scraper](https://apify.com/easyapi/medium-user-posts-scraper) - Extract detailed post data from Medium user profiles with engagement metrics
- 📚 [Goodreads Book Scraper](https://apify.com/easyapi/goodreads-book-scraper) - Extract comprehensive book data from Goodreads search results
- 📚 [Goodreads Review Scraper](https://apify.com/easyapi/goodreads-review-scraper) - Extract detailed book reviews with ratings and user information
- 📝 [Article Content Extractor](https://apify.com/easyapi/article-content-extractor) - Extract clean article content and metadata from any web page
- 🔍 [Reddit Posts Search Scraper](https://apify.com/easyapi/reddit-posts-search-scraper) - Extract Reddit posts from search results with rich metadata
- 🔍 [Reddit Comments Search Scraper](https://apify.com/easyapi/reddit-comments-search-scraper) - Search and extract Reddit comments with advanced filtering options
- 📱 [Tumblr Posts Scraper](https://apify.com/easyapi/tumblr-posts-scraper) - Scrape Tumblr blog posts with media content and engagement metrics
- 🔍 [Tumblr Tags Scraper](https://apify.com/easyapi/tumblr-tags-scraper) - Extract comprehensive Tumblr tag data including trending posts
- 📚 [Substack Publications Scraper](https://apify.com/easyapi/substack-publications-scraper) - Get detailed publication information from Substack
- 🔍 [Gab Posts Scraper](https://apify.com/easyapi/gab-posts-scraper) - Extract and analyze posts from Gab.com by keywords
- 📚 [Medium Publications Search Scraper](https://apify.com/easyapi/medium-publications-search-scraper) - Scrape Medium publications data by keywords
- 🔍 [Substack Notes Scraper](https://apify.com/easyapi/substack-notes-scraper) - Extract notes and comments from Substack's search results
- 📚 [arXiv Search Scraper](https://apify.com/easyapi/arxiv-search-scraper) - Extract comprehensive research paper data from arXiv search results

# Actor input Schema

## `keywords` (type: `array`):

List of keywords to search for stories

## `maxItems` (type: `integer`):

Maximum number of stories to scrape (default: 100)

## `proxyConfiguration` (type: `object`):

Proxy settings for the scraper

## Actor input object example

```json
{
  "keywords": [
    "world"
  ],
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("easyapi/wattpad-story-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("easyapi/wattpad-story-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call easyapi/wattpad-story-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,easyapi/wattpad-story-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GafRtEz6v9iZyTCLL/builds/xie3csQ9iWyIHObRW/openapi.json
