Douban Movie Scraper: Reviews
Pricing
from $2.15 / 1,000 subject metadata
Douban Movie Scraper: Reviews
Collect public Douban data without a Douban login or API key. Search movie, TV, or book subjects by keyword, or add public URLs for media, people, collections, and group topics, then collect metadata, reviews, or comments. Save available ratings, authors, dates, links, and available replies.
Pricing
from $2.15 / 1,000 subject metadata
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
🎬 Douban data for media research
For media researchers and data teams, Douban Scraper collects public Douban data as structured dataset rows. Choose one keyword or add public URLs, then work with subject metadata, people profiles, long-form reviews, short comments, collections, current lists, and group topics. Available ratings, dates, authors, source links, and replies give you useful rows for Chinese media and public discussion research.
The Actor reads public pages only. It does not bypass private or login-walled content. Returned text stays in the source language.
Use it to:
- Use Douban trending scraper to review current movie and TV hot or ranking lists.
- Use Douban metadata scraper to collect identity, ratings, and source links for supported media subjects.
- Use Douban comments scraper to save short comments with ratings and author context.
- Use Douban reviews scraper to save long-form reviews with text, ratings, and engagement data.
- Use Douban TV scraper to collect TV subject rows and available metadata.
- Use Douban book scraper to collect book subject rows and available metadata.
- Use Douban movie scraper to collect movie subject rows with ratings and source links.
📦 What this Douban scraper returns
The dataset uses one row for each successful public source item. A run can return subject, person, review, comment, or group topic rows. Fields can be absent when the public page does not provide them.
Record types
| Record type | Use it for | Main data |
|---|---|---|
subject | Movie, TV, book, or music subjects | Identity, ratings, engagement, credits, awards, and source links |
person | Public people profiles | Names, aliases, birth details, occupations, biography, followers, and known-for titles |
review | Long-form reviews | Source-language text, ratings, author context, engagement, and publication time |
comment | Short comments | Source-language text, ratings, author context, engagement, and publication time |
groupTopic | Public group discussions | Topic text, author, times, reply totals, and available replies |
When the same source item appears through another submitted value, only the first eligible occurrence is saved. When present, discoverySource shows the one keyword or URL that caused that row to be saved. Later matches do not rewrite that row.
▶️ Run a Douban collection
Quick start
- Choose a target such as Search media subjects, Subject metadata, Long-form reviews, or Group topics.
- Fill in the fields for that target. Add one keyword for subject search, or add the matching public Douban URLs.
- Set a positive
maxItemsvalue for a bounded run, or leave it empty to return all available results until the public source is exhausted. - Run the Actor, open the dataset, and export the rows or use the dataset link in your workflow.
Only fields for the selected target are used. A failed or unavailable public target is not turned into a made-up successful row.
⚙️ Input
Choose one target. The fields below list every public input field, including the URL field inside each URL list.
Input fields
| Field | Type | What it does |
|---|---|---|
target | string | Choose one target: Search media subjects, Subject metadata, Collections and charts, Hot and ranking lists, People profiles, Long-form reviews, Short comments, or Group topics. |
keyword | string | For Search media subjects, enter one keyword. Douban can return movie, TV, or book subjects. Other targets ignore this field. |
mediaType | string | For Search media subjects, choose all, movie, tv, or book. Other targets ignore this field. |
collectionUrls | array of objects | For Collections and charts, add one or more public Douban collection or chart URLs. Other targets ignore this list. |
collectionUrls[].url | string | One public Douban collection or chart URL. |
listType | string | For Hot and ranking lists, choose movieHot, movieRanking, tvHot, or tvRanking. Other targets ignore this field. |
personUrls | array of objects | For People profiles, add one or more public Douban person profile URLs. Other targets ignore this list. |
personUrls[].url | string | One public Douban person profile URL. |
includeFullText | boolean | For Long-form reviews, include the complete review body when this is on. Other targets ignore this setting. |
groupTopicUrls | array of objects | For Group topics, add one or more public Douban group topic URLs. The Actor also returns available replies. Other targets ignore this list. |
groupTopicUrls[].url | string | One public Douban group topic URL. |
subjectUrls | array of objects | For Subject metadata, Long-form reviews, or Short comments, add one or more public Douban subject URLs. The Actor returns the data for the selected target. Other targets ignore this list. |
subjectUrls[].url | string | One public Douban movie, TV, book, or music subject URL. |
reviewCommentOrder | string | For Long-form reviews, only popular is supported. For Short comments, choose popular, useful, or newest. Other targets ignore this field. |
onlyNewItems | boolean | On repeat runs, return only records not seen before for the same target and submitted values. Leave this off to return all available records. |
maxItems | integer | Optional work limit for results. Leave it empty to return all available results until the public source is exhausted. If set, the Actor stops after that many results. This is a work limit, not a page number. |
The target is prefilled with searchSubjects. The search media type defaults to all. Full review text and new-item-only mode are off by default.
Example input
This is the public input from a successful run using the prefilled search target.
{"target": "searchSubjects","keyword": "流浪地球","mediaType": "all","includeFullText": false,"onlyNewItems": false}
🧾 Output
The results output link opens the dataset view for successful rows from the run. The dataset can contain more than one record type when the selected target produces different public source items.
Output link
| Field | Type | What it does |
|---|---|---|
results | string | Link to the successful Douban rows in the run dataset. |
Subject rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Always subject for this shape. |
subjectId | string | Stable Douban ID for the subject. |
subjectUrl | string | Canonical public Douban URL for the subject. |
subjectKind | string | Subject kind: movie, tv, book, or music. |
title | string | Public title of the subject. |
originalTitle | string | Original title when Douban provides one. |
aliases | array of strings | Other titles listed by Douban. |
releaseDate | string | Release date when Douban provides one. |
releaseYear | integer | Release year when Douban provides one. |
coverUrl | string | Public cover image URL when available. |
genres | array of strings | Genres listed by Douban. |
countries | array of strings | Countries or regions listed by Douban. |
runtimeMinutes | integer | Running time in minutes when available. |
rating | object | Available subject rating data. |
rating.value | number | Average rating value listed by Douban. |
rating.scale | number | Maximum value of the rating scale. |
rating.count | integer | Total number of ratings listed by Douban. |
rating.distribution | object | Available five-star rating distribution. |
rating.distribution.oneStar | number | Value for one-star ratings. |
rating.distribution.twoStar | number | Value for two-star ratings. |
rating.distribution.threeStar | number | Value for three-star ratings. |
rating.distribution.fourStar | number | Value for four-star ratings. |
rating.distribution.fiveStar | number | Value for five-star ratings. |
engagement | object | Audience totals listed by Douban. |
engagement.commentCount | integer | Total comments listed by Douban. |
engagement.reviewCount | integer | Total long-form reviews listed by Douban. |
engagement.watchedCount | integer | Watched total listed by Douban when available. |
engagement.wishToWatchCount | integer | Wish-to-watch total listed by Douban when available. |
credits | array of objects | Directors, writers, cast, and other crew listed by Douban. |
credits[].creditType | string | Credit type: director, writer, cast, or crew. |
credits[].name | string | Credited person's name. |
credits[].personId | string | Douban ID for the credited person when available. |
credits[].personUrl | string | Public Douban profile URL for the credited person when available. |
credits[].role | string | Role text listed by Douban when available. |
credits[].character | string | Character name for a cast credit when available. |
awards | array of objects | Awards and nominations listed by Douban. |
awards[].ceremony | string | Award ceremony name when available. |
awards[].category | string | Award category when available. |
awards[].nominee | string | Nominee text listed by Douban when available. |
awards[].status | string | win or nomination. |
awards[].year | integer | Award year when available. |
imdbId | string | IMDb identifier when the public Douban record provides one. |
imdbUrl | string | IMDb page URL when the public Douban record provides one. |
listContext | object | Collection or list that produced the subject when applicable. |
listContext.name | string | Collection or list name when available. |
listContext.url | string | Public collection or list URL. |
listContext.rank | integer | Subject rank in the collection or list when available. |
listContext.listType | string | List kind: collection, chart, hot, or ranking. |
discoverySource | string | The one submitted keyword or URL that caused this subject row to be saved. |
Example subject row
This is a shortened real subject row from a successful run. The source row has 58 credit objects and 28 award objects, shown here as "...".
{"recordType": "subject","subjectId": "26266893","subjectUrl": "https://movie.douban.com/subject/26266893/","subjectKind": "movie","title": "流浪地球","aliases": ["流浪地球:飞跃2020特别版","The Wandering Earth","The Wandering Earth: Beyond 2020 Special Edition"],"releaseDate": "2019-02-05(中国大陆)","releaseYear": 2019,"coverUrl": "https://img3.doubanio.com/view/photo/m_ratio_poster/public/p2545472803.jpg","genres": ["科幻","冒险","灾难"],"countries": ["中国大陆"],"rating": {"value": 7.9,"scale": 10,"count": 2055925},"engagement": {"commentCount": 741729,"reviewCount": 21654},"credits": "...","awards": "..."}
Person rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Always person for this shape. |
personId | string | Stable Douban ID for the person when available. |
personUrl | string | Canonical public Douban profile URL. |
name | string | Public name of the person. |
aliases | array of strings | Other names listed by Douban. |
birthDate | string | Birth date when Douban provides one. |
birthPlace | string | Birth place when Douban provides one. |
occupations | array of strings | Occupations listed by Douban. |
biography | string | Public biography text when available. |
followerCount | integer | Follower total listed by Douban. |
knownForTitles | array of objects | Subjects linked to this person as known-for titles. |
knownForTitles[].title | string | Public subject title. |
knownForTitles[].subjectId | string | Stable subject ID when available. |
knownForTitles[].subjectUrl | string | Public subject URL when available. |
knownForTitles[].subjectKind | string | Subject kind: movie, tv, book, or music. |
knownForTitles[].year | integer | Subject year when available. |
knownForTitles[].role | string | The person's role in the subject when available. |
imdbId | string | IMDb identifier when the public Douban profile provides one. |
imdbUrl | string | IMDb page URL when the public Douban profile provides one. |
Example person row
{"recordType": "person","personUrl": "https://www.douban.com/personage/27260209","name": "凯特·布兰切特","personId": "27260209","biography": "演员 配音 制片人 / 本杰明·巴顿奇事 指环王1:护戒使者 指环王3:王者无敌","followerCount": 95429,"aliases": ["姬蒂·白兰芝(港) / 凯特·布兰琪(台) / 大魔王(昵称)","Catherine Elise Blanchett (本名)"],"imdbId": "nm0000949","birthDate": "1969年5月14日","birthPlace": "澳大利亚,维多利亚,墨尔本"}
Long-form review rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Always review for this shape. |
reviewId | string | Stable Douban ID for the review. |
reviewUrl | string | Canonical public Douban URL for the review. |
title | string | Review title when available. |
text | string | Review text in the source language. |
textScope | string | full for complete text or preview for a source preview. |
subject | object | The Douban subject being reviewed. |
subject.subjectId | string | Subject ID when available. |
subject.url | string | Canonical public subject URL. |
subject.title | string | Public subject title. |
subject.subjectKind | string | Subject kind: movie, tv, book, or music. |
author | object | Public context about the review author when available. |
author.authorId | string | Stable author ID when available. |
author.authorUrl | string | Public author profile URL when available. |
author.name | string | Public author name when available. |
author.region | string | Province or region shown by Douban when available. |
rating | object | Star rating given by the review author when available. |
rating.stars | integer | One-to-five star rating. |
rating.value | number | Numeric rating value when available. |
rating.scale | number | Maximum rating scale when available. |
sentiment | string | Rating-derived label: positive, neutral, or negative. |
engagement | object | Engagement totals listed by Douban for the review. |
engagement.usefulCount | integer | Useful vote total when available. |
engagement.likeCount | integer | Like total when available. |
engagement.commentCount | integer | Comment total for the review when available. |
publishedAt | string | Review publication time from Douban. |
Example long-form review row
This is a shortened real review row. Its source text is 14,378 characters, so the text is shown as "...".
{"recordType": "review","reviewId": "9943996","reviewUrl": "https://movie.douban.com/review/9943996/","title": "【球2再次成功,笑看某些人破防】全面驳斥《流浪地球不及格》","text": "...","textScope": "full","subject": {"subjectId": "26266893","subjectKind": "movie","title": "流浪地球","url": "https://movie.douban.com/subject/26266893/"},"author": {"authorId": "12445988","authorUrl": "https://www.douban.com/people/12445988/","name": "某猪·坑坑洼洼","region": "深圳"},"rating": {"stars": 5,"value": 5,"scale": 5},"sentiment": "positive","engagement": {"usefulCount": 36088,"likeCount": 36088,"commentCount": 7292},"publishedAt": "2019-02-06 23:25:32"}
Short comment rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Always comment for this shape. |
commentId | string | Stable Douban ID for the comment. |
commentUrl | string | Canonical public Douban URL for the comment. |
text | string | Comment text in the source language. |
subject | object | The Douban subject being discussed. |
subject.subjectId | string | Subject ID when available. |
subject.url | string | Canonical public subject URL. |
subject.title | string | Public subject title. |
subject.subjectKind | string | Subject kind: movie, tv, book, or music. |
author | object | Public context about the commenter when available. |
author.authorId | string | Stable author ID when available. |
author.authorUrl | string | Public author profile URL when available. |
author.name | string | Public author name when available. |
author.region | string | Province or region shown by Douban when available. |
rating | object | Star rating given by the commenter when available. |
rating.stars | integer | One-to-five star rating. |
rating.value | number | Numeric rating value when available. |
rating.scale | number | Maximum rating scale when available. |
sentiment | string | Rating-derived label: positive, neutral, or negative. |
engagement | object | Engagement totals listed by Douban for the comment. |
engagement.likeCount | integer | Like total when available. |
engagement.replyCount | integer | Reply total for the comment when available. |
publishedAt | string | Comment publication time from Douban. |
Example short comment row
{"recordType": "comment","commentId": "1656169114","commentUrl": "https://www.douban.com/movie/26266893/interest/1656169114","text": "1.从特效和技术上讲,这应该是迄今为止此类中国电影的巅峰了。磅礴恢宏,细节营造用心。2.故事层面比较糟糕,很好奇到底出于什么原因,造成几乎超过40%的台词都是后配的,而且对不上口型,明显是片子成型后彻底改词重配的。这严重影响故事质量。3.作为类型片,很多讲述方式有明显问题,比如人物特征不鲜明,交代不清楚,刘启变成“刘户口”,这种启字的拆解为什么不交代?李一一变成“李长条”留给谁去猜?4.很多地方增加众多根本无意义的插科打诨,自以为幽默但毫无笑点非常尴尬。5.这个全球化的项目中,中俄合作,稍稍出现一句法语,两句日语,美国闪现一次国旗。6.科幻特效技术有了巨大进步,但技术这只是科幻电影的一部分。","subject": {"subjectId": "26266893","subjectKind": "movie","title": "流浪地球","url": "https://movie.douban.com/subject/26266893/"},"author": {"authorId": "1233038","authorUrl": "https://www.douban.com/people/1233038/","name": "frozenmoon","region": "北京"},"publishedAt": "2019-02-05 16:29:48","rating": {"stars": 3,"value": 3,"scale": 5},"sentiment": "neutral","engagement": {"likeCount": 6501}}
Group topic rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Always groupTopic for this shape. |
topicId | string | Stable Douban ID for the group topic. |
topicUrl | string | Canonical public Douban URL for the topic. |
title | string | Topic title when available. |
body | string | Topic body in the source language when available. |
group | object | Douban group that contains the topic. |
group.groupId | string | Stable group ID when available. |
group.url | string | Public Douban group URL. |
group.name | string | Public group name when available. |
author | object | Public context about the topic author when available. |
author.authorId | string | Stable author ID when available. |
author.authorUrl | string | Public author profile URL when available. |
author.name | string | Public author name when available. |
author.region | string | Province or region shown by Douban when available. |
createdAt | string | Topic creation time from Douban. |
updatedAt | string | Latest topic update time when available. |
replyCount | integer | Total reply count listed by Douban. |
replies | array of objects | Replies collected when Douban makes them available. |
replies[].replyId | string | Stable reply ID when available. |
replies[].replyUrl | string | Public reply URL when available. |
replies[].text | string | Reply text in the source language. |
replies[].author | object | Public context about the reply author. |
replies[].author.authorId | string | Stable reply author ID when available. |
replies[].author.authorUrl | string | Public reply author URL when available. |
replies[].author.name | string | Public reply author name when available. |
replies[].author.region | string | Province or region shown by Douban when available. |
replies[].createdAt | string | Reply creation time when available. |
replies[].likeCount | integer | Reply like total when available. |
Example group topic row
This is a shortened real group topic row. Its body has 3,948 characters and it has 37 replies, shown here as "...".
{"recordType": "groupTopic","topicId": "477072736","topicUrl": "https://www.douban.com/topic/477072736/?_spm_id=MjYzMzY3NTc1","title": "豆瓣电影Top250四年间排名变动","body": "...","author": {"authorId": "263367575","authorUrl": "https://www.douban.com/people/LKS112/","name": "悟乄空","region": "青岛"},"createdAt": "2026-02-23 20:20:41","updatedAt": "2026-08-22 17:51:40","replyCount": 37,"replies": "..."}
Optional fields are present only when the public source provides them. Review and comment sentiment is derived from the available star rating. Text is not translated.
💳 Pricing
This Actor uses pay-per-event pricing. A matching event applies when a successful paid row is saved, and the exact tiered price is shown by Apify for your account.
| Buyer-facing event | When it applies |
|---|---|
| Subject metadata | One public subject with core identity and available rating data is saved to your dataset. |
| Long-form review | One public long-form review is saved with available text, rating, author, engagement, and source link. |
| Short comment | One public short comment is saved with available text, rating, author, engagement, and source link. |
No separate buyer-facing event is listed for person, collection, trending, or group-topic rows. No paid event is described here for empty or non-result work.
🔌 Integrations
Apify dataset and API
Open the dataset from the results link in the run output. You can also retrieve the saved rows through the Apify API.
Run tutorial
❓ FAQ
Which target should I use for direct media data?
Use Subject metadata with a public movie, TV, book, or music subject URL. Use Search media subjects when you want movie, TV, or book subjects from one keyword.
Can I search for music by keyword?
Music keyword discovery is not promised. Use a public music subject URL or a supported collection when you have a direct target.
What happens when a public target is unavailable?
The Actor does not invent a successful row. It reports a clear non-result and leaves unavailable source data out of the successful shapes above.
How does full review text work?
Turn on Include full review text for Long-form reviews. The review row can then include the complete body when the public source provides it. Otherwise, the text can be a source preview.
How does Return only new items work?
On repeat runs, it compares the same target and submitted values and returns only records it has not seen before. Leave it off when you want all available records for that run.
What happens if I leave Maximum items empty?
The Actor returns all available results until the public source is exhausted. Set a positive value when you want a work limit.
Is the returned text translated?
No. Text stays in the language used by the public Douban source.
Do I need a Douban login or API key?
No for public content. Private or login-walled pages are not collected or bypassed.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Goodreads Scraper: Compare public Goodreads book ratings and review rows with Douban media research.
- Douban Pro Scraper — Reviews, Discussions & Subject Data: Use it when long-form reviews, comments, and group discussions are your main Douban target.
- Douban Movie Scraper — Ratings, Reviews & Hot Lists: Use it for Douban movie and TV ratings, cast, reviews, comments, and hot lists.
- Douban Reviews Scraper: Use it for Douban ratings, reviews, comments, and rating-derived sentiment labels.
- Douban Scraper - Movies, TV, Books, Music & Reviews: Use it for Douban media subjects, ratings, reviews, comments, and people profiles.
Made with ❤️ by Maxime Dupré