Mafengwo 马蜂窝 Reviews Scraper | Photos & Videos avatar

Mafengwo 马蜂窝 Reviews Scraper | Photos & Videos

Pricing

from $2.49 / 1,000 review or posts

Go to Apify Store
Mafengwo 马蜂窝 Reviews Scraper | Photos & Videos

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

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

Mafengwo Reviews Scraper

Mafengwo 马蜂窝 reviews and posts: 22,000+ results in 90 seconds in a measured four-place local benchmark

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.

Try 10 results in Apify Console

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
Mafengwo  Reviews
➤ You are here
  Places
Tickets and nearby places
  Ctrip Hotel Reviews
Guest ratings and text
  Baidu Maps POI
Contacts and reviews
  Tencent QQ Maps
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

InputBehavior when omitted
placesPlain text containing place IDs or place, hotel and destination links. Supply this or startUrls.
startUrlsOptional 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.
maxReviewsPerPlace500 combined reviews and posts per place, after filtering. 0 collects all available matching results.
maxPlaces20 places across the whole run. Direct links take priority over destination discoveries. Missing or empty places still count toward this processing limit.
includePoststrue. Include photo/video posts, independently of the selected review types.
includeTravelNotesfalse. 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.
maxTravelNotes20 notes per destination. 0 keeps going until the destination runs out.
maxImagesPerNote200 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.
minRatingNo rating filter. When set to a value from 1 to 5, unrated content is excluded.
postedAfterNo 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.

FieldsContent
reviewId, contentType, reviewUrlIdentity and link; content type is review, post, video or travelNote.
rating, ratingLabel, text, titleAvailable rating, including decimal values, and original text. Missing values are null; video text can be empty.
date, timestamp, editedTimestampUTC creation date, creation time in seconds and available edit time.
isFeatured, isEssence, sourceTabFeatured/essence flags and the descriptive review group where the content was found.
images, imageCount, imageDetailsOriginal-size photo links, count and complete photo details, including dimensions and alternate sizes.
videoUrl, videoThumbnail, mediaBest available video link, thumbnail and complete video details, including other qualities and duration when present.
travelNoteLinked travel-note details when present.
authorId, authorName, authorLevel, authorAvatar, authorUrl, authorDetailsAuthor information and all additional author details.
poiId, poiName, poiAddress, poiLat, poiLng, poiType, poiReviewCount, poiUrl, poiDetailsPlace identity, location, reported rated-review count and complete available place details.
sourceDestinationIdDestination that supplied the place, or null for direct links.
destinationId, destinationNameDestination a travel note was written about. Null on reviews and posts.
tripStartDate, tripDays, tripCost, tripParty, tripTagsWhat 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.
mentionedPlacesPlaces 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, copyrightHow a travel note has been received, and the author's published copyright line.
additionalData, contentDetails, scrapedAtAdditional 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 planPer 1,000 saved resultsPer 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

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.

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

🎬 Short-video & social

🏠 Real estate & autos

🧭 Travel & maps

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.