API access

Run the same quoted tasks through the API using your account balance.

Create a key

Open API keys, give a key a recognizable name and copy its secret once. Store it on a trusted server. The application stores its hash and cannot display the secret again. Revoke a key you no longer use. Keys cannot manage account authentication or create other keys.

Each key allows 600 requests per minute. The account can keep up to 20 active keys. Website and API execution use the same owner, task history and credits.

Discover coverage

GET /api/v1/toolkit/capabilities lists platform and operation availability, supported inputs and the configured delivery unit. Select an available operation before requesting an estimate. A missing configuration is not an empty successful result.

Estimate and start

POST /api/v1/toolkit/quotes
Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/json

{"tool":"search","platform":"reelshort","query":"mafia","limit":3}

The response envelope contains data and requestId. Read the returned maximum credits, input scope and expiry. The estimate does not start a paid source task.

POST /api/v1/toolkit/tasks
Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/json
Idempotency-Key: a-unique-client-request

{"quoteId":"THE_RETURNED_QUOTE_ID"}

Reuse the same request key and quote if the start response is uncertain. A key cannot be reused with a different quote. The estimate is owner-bound and cannot start multiple tasks.

Retrieve results

Use GET /api/v1/toolkit/tasks/TASK_ID to read state, records, files and actual charges. POST /api/v1/toolkit/tasks/TASK_ID/advance progresses only the task’s accepted plan: it may check an existing source reference or start the next admitted step. Repeated calls do not duplicate recorded starts; uncertain starts stop for reconciliation. Background processing can also progress accepted work.

Completed records can be exported from GET /api/v1/toolkit/tasks/TASK_ID/export?format=csv or format=json. The file links in the task require owner authorization independently. POST /api/v1/toolkit/tasks/TASK_ID/cancel attempts cancellation before settlement.

Inspect error.code, its message and requestId on failures. Never put a secret in a URL, public page or support log. Source credentials, private storage addresses and internal execution identifiers are not part of this API.

Actor profiles and episode comments

Discover currently available inputs through the capabilities endpoint. A supported actor profile request uses an original collection link:

{"tool":"actors","platform":"reelshort","urls":["https://www.reelshort.com/tags/movie-actresses/brittany-pirozzoli-movies-676d210a4582b53a1408189a"],"limit":20}

The quoted unit is one actor profile report. JSON retains the profile and its listed credits; CSV expands listed works into rows. Missing biography and partial page coverage remain explicit. The collection does not establish a complete career filmography.

A supported single-episode public-comment report uses the original episode reference:

{"tool":"comments","platform":"kuku","ids":["episode:1688568"],"limit":10}

The server first verifies the episode and its short-drama parent. One task, estimate and settlement cover the report; internal checks do not become customer result rows. A usable sample can contain fewer than ten comments. No usable comments or failed verification means no charge. Its CSV contains the delivered comments, not internal source responses.

Declared input limits

Read the selected platform/tool capability before quoting. options.maxLimit is the maximum requested output limit (100 when omitted); defaultLimit supplies the initial form value, and maxSources, when present, restricts original links or IDs in one request. The transport safety maximum is 1,000, but it does not enable that limit for every tool. Unsupported inputs are rejected before a task or reservation. A report price may cover full acquisition even when fewer rows are displayed; always use the returned quote’s unit and explanation.

A verified category request uses the platform's published category name or ID:

{"tool":"search","platform":"netshort","category":"Werewolf","limit":3}

This input returns a bounded English category sample. Keyword availability is separate; consult the input modes in capabilities. Keep the original title reference when selecting a candidate for collect. Selecting a candidate requests an estimate; enrichment requires its own explicit action.

Batch enrichment groups accepted aliases of the same native title request before acquisition and quoting. For example, a verified movie page and its official share page can represent one title. Different native IDs stay separate even when titles look similar. The accepted task retains the original references.

Saved exports and multi-file downloads

The website's result section lets you change CSV/JSON and, for a collected list, its columns. These choices project the saved result; they do not collect again or create a new estimate, task or charge. API callers choose the projection with the existing export?format=json&fields=title,episodeCount endpoint.

A completed multi-file download also returns archive.name and archive.downloadUrl. That owner-authorized URL exports all of the task's verified private MP4 files as one ordered ZIP. The archive is not another billable file. Re-exporting the same saved task starts no source work and adds no charge. The archive rejects the whole export if any member has expired or is unavailable; no successful subset is offered. For individual MP4 byte ranges, use that file's downloadUrl instead of the ZIP URL.

Localized title metadata and saved language versions

English and French NetShort viewing links can return published catalog metadata, including a native group reference when reported. Native-ID metadata can have a narrower public-viewing-window scope. Episode access is separate. GoodShort collection currently accepts original English drama links; raw counters, display values and the first episode's publication date retain separate meanings.

For a completed NetShort result, GET /api/v1/toolkit/tasks/TASK_ID/versions compares matching saved observations owned by your account. Distinct title IDs and catalog locales remain separate entries. A shared platform-reported group links them; a list of available languages alone creates no edition IDs and does not verify audio or subtitles.

versions?format=csv downloads one row per observed edition; format=json retains the grouped report and coverage. Both exports preserve original links, source times and saved-task references. These reads create no estimate, source task or charge. The report describes saved observations and its stated bounds, not complete current platform coverage.

The result's export settings include actual public fields returned for that title. Changing the projection does not acquire data again. Keep native ID columns as text when importing CSV into spreadsheet software; JSON preserves their string type.

Editorial snapshots and publication checks

These examples use the same estimate and task endpoints above. Read the current capabilities and estimate before execution:

{"tool":"rankings","platform":"shortmax","limit":3}

The estimate is for one bounded editorial snapshot. Each result preserves its named rail and supplied position; fewer displayed rows do not lower the snapshot fee.

{"tool":"releases","platform":"netshort","category":"Werewolf","date":"2026-10-28","limit":3}

Category is required and at most three titles are checked. date is the inclusive UTC start for platform-reported publication timestamps; omitting it uses the last seven UTC dates when estimating. All verified checks remain in the result and export, even if no dates match. The estimate counts checked titles rather than matches. Capabilities advertise releaseDate and maxLimit so clients can show the correct inputs.

{"tool":"episodes","platform":"vigloo","urls":["https://www.vigloo.com/en/content/15003821"],"limit":100}

This estimates one bounded US/en program episode report. limit controls displayed rows, while the report fee covers acquisition. Results can be partial. Native episode IDs, seasons, reported free status and platform coin prices remain distinct from account locks or verified video access. Cached results and saved exports are free; cash checkout availability is separate.

Native-ID metadata

{"tool":"collect","platform":"kuku","ids":["278315"],"limit":1}

Use native show IDs for this metadata mode; do not mix a keyword, category or original URL. Each distinct verified show is a title unit. This does not acquire an episode directory. Reported count fields and listens retain their platform meanings. Follow the capability's inputs instead of assuming every platform accepts the same input modes.

Result synopsis disclosures and column/format choices read saved facts. Expanding text or downloading another saved export starts no new acquisition. New comparisons, updates and candidate-search actions appear only for available capabilities. Existing saved updates can still be inspected and stopped while their source is unavailable; a failed settings read offers recovery rather than claiming no plans exist.