Webnovel Book Scraper
Pricing
from $2.90 / 1,000 book results
Go to Apify Store
Webnovel Book Scraper
Collect public book metadata and bounded chapter-index metadata from Webnovel (起点国际).
Webnovel Book Scraper
Pricing
from $2.90 / 1,000 book results
Collect public book metadata and bounded chapter-index metadata from Webnovel (起点国际).
You can access the Webnovel Book Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.0", "x-build-id": "xeg0Vxo2LyXBdIs5u" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/research_master~webnovel-book-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-research_master-webnovel-book-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/research_master~webnovel-book-scraper/runs": { "post": { "operationId": "runs-sync-research_master-webnovel-book-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/research_master~webnovel-book-scraper/run-sync": { "post": { "operationId": "run-sync-research_master-webnovel-book-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "searchQueries": { "title": "Search queries", "type": "array", "description": "Keywords searched on Webnovel's public search pages. Results are deduplicated by canonical book URL.", "items": { "type": "string" }, "default": [] }, "startUrls": { "title": "Direct book URLs", "type": "array", "description": "Public Webnovel book-detail URLs. Use this for a deterministic bounded smoke test.", "items": { "type": "object", "properties": { "url": { "title": "Book URL", "type": "string", "description": "A public book-detail URL." } }, "required": [ "url" ] }, "default": [] }, "maxBooksPerQuery": { "title": "Maximum books per query", "minimum": 1, "maximum": 200, "type": "integer", "description": "Maximum accepted search results per keyword before cross-query deduplication.", "default": 20 }, "maxSearchPages": { "title": "Maximum search pages", "minimum": 1, "maximum": 20, "type": "integer", "description": "Hard cap on pages requested for each keyword.", "default": 3 }, "includeChapterList": { "title": "Include chapter list", "type": "boolean", "description": "Collect public chapter titles and URLs when exposed on the book page; no chapter text is fetched.", "default": false }, "maxChaptersPerBook": { "title": "Maximum chapters per book", "minimum": 1, "maximum": 1000, "type": "integer", "description": "Chapter-index cap when chapter collection is enabled.", "default": 100 }, "concurrency": { "title": "Browser concurrency", "minimum": 1, "maximum": 5, "type": "integer", "description": "Number of pages processed in parallel. Reduce this if a source returns challenges.", "default": 2 }, "requestDelayMs": { "title": "Delay before navigation (ms)", "minimum": 0, "maximum": 10000, "type": "integer", "description": "Politeness delay before each navigation.", "default": 500 }, "maxRequestRetries": { "title": "Maximum request attempts", "minimum": 1, "maximum": 5, "type": "integer", "description": "Total attempts for transient failures, including the first request.", "default": 2 }, "useApifyProxy": { "title": "Use Apify Proxy", "type": "boolean", "description": "Route browser requests through Apify Proxy. This does not bypass login or access controls.", "default": false }, "proxyCountry": { "title": "Proxy country", "type": "string", "description": "Optional ISO country code used with Apify Proxy, for example US or CN.", "default": "" } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Webnovel Book Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: