Douban Movie Scraper — Ratings, Reviews & Hot Lists avatar

Douban Movie Scraper — Ratings, Reviews & Hot Lists

Pricing

from $2.50 / 1,000 hot movie results

Go to Apify Store
Douban Movie Scraper — Ratings, Reviews & Hot Lists

Douban Movie Scraper — Ratings, Reviews & Hot Lists

Scrape Douban (豆瓣电影) into clean datasets — movie & TV ratings, cast and crew, long-form reviews, viewer comments with province geo, IMDb cross-IDs, and the live Recent Hot Movie & Hot TV trending lists. Six operations, one actor. No account or API key needed.

Pricing

from $2.50 / 1,000 hot movie results

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

Douban Movie Scraper — Ratings, Reviews & Hot Lists 🎬

SIÁN Agency Store Bilibili Scraper Xiaohongshu Scraper Taobao Tmall Scraper

🎉 The only Douban scraper that answers "what's hot right now" — pull live Hot Movie & Hot TV lists with zero seed IDs

Built for entertainment researchers, China-market analysts, and film data scientists who need ratings, reviews, and sentiment at scale


📋 Overview

Douban (豆瓣电影) is China's IMDb — the single most influential rating and review community for movies and TV in the Chinese-speaking world. This actor turns it into clean, structured datasets: ratings, cast and crew, long-form reviews, viewer comments, and the live trending lists — six operations in one tool, no account and no API key required.

Why analysts and researchers choose us:

  • Trending-first: Pull the live Recent Hot Movie and Recent Hot TV lists with ratings and posters — no seed ID needed. The only Douban actor that answers "what's hot on Douban today."
  • 🎯 IMDb cross-ID bridge: Every subject detail returns the IMDb ID alongside Douban ratings — join Chinese scores to Western film datasets for global reception studies.
  • 💬 Sentiment + geo at scale: Full long-form review bodies plus short viewer comments with rating labels and province-level geo — ready for sentiment and regional analysis.
  • 💰 Transparent pay-per-row pricing: Only charged for successful rows. Generous FREE tier to test before you scale.
  • 💎 Six scrapers in one: Discovery → deep-dive in a single actor — hot lists, subject detail, reviews, comments, and full review bodies.
  • No setup: No Douban account, no API key, no cookies. Pick an operation, hit run.

✨ Features

  • 🔥 Recent Hot Movie — live trending movie list (20 / page), ratings + posters, no seed ID required
  • 📺 Recent Hot TV — live trending TV-series list (20 / page), ratings + posters, no seed ID required
  • 🎬 Subject Detail — title, year, director, writer, cast, genre, region, language, release date, duration, rating, and IMDb ID for any movie or TV
  • 📝 Reviews — long-form reviews with rating label, upvotes/downvotes, reply counts, sortable by most popular or newest
  • 💬 Comments — short viewer comments with rating label, vote counts, and province-level location, sortable by most useful or newest
  • 🔎 Review Detail — the full body of any single review, plus forward and collect counts
  • 🌐 Clean structured output — curated camelCase fields plus raw upstream data, HTTPS-normalized image URLs
  • 📊 Per-operation table views — hot list, reviews, and comments each get a tailored dataset view

🎞️ Quick Start

Pick an operation, supply the ID it needs (or none, for the hot lists), and run. Each row from a hot list carries a subjectId you can drop straight into Subject Detail, Reviews, or Comments. Results land in a clean Apify dataset, exportable to JSON, CSV, or Excel.

curl -X POST https://api.apify.com/v2/acts/sian.agency~douban-movie-scraper/runs?token=YOUR_TOKEN \
-H 'Content-Type: application/json' \
-d '{"operation": "recentHotMovie", "maxPages": 1}'

🚀 Getting Started (3 Simple Steps)

Step 1: Pick an operation

Choose from Recent Hot Movie, Recent Hot TV, Subject Detail, Reviews, Comments, or Review Detail.

Step 2: Provide the input it needs

Hot lists need nothing. Subject Detail / Reviews / Comments need a subjectId. Review Detail needs a reviewId. Set maxPages for paginated operations.

Step 3: Run and export

Hit run and collect your structured dataset — export to JSON, CSV, or Excel.

That's it! In under a minute, you'll have:

  • The live Douban trending lists with ratings and posters
  • Deep subject metadata with IMDb cross-IDs
  • Reviews and viewer comments ready for sentiment analysis

📥 Input Configuration

FieldTypeRequiredDescription
operationstringYesOne of recentHotMovie, recentHotTv, subjectDetail, movieReviews, subjectComments, reviewDetail
subjectIdstringFor detail/reviews/commentsNumeric Douban movie or TV ID (e.g. 37067461)
reviewIdstringFor review detailNumeric Douban review ID (e.g. 17621937)
sortstringNoReviews: hotest or time. Comments: new_score or time.
maxPagesintegerNoPages to scrape for paginated operations (1–50, default 5)

Example — trending movies (no ID needed):

{
"operation": "recentHotMovie",
"maxPages": 2
}

Example — reviews for a subject, most popular first:

{
"operation": "movieReviews",
"subjectId": "37067461",
"sort": "hotest",
"maxPages": 3
}

📤 Output

Results are saved to the Apify dataset with curated camelCase fields plus the raw upstream data. Filter by _operation to split modes. Key fields:

FieldTypeDescription
subjectIdstringDouban movie/TV ID
subjectTypestringmovie or tv
movieTitlestringTitle
ratingValuenumberDouban rating (out of 10)
ratingCountintegerNumber of ratings
imdbIdstringIMDb cross-ID (subject detail)
director / cast / genrestringSubject metadata
reviewIdstringReview ID
reviewTitle / reviewDescription / reviewContentstringReview title, snippet, full body
reviewRatingLabelstringReviewer rating label (力荐 / 推荐 / …)
upvoteCount / replyCountintegerReview engagement
commentContentstringViewer comment text
commenterLocationstringCommenter province
voteCountintegerComment useful-votes
subjectUrl / reviewUrlstringCanonical Douban link

Example — a hot-movie row:

{
"_operation": "recentHotMovie",
"status": "success",
"subjectId": "37067461",
"subjectType": "movie",
"movieTitle": "女士优先 Ladies First",
"ratingValue": 6.4,
"ratingCount": 2771,
"posterUrl": "https://img3.doubanio.com/view/photo/...webp",
"cardSubtitle": "2026 / 美国 / 喜剧 爱情 / 西娅·夏罗克 / 萨莎·拜伦·科恩",
"isNew": true,
"subjectUrl": "https://movie.douban.com/subject/37067461/"
}

💼 Use Cases & Examples

Media monitors and content teams who need to know what's surfacing on China's biggest film community.

Input: recentHotMovie / recentHotTv, no ID needed Output: Live trending lists with ratings, posters, and subject IDs Use: Schedule a daily run to track rising titles and build a China trend dashboard.

2. Audience Sentiment Mining

Researchers studying how a film or series was received.

Input: movieReviews and subjectComments for a subjectId Output: Long-form reviews + short comments with rating labels, upvotes, and province geo Use: Feed an NLP pipeline for sentiment scoring and regional reaction analysis.

3. Cross-Market Film Intelligence

Analysts bridging Chinese and Western film datasets.

Input: subjectDetail for a subjectId Output: Douban rating + cast/crew + IMDb ID Use: Join Douban scores to IMDb / box-office datasets for global reception and localization studies.

4. Reception & Critical Analysis

Film scholars and journalists profiling how a title performed critically.

Input: subjectDetail + movieReviews + reviewDetail Output: Ratings, review counts, and full review bodies Use: Map critical vs. audience reception over a release window.

5. China Entertainment Research

Strategy and localization teams building China-market content plans.

Input: Hot lists + subject detail + comments Output: Structured ratings, trends, and viewer sentiment Use: Inform acquisition, dubbing, and release-timing decisions with real audience data.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/douban-movie-scraper').call({
operation: 'recentHotMovie',
maxPages: 1
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/douban-movie-scraper').call(
run_input={'operation': 'subjectDetail', 'subjectId': '37067461'}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~douban-movie-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "movieReviews", "subjectId": "37067461", "sort": "hotest"}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule or webhook
  2. HTTP Request: Call the actor API
  3. Process: Handle JSON results
  4. Action: Save, notify, or transform

📊 Performance & Pricing

FREE Tier (Try It Now)

  • Full feature access across all six operations, same data quality
  • No credit card required
  • Perfect for testing and small projects
  • Scale to large trending lists, review archives, and comment datasets
  • Pay-per-result: only charged for successful rows
  • Premium single-row operations (subject detail, review detail) priced separately

💰 Transparent per-row pricing — bulk operations (hot lists, reviews, comments) are charged at the lowest per-row rate, so high-volume runs stay affordable.

🔗 View current pricing


❓ Frequently Asked Questions

Q: Do I need a Douban account or API key? A: No. Pick an operation and run — no account, no key, no cookies.

Q: How do I find a subject ID or review ID? A: Every Hot Movie / Hot TV row includes a subjectId. Review rows include a reviewId. You can also read them from any Douban URL — movie.douban.com/subject/37067461/ or movie.douban.com/review/17621937/.

Q: Can I get both ratings and reviews in one run? A: Each run does one operation. Chain them: run a hot list, then feed the subjectId into Subject Detail, Reviews, and Comments.

Q: Does it return the IMDb ID? A: Yes — the Subject Detail operation includes imdbId when Douban has it, so you can join to Western datasets.

Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset.

Q: Is this legal? A: We only extract publicly available data. See the legal section below.


🐛 Troubleshooting

No rows returned

  • For Reviews/Comments, confirm the subjectId is valid and the title actually has reviews/comments.
  • A subject with few reviews may exhaust before reaching your maxPages — that's expected.

"Subject not found" / "Review not found" error row

  • The ID may be invalid or the content removed. Double-check the ID from a current Douban URL.

"Data source temporarily unavailable"

  • A transient upstream signal. The actor retries automatically; re-run if it persists.

Want a specific page only?

  • Set maxPages to control how many pages of a hot list, review, or comment set you pull.

⚠️ Trademark Disclaimer

This is an independent scraping tool. It is not affiliated with, endorsed by, or sponsored by Douban (豆瓣), Beijing Douban Technology Co., Ltd., or any of their subsidiaries. The Douban® and 豆瓣电影® names appear under nominative fair use solely to describe the data source this tool works with.


Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools