GoodShort Scraper — Catalog, Views, Followers, Genres & Tags avatar

GoodShort Scraper — Catalog, Views, Followers, Genres & Tags

Pricing

from $2.00 / 1,000 results

Go to Apify Store
GoodShort Scraper — Catalog, Views, Followers, Genres & Tags

GoodShort Scraper — Catalog, Views, Followers, Genres & Tags

Scrape the GoodShort short-drama catalog: titles, genres & tags, episode counts, exact view and follower counts, synopses and covers. SSR-JSON based (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

4

Total users

3

Monthly active users

13 days ago

Last modified

Categories

Share

Scrape the GoodShort vertical short-drama catalog without the app: title metadata, genres and trope tags, episode counts, exact view counts, follower counts, synopses and covers — structured, ready for analysis. API-first (reads the site's own server-rendered JSON, no browser), so runs are fast, cheap, and reliable. Export as JSON, CSV, Excel, or XML, or pull straight through the Apify API into your app, agent, notebook, or spreadsheet.

This is the missing GoodShort API / GoodShort data source: the short-drama category has had essentially zero structured-data coverage, and GoodShort has had none at all. If you're a studio, licensor, 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. Empty, invalid, and failed pages are never stored and never charged.

What it scrapes

FieldDescription
id / title / urlGoodShort title ID, name, and canonical URL
viewsExact integer view count — not a rounded "37.9M" string
viewsDisplay / viewsDisplayParsedGoodShort's own on-site display figure, kept separately (see the FAQ — it is not a rounding of views)
followsFollower count (the site's "Followers" number)
episodesNumber of episodes
genres / tagsGenre names plus the full trope tag list (Second Chance, Misunderstanding, Cute Kids, …)
descriptionFull synopsis
coverCover image URL
studioStudio/uploader handle
statusCompleted / ongoing
praiseCount / ratingPlatform-reported engagement signals
releaseDate / lastUpdatedAtFirst-episode publish time and last update, ISO-8601
sourceSurfaceWhich GoodShort surface the title was found on — rail, channel, category, tag, or search

Modes

  • Trending (default) — the homepage rails and every curated channel (Most Trending, Top in GoodShort, Hot List, Love Stories, Counterattack, Cutie, ENG Dubbed Dramas, Popular Now). ~90 editorially-picked titles in ~9 requests. This is the mode you want for a trends leaderboard.
  • By category — scrapes the genres you pick (Romance, Fantasy, Urban, Ancient, LGBTQIA+, Thriller, Action, Superpower, Suspense, Sci-Fi, or All).
  • Full catalog — all 11 genres, then a sweep of GoodShort's tag listings. Tag listings overlap the genre catalog by only ~2%, so this is the only mode that reaches real scale. Bounded by Max tags to sweep.
  • Specific URLs — scrape exactly the GoodShort URLs you provide (title pages, category listings, tag listings, the tag index, or channels).
  • Search by keyword — resolve a title you already know by name.

How many titles can I actually get?

Worth knowing before you run, because it's a property of GoodShort, not of this Actor: every browse listing is hard-capped at 96 unique titles, and the union of all 11 genres is only ~437 titles. Measured yields:

ModeRealistic unique titles
Trending~90
By category (one genre)up to 96 — Action, Thriller, Superpower, Suspense and Sci-Fi hold under 10 each
By category (all 11)~437
Full catalog (with tag sweep)thousands — scales with Max tags to sweep
Searchmax 3 per keyword (GoodShort's search endpoint is an autocomplete and does not paginate)

Input example

{
"mode": "fullCatalog",
"maxItems": 1000,
"maxTagsToCrawl": 50,
"enrichFromDetailPage": true
}

Output example

{
"platform": "goodshort",
"id": "31001113972",
"title": "Blood and Bones of the Disowned Daughter",
"url": "https://www.goodshort.com/drama/blood-and-bones-of-the-disowned-daughter-31001113972",
"views": 12138292,
"viewsDisplay": "37.9M",
"viewsDisplayParsed": 37900000,
"follows": 6255505,
"episodes": 64,
"genres": ["Romance"],
"tags": ["Family", "Heiress", "Regret"],
"releaseDate": "2025-09-05T12:30:49.000Z",
"cast": [],
"cover": "https://acf.goodshort.com/videobook/202509/cover-e98.jpg",
"description": "Natalie was once the Parson family's cherished daughter…",
"studio": "GINA",
"status": "Completed",
"praiseCount": 307747,
"language": "ENGLISH",
"sourceSurface": "category:playlets",
"scrapedAt": "2026-08-21T21:18:09.310Z"
}

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 — track which tropes and titles are charting to inform what to greenlight.
  • Licensors & distributors — catalog intelligence across the fast-growing short-drama market.
  • Market & trend analysts — engagement signals (views, followers, praise) per title, genre, tag, and release date.
  • Competitive researchers — GoodShort alongside DramaBox and ReelShort, in one shared shape.

How it works

GoodShort is a Vue server-rendered site that ships its entire page state as a JSON blob inside the HTML. The Actor reads that JSON directly with Crawlee — no headless browser to render or break, which is why runs are fast and cheap. It scrapes only public catalog metadata: no video assets or stream URLs, no user data, and it never touches GoodShort's payment or account endpoints. Paths disallowed by GoodShort's robots.txt are skipped, and the live robots.txt is logged at the start of every run.

If GoodShort ever changes its page structure, set Extraction mode to JSON-LD + DOM fallback — a second extraction path that reads schema.org markup and page selectors instead. It loses tags, follower counts and the exact integer view count, but keeps the run producing data.

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 GoodShort API? Not a public one. This Actor is the practical, available-today way to get structured GoodShort data.

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

Why are views and viewsDisplay different numbers? Because GoodShort reports them differently, and we won't quietly pick one for you. The site's raw viewCount for one title reads 12,138,292 while the figure printed on the page reads 37.9M — consistently ~3.1× higher, and it drifts upward between page loads. views is the raw integer and is what you want for ranking; viewsDisplay is what a visitor sees. Both are in every record.

Why is cast always empty? GoodShort publishes no cast data anywhere — not in its JSON-LD, not in the page, not in its internal APIs. The field is kept for schema compatibility with sibling short-drama Actors rather than dropped. The studio field holds GoodShort's uploader handle, which is not a cast credit.

Why is follows sometimes null? GoodShort's homepage and channel payloads omit the follower count. Leave Fetch each title's detail page on and it's filled in for every record; with it off, rail-sourced titles keep follows: null rather than a misleading 0.

How accurate is releaseDate? GoodShort has no true release-date field. This is the first episode's publish time, which is the closest available proxy — most titles publish all episodes in one batch.

Is scraping this legal? The Actor extracts publicly available catalog metadata. As always, consult your own counsel for your specific use case.