PineDrama Drama Details & Episodes Scraper avatar

PineDrama Drama Details & Episodes Scraper

Pricing

from $2.00 / 1,000 successful collection ids

Go to Apify Store
PineDrama Drama Details & Episodes Scraper

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

NewLai

Maintained by Community

Actor 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

ActorUse it for
PineDrama Search ScraperFind short dramas and collection IDs by keyword.
PineDrama Episodes ScraperExtract complete episode lists and video IDs.
PineDrama Video URL ScraperResolve playable URLs and playback metadata for episodes.
PineDrama Recommendations ScraperFind similar short dramas for collection IDs.

How to run

  1. Configure the environment using .env.example or the existing Apify secrets.
  2. Supply one request using the example below, or provide a batch through collection_ids.
  3. Run apify run --input-file examples/input.json locally, or run the deployed Actor from the Apify Console.
  4. 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.

FieldTypeMeaning
successbooleanWhether this operation succeeded
errorstring or nullFailure description
collection_id / video_idstringPrecision-safe identifiers where applicable
items / episodes / variantsarrayOperation-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.