ReelShort API avatar

ReelShort API

Pricing

Pay per usage

Go to Apify Store
ReelShort API

ReelShort API

ReelShort-only Apify Actor wrapping the ReelShort API. Pull catalog, search, detail, episode lists and per-language feeds from ReelShort with a single, cursor-paginated interface. Built for streaming sites, content aggregators and SEO pipelines.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

Ezvid.Net

Ezvid.Net

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

0

Monthly active users

8 days ago

Last modified

Share

ReelShort API Actor

A single-provider fork of ezvidnet/short-drama-api. Wraps the ReelShort API and exposes only the ReelShort endpoints behind a small, cursor-paginated interface.

The upstream actor supports 15 providers. This Actor is hard-coded to ReelShort — simpler input schema, smaller surface area, easier to publish as a free/cheap public Actor.

Endpoints

ActionUpstreamPaginationRequired input
homeGET /api/reelshort/homecursor
categoriesGET /api/reelshort/categoriescursor
latestGET /api/reelshort/latest?page=Npage-based
vipGET /api/reelshort/vipcursor
searchGET /api/reelshort/search?q=...cursorquery
detailGET /api/reelshort/detail/{id}cursorid
episodesGET /api/reelshort/episodes/{id}cursorid

All endpoints require an X-API-Key header.

Output

Each upstream record is enriched with a _meta block:

{
"id": "abc123",
"title": "Sample Drama",
"poster": "https://cdn.ezvid.net/posters/abc123.jpg",
"stream": "https://stream.ezvid.net/hls/abc123/master.m3u8",
"_meta": {
"provider": "reelshort",
"action": "home",
"page": 1,
"url": "https://api.ezvid.net/api/reelshort/home?limit=20",
"fetchedAt": "2026-08-21T07:40:01.123Z"
}
}

A run summary is also written to the OUTPUT key-value store with counts and timestamps.

Quick examples

1. Pull 50 latest home records

{ "action": "home", "limit": 50, "maxPages": 1 }

2. Search ReelShort for "revenge"

{ "action": "search", "query": "revenge", "limit": 20, "maxPages": 1 }

3. Detail for a specific drama

{ "action": "detail", "id": "abc123" }

4. Full episode list

{ "action": "episodes", "id": "abc123" }

5. Page-based latest feed (walk 5 pages)

{ "action": "latest", "page": 1, "maxPages": 5 }

6. VIP feed, Indonesian language

{ "action": "vip", "language": "id", "limit": 20, "maxPages": 3 }

Authentication

The Actor calls ReelShort's API with an X-API-Key header.

  • Bring your own key — paste your ReelShort key into the apiKey input.
  • Built-in key (pay-per-result) — leave apiKey blank and set EZVID_API_KEY in the Actor's Settings → Environment variables. When you publish on Apify Store, users without their own key can still run the Actor and the upstream cost comes out of your account.

Use the API key issued for the ReelShort API at https://api.ezvid.net/.

Input

FieldTypeDefaultNotes
actionenumhomeOne of: home, categories, latest, vip, search, detail, episodes
querystringRequired for search
idstringRequired for detail, episodes
languagestringOptional. See /api/reelshort/langs
categorystringOptional category scope
pageinteger1Starting page for latest
limitinteger20Page size, 1–100
maxPagesinteger1Pages to walk, 1–50
apiKeystringYour ReelShort key (overrides built-in)

Local development

Requirements: Node 20+, npm.

# Install
npm install
# Set your key
cp .env.example .env
# then edit .env and set EZVID_API_KEY
# Run with the bundled input fixture
npm start

The Actor reads input from storage/key_value_store/INPUT.json when run locally via the Apify CLI:

# Optional: install the Apify CLI and run with its local runtime
npx apify run

Deploying to Apify

# 1. Login (one-time)
npx apify login
# 2. Push — auto-creates the Actor on the platform using the name
# in .actor/actor.json ("reelshort-api")
npx apify push
# 3. In the Apify Console (https://console.apify.com):
# - Open "reelshort-api"
# - Settings → Environment variables → add EZVID_API_KEY=<your key>
# (skip if you want every run to bring its own key)
# - Publication → "Publish" → fill the public listing from this README

The CLI has no apify actors create command. apify push is the command that both creates the Actor (if it doesn't exist) and uploads the source.

Pricing (suggestion)

On Apify Store you can set pay-per-event pricing so users pay only for records they actually pull:

EventSuggested price
Actor start$0.001
Record returned$0.0005 – 0.002

The built-in key is billed to the Actor, not to the end user.

Limits & caveats

  • Upstream API may rate-limit. The Actor retries 429 / 5xx up to 3 times with exponential backoff. If you still hit a limit, lower maxPages or run in smaller batches.
  • The ReelShort API is not affiliated with the upstream drama providers — make sure your use case complies with their terms.
  • The Actor returns metadata + HLS URLs only; playback is the consumer's job.

Differences vs ezvidnet/short-drama-api

AreaUpstreamThis fork
Providers15 (dramawave, reelshort, …)1 (reelshort)
provider inputrequired enumdropped
ep / localeused by watch, source on other providersunused (no watch / source actions)
Built-in keyhard-coded master key for pay-per-resultempty by default — bring your own
Dependenciesapify onlyapify only

License

MIT.