Douban APImovie.douban.com ↗
Access Douban movie data via 3 endpoints: search by keyword, fetch full movie details, and browse films by genre tag and sort order.
What is the Douban API?
The Douban Movie API covers 3 endpoints for querying one of China's largest film databases. Use search_movies to find films by keyword — returning title, year, rating, and cover URL for up to 50 results per page — then call get_movie_details with a Douban movie ID to retrieve the full record: plot summary, genres, directors, cast, alternate titles, release dates by region, and a 0–10 rating with vote count.
curl -X GET 'https://api.parse.bot/scraper/ee79315d-9c27-470b-b743-3e7cb12b0f4c/search_movies?query=%E8%82%96%E7%94%B3%E5%85%8B' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for movies by keyword. Returns paginated results with movie ID, title, year, rating, and basic metadata. Use start/count for pagination.
| Param | Type | Description |
|---|---|---|
| count | integer | Number of results per page. Maximum 50. |
| queryrequired | string | Search keyword (Chinese or English movie title, actor name, etc.) |
| start | integer | Pagination offset (0-based). |
{
"type": "object",
"fields": {
"count": "integer — requested page size",
"items": "array of movie summary objects with id, title, year, cover_url, rating, card_subtitle, type",
"start": "integer — current offset",
"total": "integer — total number of matching results"
},
"sample": {
"data": {
"count": 20,
"items": [
{
"id": "1292052",
"type": "movie",
"year": "1994",
"title": "肖申克的救赎",
"rating": {
"max": 10,
"count": 3316478,
"value": 9.7,
"star_count": 5
},
"cover_url": "https://qnmob3.doubanio.com/view/photo/large/public/p2934829882.jpg?imageView2/0/q/80/w/9999/h/120/format/jpg",
"card_subtitle": "美国 / 剧情 犯罪 / 弗兰克·德拉邦特 / 蒂姆·罗宾斯 摩根·弗里曼"
}
],
"start": 0,
"total": 7
},
"status": "success"
}
}About the Douban API
Endpoints and Data Coverage
The API exposes three endpoints. search_movies accepts a query string (Chinese or English title, actor name, or other keyword) plus start and count for pagination, and returns a list of movie summary objects — each with id, title, year, cover_url, rating, card_subtitle, and type — alongside a total count for building paginated UIs. get_movie_details takes a numeric movie_id and returns a deep record: intro (plot summary), genres (array of strings), actors and directors as objects with id and name, pubdate entries with regional release dates, aka for alternate titles, and a rating object with value, count, max, and star_count.
Browsing and Filtering
explore_movies lets you browse Douban's movie catalog by genre tag and sort order. The tag parameter accepts Chinese genre labels such as 喜剧 (comedy), 动作 (action), 科幻 (sci-fi), and others. Omitting tag returns a general recommendation list. The sort parameter controls ordering, and the response includes a sorts array listing all valid sort options with their text and name fields, so you can render a sort control dynamically without hardcoding values.
Pagination and IDs
All three endpoints use 0-based start / count pagination with a maximum page size of 50. Movie IDs are numeric strings (e.g. 1292052 for The Shawshank Redemption) and are consistent across endpoints — an id from search_movies or explore_movies can be passed directly to get_movie_details. The total field in search_movies responses lets you calculate how many pages exist for a given query.
The Douban API is a managed, monitored endpoint for movie.douban.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when movie.douban.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official movie.douban.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a bilingual movie discovery app using
search_movieswith English or Chinese queries and displaying Chinese ratings alongside Western titles - Populate a movie database with structured metadata — genres, cast IDs, regional release dates — fetched via
get_movie_details - Create a genre browsing interface using
explore_movieswith thetagparameter and dynamically rendering sort options from thesortsresponse field - Track Douban rating (
valueandcount) for a watchlist of films identified by their numeric movie IDs - Cross-reference alternate titles from the
akafield to match Douban records with entries in other film databases - Build a recommendation feed filtered by Chinese genre tags and sorted by the available sort options returned in
explore_movies
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Douban have an official developer API?+
What does `get_movie_details` return beyond what search results include?+
search_movies returns a summary: id, title, year, cover_url, rating, and card_subtitle. get_movie_details adds intro (plot summary), genres, actors with IDs and names, pubdate entries per region, aka (alternate titles), tags, and a full rating object including count, star_count, and max.What genre tags are valid for `explore_movies`?+
tag parameter accepts Chinese genre labels. Documented examples include 喜剧, 动作, 爱情, 科幻, 悬疑, 恐怖, and 动画. Omitting the parameter returns a general recommendation list. The response does not include a master list of all valid tags, so you should test tags against known Douban genre categories.Does the API return user reviews or individual comments?+
rating object includes aggregate value and count fields, but per-user review content is not exposed. You can fork this API on Parse and revise it to add a reviews endpoint if that data is accessible on the source.Are TV series, documentaries, or short films covered, or only feature films?+
search_movies response includes a type field on each result, suggesting the source may include non-feature entries, but the explore and detail endpoints are oriented around Douban's movie catalog. Coverage of series or documentaries beyond what appears in search results is not guaranteed. You can fork this API on Parse and revise it to add a dedicated endpoint targeting those content types.