NetShort Scraper — Catalog, Genres, Episodes, Follows & Likes avatar

NetShort Scraper — Catalog, Genres, Episodes, Follows & Likes

Under maintenance

Pricing

from $2.00 / 1,000 results

Go to Apify Store
NetShort Scraper — Catalog, Genres, Episodes, Follows & Likes

NetShort Scraper — Catalog, Genres, Episodes, Follows & Likes

Under maintenance

Scrape the NetShort short-drama catalog: series metadata, genres, synopses, episode counts, follow & like counts, release dates, 16 locales. Server-rendered HTML (no browser) — fast and cheap.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

SignalBench

SignalBench

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

13 days ago

Last modified

Categories

Share

Scrape the NetShort vertical short-drama catalog without the app: title metadata, genre labels, full synopses, episode counts, follow counts, like counts, release dates and 16-locale availability — structured, ready for analysis. Reads the site's own server-rendered payload (no browser), so runs are fast, cheap and reliable. Export as JSON, CSV, Excel or XML, or pull it straight through the Apify API into your app, agent, notebook or spreadsheet.

This is the missing NetShort API / NetShort data source. NetShort (NETSTORY PTE. LTD.) publishes roughly 51,000 English series and there has been no structured-data coverage of it at all. If you're a studio, licensor, casting researcher or analyst asking "what's charting and what should we greenlight next?" — this is your dataset.

No per-datapoint games, never charged for failures. Flat $2 per 1,000 titles ($0.002 each), billed only per title actually stored. Delisted, invalid and failed pages are never stored, so they are never charged.

What it scrapes

FieldDescription
id / titleSeries ID (19-digit, kept as a string) and title, with (Dubbed) split out into isDubbed
descriptionFull synopsis — the real one, not the truncated SEO meta text
genres / genreIds / tagsLabel names plus their stable IDs (Contract Lovers, Tragic Love, Werewolf, …)
follows / likesPlatform-reported follow ("chase") and like counts, parsed to integers, with the verbatim followsDisplay / likesDisplay strings alongside
episodesNumber of episodes (plus the full per-episode list, optionally)
releaseDateSeries release date, ISO-8601
language / availableLanguagesThis record's locale, and every locale the series ships in — a strong signal of how hard a title is being pushed internationally
libraryIdGroups dub and locale variants of the same underlying production
cover / url / fullEpisodesUrlCover image and canonical URLs

Two fields NetShort does not publish

Read this before you wire the output into a cross-platform comparison:

  • views is always null. NetShort exposes no view count anywhere on its public web catalog — only follows and likes. The field is present so records line up with view-carrying platforms, but a synthetic number derived from follows would be indistinguishable from real data downstream, so we don't invent one. Rank NetShort titles by follows.
  • cast is always []. NetShort publishes no actor or cast data on the web.

Also worth knowing: freshly published titles appear to carry a display floor around 2.0K follows/likes, so treat the first few days of a title's engagement numbers as noise rather than signal.

Modes

  • Full catalog (all genres) — walks every genre on NetShort. Set Max results to cap size and cost. Turn on Exhaustive to seed from NetShort's sitemaps instead, which also reaches titles carrying no genre label.
  • By genre — scrapes only the genres you list, by name (Revenge, Sweet Romance, Werewolf, Contract Lovers, …) or by raw label ID. Names are resolved live: first against NetShort's genre grid, then against its full tag sitemap, so genres missing from the on-site grid still work.
  • Specific URLs — scrape exactly the URLs you provide. /episode/, /full-episodes/, an -ep-N watch URL and /drama/ listing URLs are all accepted and normalized for you.

All three work in any of 16 locales (en_US, es_ES, pt_PT, fr_FR, de_DE, it_IT, tr_TR, ar_AE, id_ID, ms_MY, th_TH, vi_VN, ja_JP, ko_KR, zh_CN, zh_TW). Each locale is a separate catalog with its own series IDs, titles and genre labels.

Input example

{
"mode": "byGenre",
"genres": ["Revenge", "Sweet Romance"],
"maxItems": 500,
"language": "en_US"
}

Output example

{
"platform": "netshort",
"id": "1808055875428081665",
"title": "Right Beside Me",
"url": "https://netshort.com/episode/right-beside-me-1808055875428081665",
"views": null,
"follows": 143100,
"followsDisplay": "143.1K",
"likes": 27000,
"likesDisplay": "27.0K",
"episodes": 68,
"genres": ["Contract Lovers", "Tragic Love", "Love After Marriage"],
"genreIds": ["1983832091939561474", "1983832091947950083", "1983832091075534850"],
"releaseDate": "2024-12-20T12:00:00.000Z",
"cast": [],
"description": "Eddie and Jenny grew up together in an orphanage. Years later, fate brought them back as Edison, a wealthy CEO, and Sydney, his wife from a powerful adoptive family...",
"language": "en_US",
"availableLanguages": ["en_US", "es_ES", "pt_PT", "fr_FR", "de_DE", "it_IT", "tr_TR", "ar_AE", "id_ID", "ms_MY", "th_TH", "vi_VN", "ja_JP", "ko_KR", "zh_CN", "zh_TW"],
"libraryId": "1894647721228726273",
"isDelisted": false,
"extractionMethod": "flight",
"scrapedAt": "2026-08-21T18:04:00.000Z"
}

Export the dataset as CSV, Excel, JSON or XML from the Apify Console, or fetch it via the Apify API / SDK.

Who uses this

  • Vertical-drama studios & producers — see which tropes and titles are pulling follows before deciding what to greenlight.
  • Licensors & distributors — catalog intelligence across a market with almost no public data.
  • Localization & international teamsavailableLanguages and libraryId show exactly which titles NetShort is pushing into which markets.
  • Market & trend analysts — engagement per title, genre and release date.

How it works

NetShort is a Next.js App Router site that server-renders every page, so a cookie-less request with no JavaScript already contains the complete series object. The Actor reads that payload directly with a browser-grade HTTP fingerprint (via Crawlee) — no headless browser to render or break, which is why runs are fast and cheap. Genre listings paginate server-side, so pagination is computed rather than clicked.

It scrapes only public catalog metadata — no video assets, no user data, no account endpoints. It also never touches NetShort's internal JSON API, which the site's robots.txt disallows; the public HTML returns the same data.

Every record carries an extractionMethod field. "flight" is the full-fidelity path; "jsonld" means the Actor fell back to the page's structured-data block (title, genres and episode count survive; follow and like counts do not). It is there so a silent degradation is visible in your data rather than hidden.

Use it from n8n, Zapier, Make, MCP and LangChain

Every Apify Actor is exposed via API and through Apify's integrations:

  • n8n / Zapier / Make — run on a schedule and pipe title data into sheets, dashboards or alerts.
  • MCP / LangChain — give an AI agent live short-drama catalog data as a tool.
  • Apify API & SDK — call it from your backend, then export CSV/JSON.

FAQ

Is there a NetShort API? Not a public one. This Actor is the practical, available-today way to get structured NetShort data.

How much does it cost? $0.002 per stored title — $2 per 1,000. You're never charged for failed, delisted or invalid pages. The free Apify plan's $5 monthly credit covers ~2,500 titles.

Why is views null? NetShort doesn't publish view counts on the web at all. Use follows. See the section above.

Are the follow and like counts exact? They're NetShort's own reported figures, rendered abbreviated (143.1K), so the parsed integer carries the platform's rounding — 143.1K is somewhere in 143,050–143,149. The verbatim string is kept in followsDisplay / likesDisplay.

Why are genres and tags identical? NetShort runs a single label taxonomy and doesn't distinguish the two. Both fields are populated so records merge cleanly with platforms that do.

Is scraping this legal? The Actor extracts publicly available catalog metadata and honours NetShort's robots.txt. As always, consult your own counsel for your specific use case.

Development

npm install
npm test # builds, then runs the extraction tests against saved page fixtures
npm run start:dev # local run; put input in storage/key_value_stores/default/INPUT.json