Mafengwo 马蜂窝 Reviews Scraper | Photos & Videos
Pricing
from $2.49 / 1,000 review or posts
Mafengwo 马蜂窝 Reviews Scraper | Photos & Videos
Collect Mafengwo attraction and hotel reviews, photo posts and videos with ratings, dates, authors and place details. Paste links or IDs, expand destination links, and export structured JSON, CSV or Excel.
Pricing
from $2.49 / 1,000 review or posts
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Mafengwo Reviews Scraper
Collect Mafengwo (马蜂窝) attraction and hotel reviews, plus traveler photo and video posts. Paste links or IDs and export ratings, original Chinese text, dates, authors and media for travel sentiment research.
- Every opinion: positive, neutral and negative rated reviews.
- Rich media: photos and videos, with posts clearly distinguished.
- Flexible input: place/hotel links, bare IDs or a whole destination, hundreds of places deep.
- Travel notes too: the long-form trip reports Chinese travelers write about a destination, with their full text, photos, linked places, and how long the trip took, who it was with and what it cost.
Measured local example: 22,483 results from four places in 90.05 seconds with 512 MB. Timing and available content vary. Hero artwork uses Mafengwo's official preview, separate from the collected results.
Freshness: the newest rated attraction reviews observed were from February 2026; hotel history can be older. Photo/video posts were fresher and are included by default.
Open in Apify Console and paste this small first input. Charges apply per saved result, place with results and start. Free-plan access: 200 combined results/run, across 25 runs. This sample does not reproduce the bulk benchmark.
{"places": "5426285","maxReviewsPerPlace": 10,"includePosts": true}
Built by Zen Studio, also behind Mafengwo Places and Ctrip Hotel Reviews.
| Zen Studio · China Travel & Places • Traveler opinions, attractions and hotels | ||||
➤ You are here | Tickets and nearby places | Guest ratings and text | Contacts and reviews | POI and reviews |
Copy to your AI assistant
zen-studio/mafengwo-reviews-scraper on Apify collects attraction/hotel reviews and photo/video posts. Paste IDs or links in places; destination links expand that destination's places, most prominent first, bounded by maxPlaces. For complete rated history use reviewTypes=["all"], includePosts=false, maxReviewsPerPlace=0, and no minRating/postedAfter; spending and free-plan limits still apply. includePosts defaults true; any minRating excludes unrated content. Result caps combine reviews and posts; sort a complete export by timestamp for precise date order. JSON preserves nested media. Charges apply per saved row, per place with rows, and per start; free-plan access is 200 rows/run across 25 runs. Input: https://apify.com/zen-studio/mafengwo-reviews-scraper/input-schema ; output and behavior: https://apify.com/zen-studio/mafengwo-reviews-scraper ; current charges: https://apify.com/zen-studio/mafengwo-reviews-scraper/pricing .
How to scrape Mafengwo reviews
Paste one or more place or hotel links or IDs into the paste box. Separate entries with newlines, spaces, commas or semicolons. A destination link expands into that destination's places, most prominent first and bounded by maxPlaces. Hotels are listed separately on Mafengwo, so a destination expands attractions.
For a batch containing an attraction and a hotel, use:
{"startUrls": [{"url": "https://www.mafengwo.cn/poi/5426285.html"},{"url": "https://www.mafengwo.cn/hotel/8351202.html"}],"reviewTypes": ["all"],"maxReviewsPerPlace": 500,"maxPlaces": 20,"includePosts": true}
Place IDs such as 5426285 are accepted in the paste box (places), mixed with links. The optional startUrls list accepts links; both inputs are combined and deduplicated. For a destination, use a link such as https://www.mafengwo.cn/travel-scenic-spot/mafengwo/10133.html. Paste entries directly; file-based link lists are not supported.
Inputs
| Input | Behavior when omitted |
|---|---|
places | Plain text containing place IDs or place, hotel and destination links. Supply this or startUrls. |
startUrls | Optional structured link list, combined with places. |
reviewTypes | ['all']: positive, neutral and negative rated reviews. Other choices: positive, neutral, negative, withPhotos, featured. Multiple choices combine results without duplicates. |
maxReviewsPerPlace | 500 combined reviews and posts per place, after filtering. 0 collects all available matching results. |
maxPlaces | 20 places across the whole run. Direct links take priority over destination discoveries. Missing or empty places still count toward this processing limit. |
includePosts | true. Include photo/video posts, independently of the selected review types. |
includeTravelNotes | false. Also collect the destination's long-form travel notes. Needs at least one destination link, because notes are written about a destination rather than a place. Each note is charged as one result. |
maxTravelNotes | 20 notes per destination. 0 keeps going until the destination runs out. |
maxImagesPerNote | 200 photos per note. 0 keeps every photo. imageCount always reports the note's own total, so a capped row still tells you what was left behind. |
minRating | No rating filter. When set to a value from 1 to 5, unrated content is excluded. |
postedAfter | No date filter. Save content dated on or after the chosen date, in UTC. |
To collect the complete available rated-review history, set maxReviewsPerPlace to 0, set includePosts to false, select all, and leave the rating and date filters empty. Your spending limit and free-plan preview allowance still apply.
Capped results favour recent content but are approximate, and the exported dataset is not globally sorted by date. For a precise newest-first analysis, collect all matching content and sort by timestamp. A date filter does not guarantee a shorter run.
What data can you extract from Mafengwo?
One row represents one review, post or travel note. Duplicate content is saved once per place, even when multiple review types include it. Content with the same numeric ID but a different content type remains separate.
| Fields | Content |
|---|---|
reviewId, contentType, reviewUrl | Identity and link; content type is review, post, video or travelNote. |
rating, ratingLabel, text, title | Available rating, including decimal values, and original text. Missing values are null; video text can be empty. |
date, timestamp, editedTimestamp | UTC creation date, creation time in seconds and available edit time. |
isFeatured, isEssence, sourceTab | Featured/essence flags and the descriptive review group where the content was found. |
images, imageCount, imageDetails | Original-size photo links, count and complete photo details, including dimensions and alternate sizes. |
videoUrl, videoThumbnail, media | Best available video link, thumbnail and complete video details, including other qualities and duration when present. |
travelNote | Linked travel-note details when present. |
authorId, authorName, authorLevel, authorAvatar, authorUrl, authorDetails | Author information and all additional author details. |
poiId, poiName, poiAddress, poiLat, poiLng, poiType, poiReviewCount, poiUrl, poiDetails | Place identity, location, reported rated-review count and complete available place details. |
sourceDestinationId | Destination that supplied the place, or null for direct links. |
destinationId, destinationName | Destination a travel note was written about. Null on reviews and posts. |
tripStartDate, tripDays, tripCost, tripParty, tripTags | What the note's author reports about the trip: when it started, how many days, what it cost in yuan, who they travelled with, and the themes they tagged. |
mentionedPlaces | Places and destinations linked inside a note's text or tagged on its photos, each with its Mafengwo ID, so a note joins straight onto place data. |
viewCount, voteCount, replyCount, collectCount, shareCount, copyright | How a travel note has been received, and the author's published copyright line. |
additionalData, contentDetails, scrapedAt | Additional content fields, presentation details and collection time. |
On travel notes and photo counts. A single note can carry thousands of photos: one Wuhan note returned 2,443. Every photo link in a row is a real, resolvable URL, but keeping all of them makes one row several hundred kilobytes and slows every export that opens it. maxImagesPerNote decides how many links a row carries, imageCount always reports the note's own total, and 0 keeps everything. Even uncapped, the largest note measured produced a 2.75 MB row, inside the platform's per-row limit. A note's text, its linked places and its trip details are never capped.
Media is delivered as links, not downloaded files. Text remains in its original language. Reported review counts describe rated reviews and do not include the extra posts; counts can also differ from currently available content. Filters, limits and unavailable content can reduce the number saved.
Download the dataset as JSON, CSV or Excel. JSON preserves the full nested photo, video, author and place details.
If a value cannot be normalized, its original value remains in additionalData or the corresponding details field. Content without a usable identity is saved separately: open Unprocessed content in the run's Output, then find each listed recordKey in the run's key-value store. These records incur no custom review or place charge. Valid reviews from the same collection are still delivered.
After a platform restart, the actor reuses its saved results and completed places. Existing results count toward the same limits, and charges are reconciled against the run's recorded totals.
Complete real output examples
The following three records are a rated review, a photo post and a video post selected from the measured full crawl. Every field and nested value in these records is retained. They are representative records, not the output of the ten-result quickstart. The full crawl used:
{"places": "5426285,3474,5807,8351202","maxReviewsPerPlace": 0,"includePosts": true,"maxPlaces": 4}
[{"reviewId": "85142337","contentType": "review","rating": 5.0,"ratingLabel": "评分","text": "2017年6月北京之旅... .","title": null,"date": "2017-11-19T07:09:50+00:00","timestamp": 1511075390,"editedTimestamp": 1511075295,"isFeatured": false,"isEssence": false,"images": ["https://p1-q.mafengwo.net/s10/M00/E8/50/wKgBZ1oRLjSAAD7vABCQYYGcQrc84.jpeg"],"imageCount": 1,"imageDetails": [{"width": 1104,"height": 1534,"simg": "https://p1-q.mafengwo.net/s10/M00/E8/50/wKgBZ1oRLjSAAD7vABCQYYGcQrc84.jpeg?imageMogr2%2Fthumbnail%2F400x%2Fquality%2F90","mimg": "https://p1-q.mafengwo.net/s10/M00/E8/50/wKgBZ1oRLjSAAD7vABCQYYGcQrc84.jpeg?imageMogr2%2Fthumbnail%2F600x%2Fquality%2F90","bimg": "https://p1-q.mafengwo.net/s10/M00/E8/50/wKgBZ1oRLjSAAD7vABCQYYGcQrc84.jpeg?imageMogr2%2Fthumbnail%2F750x%2Fquality%2F90"}],"videoUrl": null,"videoThumbnail": null,"media": [],"travelNote": null,"reviewUrl": "https://m.mafengwo.cn/nb/public/sharejump.php?type=199&comment_id=85142337&anchor=0","authorId": "95016861","authorName": "安妮.Ling","authorLevel": 21,"authorAvatar": "https://p1-q.mafengwo.net/s15/M00/79/3B/CoUBGV2vM7CADFwZAAKRk_R1NTA84.jpeg","authorUrl": "https://m.mafengwo.cn/nb/public/sharejump.php?type=25&uid=95016861","authorDetails": {"id": 95016861,"name": "安妮.Ling","logo": "https://p1-q.mafengwo.net/s15/M00/79/3B/CoUBGV2vM7CADFwZAAKRk_R1NTA84.jpeg?imageMogr2%2Fthumbnail%2F%2148x48r%2Fgravity%2FCenter%2Fcrop%2F%2148x48%2Fquality%2F90","jump_url": "https://m.mafengwo.cn/nb/public/sharejump.php?type=25&uid=95016861","level": 21},"sourceTab": "positive","poiId": "3474","poiName": "故宫","poiAddress": "北京市东城区景山前街4号","poiLat": 39.917839,"poiLng": 116.397029,"poiType": "attraction","poiReviewCount": 11978,"poiUrl": "https://www.mafengwo.cn/poi/3474.html","poiDetails": {"id": 3474,"name": "故宫","lat": 39.917839,"lng": 116.397029,"type_id": 3,"address": "北京市东城区景山前街4号","num_comment": "11978"},"sourceDestinationId": null,"additionalData": {"note": []},"contentDetails": {"style": "image_comment"},"scrapedAt": "2026-09-17T08:48:57.297065+00:00"},{"reviewId": "1867378697387868","contentType": "post","rating": null,"ratingLabel": null,"text": "","title": "午门","date": "2026-06-07T22:25:02+00:00","timestamp": 1780871102,"editedTimestamp": null,"isFeatured": false,"isEssence": false,"images": ["https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png"],"imageCount": 1,"imageDetails": [{"width": 1080,"height": 1440,"simg": "https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png?imageMogr2%2Fthumbnail%2F600x%2Fstrip%2Fquality%2F90","mimg": "https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png?imageMogr2%2Fthumbnail%2F750x%2Fstrip%2Fquality%2F90","bimg": "https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png?imageMogr2%2Fthumbnail%2F1080x%2Fstrip%2Fquality%2F90","oimg": "https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png?imageMogr2%2Fstrip","sl1": "https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png?imageMogr2%2Fthumbnail%2F540x%2Fstrip%2Fquality%2F75","sl2": "https://weng.mafengwo.net/img/37/6d/b7fb331f2904518c425e0b9ba79673b4.png?imageMogr2%2Fthumbnail%2F540x%2Fstrip%2Fquality%2F90"}],"videoUrl": null,"videoThumbnail": null,"media": [],"travelNote": null,"reviewUrl": "https://m.mafengwo.cn/nb/public/sharejump.php?type=50&wengid=1867378697387868","authorId": "38784844","authorName": "行者","authorLevel": 30,"authorAvatar": "https://p1-q.mafengwo.net/s19/M00/FA/DF/Cpgwc2RUYUFcYQ4GAACrziSMAAw.png","authorUrl": "https://m.mafengwo.cn/nb/public/sharejump.php?type=25&uid=38784844","authorDetails": {"id": 38784844,"name": "行者","logo": "https://p1-q.mafengwo.net/s19/M00/FA/DF/Cpgwc2RUYUFcYQ4GAACrziSMAAw.png?imageMogr2%2Fthumbnail%2F%2148x48r%2Fgravity%2FCenter%2Fcrop%2F%2148x48%2Fquality%2F90","jump_url": "https://m.mafengwo.cn/nb/public/sharejump.php?type=25&uid=38784844","level": 30},"sourceTab": "newest","poiId": "3474","poiName": "故宫","poiAddress": "北京市东城区景山前街4号","poiLat": 39.917839,"poiLng": 116.397029,"poiType": "attraction","poiReviewCount": 11978,"poiUrl": "https://www.mafengwo.cn/poi/3474.html","poiDetails": {"id": 3474,"name": "故宫","lat": 39.917839,"lng": 116.397029,"type_id": 3,"address": "北京市东城区景山前街4号","num_comment": "11978"},"sourceDestinationId": null,"additionalData": null,"contentDetails": {"style": "image_comment"},"scrapedAt": "2026-09-17T08:48:42.180239+00:00"},{"reviewId": "6399196","contentType": "video","rating": null,"ratingLabel": null,"text": "","title": "","date": "2026-06-29T12:59:35+00:00","timestamp": 1782737975,"editedTimestamp": 1782739891,"isFeatured": false,"isEssence": false,"images": [],"imageCount": 0,"imageDetails": [],"videoUrl": "https://play.fenyucn.com/m/t/rDv2PaERFlWPbapg0VsaD_ceURCTIQDV2nLLDPt7-p16oYML4MJh_UCqSvnvf23BragRDNCQWerFCfxiv3LHhhPndeBdg0DaAOYpmZoLWAU=.m3u8","videoThumbnail": "https://weng.mafengwo.net/img/a8/a8/ba8e70222380a891487f63185873e82a.jpeg","media": [{"id": 6892921,"type": 3,"ctime": 0,"ptime": 0,"display_weight": "","data": {"thumbnail": {"width": 720,"height": 1280,"simg": "https://weng.mafengwo.net/img/a8/a8/ba8e70222380a891487f63185873e82a.jpeg?imageMogr2%2Fthumbnail%2F%21400x240r%2Fgravity%2FCenter%2Fcrop%2F%21400x240%2Fquality%2F90","bimg": "https://weng.mafengwo.net/img/a8/a8/ba8e70222380a891487f63185873e82a.jpeg?imageMogr2%2Fthumbnail%2F%21750x450r%2Fgravity%2FCenter%2Fcrop%2F%21750x450%2Fquality%2F90","oimg": "https://weng.mafengwo.net/img/a8/a8/ba8e70222380a891487f63185873e82a.jpeg"},"url": "https://play.fenyucn.com/m/t/OBTmADFzrcYvJAEyw20AY1vNzTFreGpv--Q0kB7QTRGc36enZYDvo1iCFPRCw3Ls94z4nBLI_hMdvFhyFEvVjZHqRakZThtXet-XycLz8HE=.m3u8","hd_url": "https://play.fenyucn.com/m/t/rDv2PaERFlWPbapg0VsaD_ceURCTIQDV2nLLDPt7-p16oYML4MJh_UCqSvnvf23BragRDNCQWerFCfxiv3LHhhPndeBdg0DaAOYpmZoLWAU=.m3u8","md_url": "https://play.fenyucn.com/m/t/c42XgB7UC8iL5XWM_13DuQVHz7Q4HYArWYB1EAKTZ_4D64r94AlGSzSTqmDiRceM4M6DVAcXjQIStqoWqt5-NpDXufRvv5bjm4w33VjbWgs=.m3u8","ld_url": "https://play.fenyucn.com/m/t/OBTmADFzrcYvJAEyw20AY1vNzTFreGpv--Q0kB7QTRGc36enZYDvo1iCFPRCw3Ls94z4nBLI_hMdvFhyFEvVjZHqRakZThtXet-XycLz8HE=.m3u8","width": 720,"height": 1280,"fps": "","filesize": "","duration": 29.967,"video_encode": "","audio_encode": "","jump_url": "","video_id": 6892921}}],"travelNote": null,"reviewUrl": "https://m.mafengwo.cn/nb/public/sharejump.php?type=103&show_id=6399196&video_id=6892921","authorId": "5398654","authorName": "小your老板","authorLevel": 8,"authorAvatar": "https://p1-q.mafengwo.net/s5/M00/D3/A5/wKgB21Ax6mDjANd-AABAtcRAi1U68.jpeg","authorUrl": "https://m.mafengwo.cn/nb/public/sharejump.php?type=25&uid=5398654","authorDetails": {"id": 5398654,"name": "小your老板","logo": "https://p1-q.mafengwo.net/s5/M00/D3/A5/wKgB21Ax6mDjANd-AABAtcRAi1U68.jpeg?imageMogr2%2Fthumbnail%2F%2148x48r%2Fgravity%2FCenter%2Fcrop%2F%2148x48%2Fquality%2F90","jump_url": "https://m.mafengwo.cn/nb/public/sharejump.php?type=25&uid=5398654","level": 8},"sourceTab": "newest","poiId": "3474","poiName": "故宫","poiAddress": "北京市东城区景山前街4号","poiLat": 39.917839,"poiLng": 116.397029,"poiType": "attraction","poiReviewCount": 11978,"poiUrl": "https://www.mafengwo.cn/poi/3474.html","poiDetails": {"id": 3474,"name": "故宫","lat": 39.917839,"lng": 116.397029,"type_id": 3,"address": "北京市东城区景山前街4号","num_comment": "11978"},"sourceDestinationId": null,"additionalData": null,"contentDetails": {"style": "video_comment"},"scrapedAt": "2026-09-17T08:48:42.179651+00:00"}]
Pricing and free-plan preview
Every saved review, photo post or video post is one billable result. Each place with at least one saved result also incurs one place charge. The result-price column below covers results only; add the place and start charges to calculate the run total.
| Apify plan | Per 1,000 saved results | Per place with results |
|---|---|---|
| Free / Starter | $2.99 | $0.00399 |
| Scale | $2.79 | $0.00379 |
| Business and higher | $2.49 | $0.00329 |
Actor starts cost $0.0049 per GB of selected memory, with a minimum of one start event. At the recommended 512 MB setting, 500 saved results from one place cost $1.50389 at the base event rates: $1.495 for results + $0.00399 for the place + $0.0049 to start. A run with no saved results still incurs the start charge.
See the Pricing tab for the current rates and plan discounts. Set a spending limit when collecting large histories.
Free-plan users can preview up to 200 combined reviews and posts per run, across at most 25 runs. This is an access allowance, not a waiver of the displayed charges. Result and place limits do not override it.
Questions about Mafengwo reviews
Can I paste IDs and links together?
Yes. Use the main paste box (places) for bare IDs, place links, hotel links and destination links, separated by newlines, spaces, commas or semicolons. Use startUrls for an optional structured link list. The two inputs are merged without processing a place twice. No Mafengwo login is required.
Does a destination link collect every place in the city?
It works down the destination's attractions in Mafengwo's own order, subject to maxPlaces: a large city offers several hundred. Hotels are listed separately, so submit hotel links directly. For broader coverage, use Mafengwo Places Scraper to find place links, then submit your chosen places here. Direct links take priority when you mix both forms.
How do I analyze negative or neutral opinions?
Set reviewTypes to ["negative", "neutral"] and includePosts to false for rated opinions only. Keep minRating empty unless you deliberately want to exclude lower ratings. Selecting all includes these groups as well as positive reviews.
How do I collect the complete review history?
Use reviewTypes: ["all"], maxReviewsPerPlace: 0 and includePosts: false, leaving minRating and postedAfter empty. Set a sufficient spending limit. Use includePosts: true if you also want photo and video posts. Availability and the free-plan allowance still apply; a reported review count is not a guarantee that every historical record remains available.
Are posts always unrated, and are results newest first?
Most posts are unrated. Any real rating is preserved, including a rating on a photo post. Setting minRating removes unrated content. Capped results favour recent material but may omit newer matching content; for precise chronological analysis, collect the complete matching set and sort the exported timestamp values.
Why did a run return few or no results?
The place may have little available content, or your date and rating filters may exclude it. Try a known place with filters empty and a small result limit. A recent postedAfter date can still require a long collection because older material must be checked. Partial results remain available if a place cannot be completed; review the run's messages and the Unprocessed content output when present.
Can I track changes or use the results in a spreadsheet?
Save your input as an Apify task and set a weekly schedule to revisit selected places. Each separate run produces its own dataset. Compare poiId, contentType and reviewId together to identify newly seen content; the actor does not maintain a change history or send change notifications itself. Export CSV or Excel for spreadsheet analysis, or JSON to retain all nested media and author details.
More Zen Studio scrapers for Chinese platforms
🛒 E-commerce
Goofish 闲鱼
Taobao 淘宝
JD.com 京东
1688 阿里巴巴
Weidian 微店
🎬 Short-video & social
Douban 豆瓣
Weibo 微博
Kwai (Brazil)
Kuaishou 快手
Douyin 抖音
RedNote 小红书
Xigua 西瓜视频
🏠 Real estate & autos
Anjuke 安居客
58.com 58同城
Autohome 汽车之家
🧭 Travel & maps
-
AMap 高德地图 -
Baidu Maps 百度地图 -
Tencent Maps 腾讯地图 -
Ctrip 携程 -
Mafengwo 马蜂窝
Support
Use this actor's Issues tab for bugs and feature requests. Include the input and run link so Zen Studio can reproduce the problem. Avoid posting credentials or private data.
Original traveler opinions, photos and videos for Chinese travel research.

