PineDrama Drama Details & Episodes Scraper
Pricing
from $2.00 / 1,000 successful collection ids
PineDrama Drama Details & Episodes Scraper
Extract PineDrama short-drama metadata, episode lists, creator IDs, and first-episode IDs in bulk.
Pricing
from $2.00 / 1,000 successful collection ids
Rating
0.0
(0)
Developer
NewLai
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does PineDrama Drama Detail do?
PineDrama Drama Detail exposes the PineDrama Spider business operation GET /api/v1/dramas/{collection_id} as an independently deployable Apify Actor. It calls PineDrama directly and does not require a running Spider API server. The normalized response fields match the local Spider implementation, with success and error added to every dataset record.
Why use this PineDrama Actor?
Use this operation to build a short-drama catalog, inspect episode metadata, or connect the relevant results to your own data pipeline. Apify provides API access, scheduling, integrations, proxy configuration and run monitoring. Batch processing preserves input order, removes exact duplicate requests and limits concurrency. Failed requests produce individual error records, so a single unavailable item does not discard successful results from the same run.
Explore more PineDrama Actors
| Actor | Use it for |
|---|---|
| PineDrama Search Scraper | Find short dramas and collection IDs by keyword. |
| PineDrama Episodes Scraper | Extract complete episode lists and video IDs. |
| PineDrama Video URL Scraper | Resolve playable URLs and playback metadata for episodes. |
| PineDrama Recommendations Scraper | Find similar short dramas for collection IDs. |
How to run
- Configure the environment using
.env.exampleor the existing Apify secrets. - Supply one request using the example below, or provide a batch through
collection_ids. - Run
apify run --input-file examples/input.jsonlocally, or run the deployed Actor from the Apify Console. - Inspect the default dataset and the final run status message.
Local execution requires Python 3.11 or later and dependencies from requirements.txt. Each Actor directory includes its own runtime and Dockerfile; it can be deployed with apify push from this directory.
Input
See the Input tab for all fields. Use either the single-request fields or the batch field, never both. IDs must be decimal strings with 1–20 digits to preserve 64-bit precision. Batches accept up to 1,000 entries. A search keyword must contain 1–100 nonblank characters. Search accepts max_pages (default 1, range 1–1000); each upstream page requests a fixed 20 results. Each keyword starts at cursor 0 and automatically follows the returned cursor until the page limit, no more results, or an empty page after retries. The cursor and count inputs are no longer accepted.
{"collection_id": "7675963864189735957"}
The example IDs illustrate the input format and are not a guarantee that the corresponding drama remains available. Obtain current IDs from the search and episode-list Actors.
Output
Every unique input produces one result row. Search merges pages into items, deduplicates by collection_id in first-seen order, and returns pages_fetched plus the final upstream cursor and has_more. A later-page failure or unusable continuation cursor marks the keyword failed while preserving collected items. Page retries do not count toward max_pages. Success rows contain the Spider response fields plus "success": true and "error": null. Failure rows contain the request fields, "success": false and a sanitized error message. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Nested episode, recommendation and playback arrays are best preserved in JSON.
| Field | Type | Meaning |
|---|---|---|
| success | boolean | Whether this operation succeeded |
| error | string or null | Failure description |
| collection_id / video_id | string | Precision-safe identifiers where applicable |
| items / episodes / variants | array | Operation-specific nested results where applicable |
Example failure record:
{"collection_id": "7675963864189735957","success": false,"error": "PineDrama upstream request failed"}
Cost
This implementation does not configure paid events or call charging APIs. Platform runtime and proxy usage depend on the account plan and deployment settings. Smaller batches and fewer retries reduce resource usage; no fixed per-result price is promised.
Advanced configuration
Proxy and Upstash connection settings match the TikTok Actor: the same @upstashRedisRestUrl and @upstashRedisRestToken secrets, default residential Apify Proxy, custom HTTP(S) proxy precedence, country/group options, 5-second device cooldown, and bounded retries. The device pool is isolated with PINEDRAMA_DEVICE_POOL_KEY=pinedrama:device; TIKTOK_DEVICE_POOL_KEY is intentionally ignored. Other runtime switches retain their TIKTOK_ names for configuration compatibility. Upstash requests go directly to Redis REST and never through the scraping proxy.
The search and specified-episode playback Actors lease devices. Search leases a PineDrama identity for each page and sends only device_id and iid; anonymous search can incorrectly report has_more=false even when later pages exist. Populate pinedrama:device using the Spider registration script with --key pinedrama:device. The Actor does not register or remove devices. Empty search pages have separate bounded retries and remain successful empty results if still empty. Set TIKTOK_FAIL_ON_ERROR=true to mark a run failed after writing its available results.
FAQ and support
If search or playback reports that the pool is empty or cooling down, check PineDrama device registration and the pool key. If requests fail, inspect proxy availability and upstream access. CDN playback URLs expire; request fresh URLs before playback. This Actor resolves metadata and URLs and does not download video files. Use the data only where you have the necessary rights. Report reproducible issues with the input and sanitized run logs through the deployed Actor's Issues tab; use its API tab for programmatic execution.