Tencent Scraper | Maps Places, Phones and Ratings avatar

Tencent Scraper | Maps Places, Phones and Ratings

Pricing

from $2.98 / 1,000 places

Go to Apify Store
Tencent Scraper | Maps Places, Phones and Ratings

Tencent Scraper | Maps Places, Phones and Ratings

Tencent Maps scraper (腾讯地图, QQ地图) for Chinese businesses: 100 places in 4 seconds, 48 fields each. Get name, category, address, phones, rating, average spend, opening hours, coordinates and Dianping, Amap, Meituan and Ctrip ids, plus photos, menus and reviews. Search in English or Chinese. No login.

Pricing

from $2.98 / 1,000 places

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

62

Total users

25

Monthly active users

18 hours ago

Last modified

Features

Limited permissions

Share

Tencent Scraper (腾讯地图) | Maps Places, Phones and Ratings (2026)

1 search. 100 Tencent places. 48 fields per place.

From SilentFlow. Creators of Pinterest Scraper and Leboncoin Scraper, with 420,000+ combined lifetime runs.

Turn Tencent Maps (腾讯地图, also known as QQ地图 or QQ Maps) into a clean table of Chinese businesses: every restaurant, hotel, shop, clinic or landmark of a city with its category, full address, phone numbers, rating, its full review count on Dianping (大众点评), average spend per person, group-buy deals, opening hours, top dishes, district, coordinates you can drop on any map, and its ids on Dianping, Amap, Meituan and Ctrip. Hotels add their stars, their price on each booking site and the lowest nightly rate of the next two weeks. Switch on place details and each row also carries its photos, its menu with prices, the visitors' tags and up to 10 reviews. Type hotpot, pick Shanghai, press Start: 100 places with their Dianping review counts and deals in about 15 seconds on our test runs, or 100 places with photos, menus and reviews too in 40 seconds. No Tencent account, no API key, and no Chinese needed to ask.

Why choose this actor?

Copying shop names and phone numbers off a Chinese map by hand? Finding that Google Maps knows a tenth of the restaurants on a Shanghai street? Getting stuck because the official map API wants a developer key and a Chinese account before it answers anything?

  • The real Dianping review count, not the handful on the map. The map listing attaches 3 to 9 reviews to a place; Dianping counts thousands. On 100 Shanghai hotpot restaurants (10 November 2026), every row came with its full Dianping count, 8,787 in the middle of the range and up to 48,714, next to the rating and the spend per person: the popularity measure Chinese buyers use, in the default run, in about 15 seconds.
  • Deals, hotel rates and photos in the same row as the phone number. 89 of the same 100 restaurants carried their Meituan group-buy deals, 885 vouchers and set meals with price, value and conditions. On 100 Beijing hotels, 93 came with their stars and their price on Ctrip, eLong, Meituan or Fliggy, and 88 with the lowest rate of each of the next 15 nights. One more switch adds photos, a ranked menu and up to 10 reviews per place, and every row joins Dianping, Amap, Meituan and Ctrip through their ids.
  • Every place of a big city, from a search, a link or an id. When a city lists more places than one search shows, the search goes on district by district: 酒店 in Beijing returned all 848 hotels the map lists, where a single search stops at 800. Search terms, map.qq.com links and place ids mix in one run, in English or Chinese (Shanghai or 上海, Sichuan), a place found twice is saved once, and leaving the city out searches all of China, busiest cities first.

Try Tencent Scraper

Try your first place list

Paste this input in the JSON tab, or keep the prefilled form and press Start. It lists the first 100 hotpot restaurants Tencent Maps shows for Shanghai, from 傣妹火锅 on Nanjing East Road to a string of 海底捞 branches, each with its phone numbers, rating, full Dianping review count, spend per person, group-buy deals, opening hours, entrance point and coordinates. It took about 15 seconds on our test runs.

{
"searchQueries": ["hotpot"],
"cities": ["Shanghai"],
"maxItems": 100
}

Runs on the Apify Free plan: sign up, open the actor, press Start. Each place lands as one row of the dataset, which you can open as a table, download as CSV, Excel or JSON, or read from the API. Change hotpot for any business type, brand or landmark (coffee, 酒店, 海底捞, 医院, 故宫) and Shanghai for any Chinese city or province (Beijing, 成都, Guangdong), and run again. Add "includeDetails": true for photos, menus and visitor tags, and "maxReviews": 10 for reviews too: the same 100 places then take about 40 seconds. Only need names, addresses and phones? "includeReviewCount": false brings them back in about 3 seconds.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper before you ask it to write code or plan a dataset:

You have access to the Tencent Maps scraper on Apify: silentflow/tencent-scraper
It reads Tencent Maps (腾讯地图, map.qq.com), one of China's main map apps. One row = one place
(a business, a public service or a landmark in mainland China).
Input (all optional; give at least one of searchQueries / startUrls / poiIds):
- searchQueries (array of strings): what to look for, English or Chinese.
Category words return the most places: "hotpot", "coffee", "酒店", "医院".
A brand name returns the branches the map features: "海底捞", "Starbucks".
- cities (array of strings): cities or provinces, English or Chinese: "Shanghai", "上海", "Sichuan".
Each search term runs in each city. Empty = all of China, cities with the most results first.
- maxItems (integer, default 100): places per search, one search = one term in one city.
Past the ~800 places one search shows, a city is searched district by district.
- startUrls (array of {url}): map.qq.com links. Place link: https://map.qq.com/m/detail/poi/poid=...
Search link: https://map.qq.com/?what=咖啡&city=上海 (also wd/keyword with c/region,
and apis.map.qq.com/uri/v1/search?keyword=...&region=...)
- poiIds (array of strings): Tencent Maps place ids (9 to 20 digits), e.g. "18195819856201555906"
- includeReviewCount (boolean, default true): adds Dianping's full review count, group-buy deals,
hotel stars, rates by booking site and a 2-week rate calendar, rankings, WeChat mini programs.
false = faster list (100 places in ~3 s instead of ~15 s).
- includeDetails (boolean, default false): adds photos, menu with prices and visitor tags
(100 places in ~40 s).
- maxReviews (integer 0-10, default 0): reviews per place; above 0 also turns includeDetails on.
Output per place (69 data fields + 3 run fields, null when the map has no value):
- id (string, stable Tencent Maps id), url (string), name (string, Chinese as on the map)
- category (string), categoryPath (string[]), categoryCode (string), businessStatus ("OPERATIONAL"|...),
description (string|null), features (string[]|null), recommendedDishes (string[]|null),
tips (string[]|null, notices such as holiday hours), brandId (string|null), merchantName (string|null)
- phone (string|null, first number), phones (string[]|null, every number)
- rating (number 0-5|null), dianpingReviewCount (integer|null, the place's full review count on Dianping),
reviewsShown (integer|null, the few Dianping reviews attached to the map listing),
reviewsSource (string|null), photosCount (integer|null), averagePrice (number|null, spend per person), currency ("CNY"|null),
popularity (integer|null, the map's heat score), rank (integer|null, position in its search),
clickCounts (object|null, the map's usage counters as the site names them)
- address (string), merchantAddress (string|null), district, city, province (strings),
adcode, cityCode, provinceCode (6-digit China admin codes), countryCode ("CN"),
latitude, longitude (WGS-84), latitudeGcj02, longitudeGcj02 (GCJ-02, the system of Chinese maps),
navLatitude, navLongitude (WGS-84 entrance point), isIndoor (boolean), floorName, buildingId,
parentPlaceId (the mall or complex the place sits in), areaSqm (number|null),
openingHours (string|null), openingHoursSchedule ({daily|monday..sunday: [{open, close}]}|null),
updatedAt (RFC 3339|null, last update of the map record)
- dianpingId, meituanId, amapId, ctripId, fliggyId, elongId, wechatMiniProgramId (strings|null)
- hasGroupBuy (boolean|null), groupBuyDeals ([{id, type "voucher"|"set_meal", title, price, value,
discount, conditions, imageUrl, platform, currency}]|null), hotelStars (integer|null),
checkInTime, checkOutTime (strings|null), hotelRates ([{site, price, currency}]|null),
rateCalendar ([{date YYYY-MM-DD, lowestRate}]|null, next 2 weeks), wechatMiniPrograms
([{appId, name, account, services}]|null), rankings ([{name, category, position, size}]|null)
- with place details: imageUrl (string), images (string[]), menu ([{name, price, likes, imageUrl}]),
tags ([{name, count}]), reviews ([{author, rating 1-5, text, publishedAt RFC 3339, images}])
- searchQuery (string|null), searchCity (string|null), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/tencent-scraper").call(run_input=...)

How to scrape Tencent Maps places, phones and ratings

Three inputs, from the simplest to the richest. Each one runs as it is.

List the hotpot restaurants of Shanghai

The default input: the first 100 hotpot places Tencent Maps shows for Shanghai, in about 15 seconds. On our run every row had a rating, its full Dianping review count, an average spend, opening hours, a top-dish list and a Dianping id; 98 had at least one phone number, 89 their group-buy deals, 77 a place on a local leaderboard (黄浦区火锅人气榜, 16th of 79) and 72 a WeChat mini program.

{
"searchQueries": ["hotpot"],
"cities": ["Shanghai"],
"maxItems": 100
}

Collect photos, menus and reviews of Shanghai hotpot restaurants

Turn on place details and ask for reviews. 20 places took 10 seconds and came back with 3,979 photo links, 198 menu dishes (177 of them with a price), 100 visitor tags with their counts and 191 reviews, 31 of them with the visitor's own photos, on top of their Dianping review counts and 216 group-buy deals.

{
"searchQueries": ["hotpot"],
"cities": ["Shanghai"],
"maxItems": 20,
"includeDetails": true,
"maxReviews": 10
}

Compare Beijing hotel prices across Ctrip, eLong, Meituan and Fliggy

Hotels carry their price on each booking site. 酒店 in Beijing returned 100 hotels in 28 seconds, with a phone number and a Dianping review count on all of them, their stars and starting price on eLong (87), Meituan (84), Ctrip (74) or Fliggy (46) for 93, and the lowest rate of each of the next 15 nights for 88, plus their ids on those platforms so the map's list joins your own rate data in one step.

{
"searchQueries": ["酒店"],
"cities": ["Beijing"],
"maxItems": 100
}

Input parameters

ParameterTypeDefaultWhat it does
searchQueriesarray of strings["hotpot"] in the formWhat to look for, in English or Chinese. Each term is searched in each city.
citiesarray of strings["Shanghai"] in the formCities or provinces, in English or Chinese. Empty means all of China.
maxItemsinteger100Places per search, one search being one term in one city.
startUrlsarray of linksnonemap.qq.com place links and search links.
poiIdsarray of stringsnoneTencent Maps place ids, one row each.
includeReviewCountbooleantrueAdds the full Dianping review count, group-buy deals, hotel rates and rankings.
includeDetailsbooleanfalseAdds photos, the menu with prices and the visitors' tags.
maxReviewsinteger, 0 to 100Reviews per place. Any number above 0 also turns on includeDetails.

No field is required: any one of searchQueries, startUrls or poiIds is enough to start a run, and the three can be mixed in the same run.

Accepted inputs

  • Search terms. Business types, brands, products or landmarks, as you would type them in the map: hotpot, coffee, hotel, 酒店, 医院, 健身房, 海底捞, Starbucks, 故宫. Common English words are understood by the map; Chinese terms give the most precise results. Category words return the most places; when a large city lists more than one search shows (about 800), the actor goes on district by district to reach them all. A brand name returns the branches the map chooses to feature for that city, not always every outlet.
  • Cities and provinces. Chinese names (上海, 上海市, 成都, 四川省) are passed to the map as they are. English and pinyin names are read for the four municipalities, every provincial capital, about 130 other large cities and all 27 provinces and autonomous regions: Beijing, Shanghai, Guangzhou, Shenzhen, Chengdu, Xi'an, Hangzhou, Suzhou, Qingdao, Sichuan, Guangdong, Inner Mongolia. Case, spaces, apostrophes and a trailing City or Province do not matter. A name the actor cannot read is reported in the log and skipped, never widened to all of China.
  • A province is searched city by city, the cities with the most results first, until the cap of the search is reached.
  • No city searches all of China the same way. A named landmark (故宫) is searched across the country in one list.
  • Links. Place links: https://map.qq.com/m/detail/poi/poid=… (the url column of a previous run), https://map.qq.com/m/detail/poi?uid=…, https://map.qq.com/m/detail/poi/…, https://map.qq.com/?uid=…, https://apis.map.qq.com/uri/v1/marker?marker=uid:…. Search links: https://map.qq.com/?what=…&city=… (or w, wd, keyword with c, region), and https://apis.map.qq.com/uri/v1/search?keyword=…&region=… or boundary=region(…).
  • Place ids are the 9 to 20 digit numbers of the id column, or the poid or uid of a place link. A shorter number is read as a search term (711).

Every value is read by its shape, whichever field it was typed in: a link pasted among the search terms is still read as a link, and a place id among the links as an id. A place found by two searches, or by a search and an id, is saved once.

Review count, deals and hotel rates

includeReviewCount is on by default. It adds what the review and booking platforms say about each place: dianpingReviewCount, the place's full review count on Dianping (大众点评), photosCount, hasGroupBuy and groupBuyDeals (each voucher or set meal with its price, value, discount and conditions), and for hotels hotelStars, checkInTime, checkOutTime, hotelRates (the starting price on each booking site) and rateCalendar (the lowest rate of each of the next 15 nights). It also adds the local leaderboards that list the place (rankings) and its WeChat mini programs. 100 places take about 15 seconds with it, about 3 seconds without; turn it off when you only need names, addresses and phones. A place the platforms know nothing about is still saved with everything the search gave.

Place details

includeDetails reads the page of each place, the one its share link opens. It adds the main photo (imageUrl) and the photo links of the place (images, up to about 200), the 10 dishes visitors recommend most with their price, number of recommendations and photo (menu), and the visitors' tags with how many gave each one (tags); it also fills the phone numbers, rating, hours and introduction the search left empty. maxReviews adds the reviews the page shows, 10 at most per place. 100 places run in about 40 seconds with details on. A place whose page has nothing to add, or cannot be read in time, is still saved with everything the search gave.

What data can you extract from Tencent Maps?

Each row is one place, with 72 fields: 69 about the place and 3 about the run, grouped the way you read them. On the default run (100 hotpot places in Shanghai), 51 of the 69 were filled on at least half the rows. A hospital search fills fewer (no dishes, no spend, fewer ratings), because the map holds less for those places.

  • Identity. id is the Tencent Maps place id, stable across runs: use it to deduplicate and to refresh a place later. url is the permanent page of the place on Tencent Maps. name is the name shown on the map, in Chinese, with the branch in brackets (海底捞火锅(西单店)).
  • What the place is. category (火锅, 咖啡厅, 综合医院), categoryPath (美食 > 火锅), categoryCode (the map's 6-digit category code, handy to filter without reading Chinese), businessStatus (OPERATIONAL for a business the map lists as trading normally), features (明厨亮灶, 复古风格), recommendedDishes (the top dishes for restaurants), tips (notices the map pins on a place, such as holiday hours), brandId (the same for every branch of a chain), merchantName (the business's own name on its listing, sometimes longer than the map's), and, for hotels and landmarks, a description.
  • Contact. phone is the first number, phones every number the map lists, landlines with their area code (021-63128995) and mobiles. Phones were on 96% of the default run's rows and 94% of 200 Guangzhou hospitals.
  • Ratings, prices and popularity. rating out of 5, dianpingReviewCount (the place's full review count on Dianping, in the thousands for a busy restaurant), averagePrice (spend per person, in currency CNY), popularity (the map's heat score, 热度), reviewsShown (how many Dianping reviews are attached to the map listing, from reviewsSource: a handful, where dianpingReviewCount is the full count), photosCount (photos of the place across the platforms), rank (the place's position in the search that found it, 1 for the first), and clickCounts, the map's own usage counters for the place under the names the map gives them (all_click_180_nav, all_click_180_search, city_rank_id: navigation, search and WeChat counters over 90 and 180 days, and ranks).
  • Place and time. address as the map shows it, merchantAddress as the business wrote it (often with the shop unit or the nearest metro exit), district, city, province, adcode (China's 6-digit administrative code of the district), cityCode and provinceCode (the same codes one and two levels up), countryCode, openingHours (10:00-24:00, or 周一至周五 09:00-17:00; 周六 09:00-16:30), openingHoursSchedule (the same hours by day in English keys, daily or monday to sunday, each a list of open/close spans), and updatedAt, when Tencent Maps last updated the record.
  • Inside malls and complexes. isIndoor is true for a place inside a building the map knows, with its floorName (F3, B1) and buildingId. parentPlaceId is the id of the mall, station or complex the place belongs to, so you can group every shop of one mall. areaSqm is the area in square meters the map gives for larger venues, such as hotels and hospitals.
  • Coordinates in both systems. Maps of mainland China use GCJ-02, an offset system that lands a few hundred meters off on GPS-based maps. latitude and longitude are converted to WGS-84, the system of GPS, Google Maps, OpenStreetMap and GIS tools; latitudeGcj02 and longitudeGcj02 keep the map's own values for Chinese map tools. navLatitude and navLongitude (WGS-84) are the entrance the map routes drivers to, which can sit a street away from the center of a large venue.
  • Ids on other platforms. dianpingId (大众点评, on nearly every row), amapId (高德地图), meituanId, ctripId (携程, hotels and attractions), fliggyId (飞猪) and elongId (艺龙) for hotels, and wechatMiniProgramId, the app id of a WeChat mini program attached to the place (the merchant's own, or an ordering or booking service it uses): the keys to join this table with your data from those platforms.
  • Deals, hotel rates and rankings (with includeReviewCount, on by default). hasGroupBuy and groupBuyDeals: each Meituan voucher or set meal with id, type (voucher or set_meal), title (300 代 340 元代金券), price paid, value received, discount (8.9折), conditions (days, booking) and imageUrl. For hotels: hotelStars, checkInTime and checkOutTime, hotelRates (the starting price on Ctrip, eLong, Meituan, Fliggy and the other booking sites that list the hotel) and rateCalendar (the lowest rate of each of the next 15 nights, by date). rankings lists the local leaderboards of the map that include the place (黄浦区火锅人气榜, position 16 of size 79), and wechatMiniPrograms the mini programs attached to it, with their appId, name and account.
  • Place details (with includeDetails or maxReviews). imageUrl and images (photo links that open directly as JPEG files), menu (each dish with name, price in CNY, likes and imageUrl), tags (name and count), and reviews (each with author as the platform shows it, often masked like 兔***, rating from 1 to 5, text, publishedAt, and the images the visitor posted). Without details, these fields are null.
  • Run context. searchQuery and searchCity say which of your searches found the place (searchCity is empty for a search across all of China, and both are empty for a place reached by its id), scrapedAt when it was collected.

Data is read live from Tencent Maps when the run starts, never from a cache. Dates are RFC 3339 in UTC; a review's publishedAt carries the day it was posted. A value the map does not hold is null, never an empty string.

Output example

One complete row from the default run of 10 November 2026, as it lands in the dataset (13 deals in the real row, two shown here):

{
"id": "8643526720481576028",
"url": "https://map.qq.com/m/detail/poi/poid=8643526720481576028",
"name": "海底捞火锅(舟虹路店)",
"category": "火锅",
"categoryPath": ["美食", "火锅"],
"categoryCode": "101600",
"businessStatus": "OPERATIONAL",
"description": null,
"features": ["明厨亮灶"],
"recommendedDishes": ["招牌虾滑", "清油番茄锅锅底", "海底捞", "捞派麻辣滑牛肉", "番茄汤", "牛肉粒", "纯纯纯牛油锅", "捞派鸭肠", "捞派肥牛", "血旺"],
"tips": null,
"brandId": "1772",
"merchantName": "海底捞火锅(舟虹路店)",
"phone": "021-54161929",
"phones": ["021-54161929", "021-54325029"],
"rating": 4.8,
"dianpingReviewCount": 9270,
"reviewsShown": 5,
"reviewsSource": "大众点评网",
"photosCount": 237,
"averagePrice": 117,
"currency": "CNY",
"popularity": 9311,
"rank": 4,
"clickCounts": {
"all_click_180_nav": 260,
"all_click_180_search": 601,
"all_click_180_sg": 473,
"all_click_180_wechat_friend": 1030,
"all_click_180_wechat_send": 3105,
"all_click_90_nav": 193,
"city_rank_id": 4058,
"city_rank_id_90_nav": 3069,
"rank_id": 163169,
"top_rate": 0.3
},
"address": "上海市闵行区申长路869号龙湖虹桥天街购物中心F3",
"merchantAddress": "上海市闵行区申长路799号307、308、309、310、311室",
"district": "闵行区",
"city": "上海市",
"province": "上海市",
"adcode": "310112",
"cityCode": "310100",
"provinceCode": "310000",
"countryCode": "CN",
"latitude": 31.193353,
"longitude": 121.309298,
"latitudeGcj02": 31.19138,
"longitudeGcj02": 121.313806,
"navLatitude": 31.19352,
"navLongitude": 121.309389,
"isIndoor": true,
"floorName": "F3",
"buildingId": "3100001543038",
"parentPlaceId": "13179416132958287575",
"areaSqm": null,
"openingHours": "10:00-07:00",
"openingHoursSchedule": {
"daily": [
{ "open": "10:00", "close": "07:00" }
]
},
"updatedAt": "2024-03-18T12:16:45Z",
"dianpingId": "xTujgAFSZqbDKc-dBXjK0g",
"meituanId": "lvo1OTOd-Q9SbRZnUGUv4g",
"amapId": "B0FFKJTCUP",
"ctripId": null,
"fliggyId": null,
"elongId": null,
"wechatMiniProgramId": "wx1ddeb67115f30d1a",
"hasGroupBuy": true,
"groupBuyDeals": [
{
"id": "1665438869",
"type": "voucher",
"title": "300 代 340 元代金券",
"price": 300,
"value": 340,
"discount": "8.9折",
"conditions": ["周一至周五部分时段可用", "全场通用", "单次可用1张", "免预约"],
"imageUrl": null,
"platform": "Meituan",
"currency": "CNY"
},
{
"id": "1630221027",
"type": "set_meal",
"title": "(随心选)六荤三素工作日午休单人餐",
"price": 79,
"value": 79,
"discount": null,
"conditions": ["周一至周五", "免预约"],
"imageUrl": "https://multimedia.map.qq.com/mapbigdata/0/40de512f617ade07f4210d576887acdb/0",
"platform": "Meituan",
"currency": "CNY"
}
],
"hotelStars": null,
"checkInTime": null,
"checkOutTime": null,
"hotelRates": null,
"rateCalendar": null,
"wechatMiniPrograms": [
{ "appId": "wx406aa28257b8277f", "name": "海底捞外送", "account": "gh_94300eb818c2", "services": null }
],
"rankings": null,
"imageUrl": null,
"images": null,
"menu": null,
"tags": null,
"reviews": null,
"searchQuery": "hotpot",
"searchCity": "Shanghai",
"scrapedAt": "2026-11-10T12:24:46Z"
}

With place details and reviews on, the same place also carries the fields below (201 photo links, 10 dishes and 7 reviews in the real row, shortened here):

{
"imageUrl": "https://multimedia.map.qq.com/mapbigdata/0/1432d49ce55e15e9eb1b476925a1b4dd/0",
"images": [
"https://multimedia.map.qq.com/mapbigdata/0/1432d49ce55e15e9eb1b476925a1b4dd/0",
"https://multimedia.map.qq.com/mapbigdata/0/077da4338f2f5375c094ce1c89f64ffb/0"
],
"menu": [
{ "name": "招牌虾滑", "price": 58, "likes": 58, "imageUrl": "https://multimedia.map.qq.com/mapbigdata/0/e31e7c23a43cfee5f762e2f0473f8c44/0" },
{ "name": "清油番茄锅锅底", "price": 78, "likes": 43, "imageUrl": "https://multimedia.map.qq.com/mapbigdata/0/fb52cf229ac4e30264a4d04b0a768274/0" }
],
"tags": [
{ "name": "餐后赠送小零食", "count": 472 },
{ "name": "美甲师手法专业", "count": 149 },
{ "name": "全程换碟及时", "count": 143 }
],
"reviews": [
{ "author": "巴乔", "rating": 5, "text": "服务特别棒,味道很好,值得带朋友来", "publishedAt": "2025-09-23T00:00:00Z", "images": null },
{ "author": "巴乔", "rating": 5, "text": "服务非常好,口味非常棒,好好好", "publishedAt": "2025-09-22T00:00:00Z", "images": null }
]
}

Advanced usage

Six recipes for the cases the examples above do not show. Each input runs as it is.

Compare two drink markets across two cities

Several terms and several cities multiply: each term runs in each city, and a place found twice is saved once. This input returned 165 places in 26 seconds (95 in Guangzhou, 70 in Shenzhen), mostly cafés and cold-drink shops, each with its Dianping review count (1,086 in the middle of the range) and 107 of them with their group-buy deals, enough to compare density, popularity and prices between the two cities.

{
"searchQueries": ["coffee", "奶茶"],
"cities": ["Shenzhen", "Guangzhou"],
"maxItems": 50
}

Search all of China, busiest cities first

Leave cities empty and the actor asks the map which cities hold results, then works through them, the city with the most results first, until each search reaches its cap. Three terms with a cap of 400 each returned 1,200 places in 35 seconds on our run, hotpot from Chengdu, hotels from Hangzhou and coffee across six cities. The review count is switched off here for a fast first map of the country; leave it on to rank the places by popularity.

{
"searchQueries": ["火锅", "酒店", "咖啡"],
"maxItems": 400,
"includeReviewCount": false
}

Cover a whole province

A province name works like a short list of cities, searched in order of results. hotel in Sichuan returned 60 places in 24 seconds, all in Chengdu, the city with the most hotels, 58 of them with their price on the booking sites and 54 with their nightly rates for the next two weeks; raise maxItems to reach the next cities of the province.

{
"searchQueries": ["hotel"],
"cities": ["Sichuan"],
"maxItems": 60
}

Build a hospital contact list for Guangzhou

Public services are on the map too. 医院 (hospital) in Guangzhou returned 200 places in 5 seconds: general hospitals, community health centers, maternity, cancer and children's hospitals, with at least one phone number on 190 of them and a district on every one. A contact list needs no review count, so it is switched off for speed.

{
"searchQueries": ["医院"],
"cities": ["Guangzhou"],
"maxItems": 200,
"includeReviewCount": false
}

Watch the reviews of the places you follow, every week

Keep the ids of the places you follow (competitors, prospects, your own branches) and schedule this input weekly in Apify. Each id returns its current phone numbers, rating, Dianping review count, spend, deals and hours with its latest reviews, so a change, a new deal or a new complaint shows up as a diff between two runs. Three Haidilao branches came back with 30 reviews, 38 deals and their Dianping counts (20,018 to 37,566) in 12 seconds on our run.

{
"poiIds": [
"13774482554307834979",
"4062879599476274838",
"12083544419299915019"
],
"maxReviews": 10
}

Copy links straight from the browser: a search link returns its results, a place link returns that place. One search link for Beijing hotels and one place link returned 21 rows in 9 seconds, the search capped at 20 by maxItems, 20 of them with their hotel rates.

{
"startUrls": [
{ "url": "https://map.qq.com/?what=hotel&city=Beijing" },
{ "url": "https://map.qq.com/m/detail/poi/poid=6592306437757169526" }
],
"maxItems": 20
}

FAQ

What is Tencent Maps? Tencent Maps (腾讯地图, map.qq.com, formerly QQ地图) is the map service of Tencent, the company behind WeChat and QQ. It is one of the three big consumer maps of mainland China with Amap and Baidu Maps, and the map built into WeChat, so its business listings are the ones people see when they share a location or look for a shop inside WeChat.

What does the scraper extract exactly? One row per place: name, category, address, district, city, province and their codes, every phone number, rating out of 5, the full Dianping review count, average spend per person, group-buy deals, hotel stars and rates by booking site with a two-week calendar, local rankings, popularity and usage counters, opening hours as text and by day, top dishes, features, brand id, the floor and mall of indoor places, the entrance point, coordinates in WGS-84 and GCJ-02, and the place's ids on Dianping, Amap, Meituan, Ctrip, Fliggy, eLong and WeChat. With place details on, also its photos, menu with prices, visitor tags and reviews. The full list with types is in the section above.

Do I need a Tencent or WeChat account, an API key, or to read Chinese? No. The actor reads the public map without any login or key. You can type search terms and cities in English; names, addresses and reviews come back in Chinese, as the map shows them, alongside codes (categoryCode, adcode), numbers and coordinates that need no translation.

Can I get photos, menus and reviews? Yes: switch on includeDetails for photos, the menu with prices and the visitors' tags, and set maxReviews (up to 10) for reviews. On 100 Shanghai hotpot restaurants, every place had photos, 99 a menu and visitor tags, and 95 at least one review, 7 per place in the middle of the range. 100 places take about 40 seconds with details on, so leave them off when you only need contacts and locations.

Why 10 reviews at most per place? The page of a place on Tencent Maps shows up to 10 visitor reviews, some of them signed by Tencent Maps users (腾讯地图用户), and the actor returns those. They are a recent sample of what visitors say, not the full review history of the place; rating and the visitor tags with their counts summarize the rest.

How many places can one search return? Every place the map lists for the term in the city. One search on the map shows about 800 places at most; when a city lists more, the actor goes on district by district and skips the places it already has: 酒店 in Beijing returned all 848 hotels the map lists in 60 seconds on our run (review count off), where a single search stops at 800. maxItems sets the cap per search, and a search across all of China or a province moves on to the next city when one city runs out. Use several terms (火锅, 串串, 麻辣烫) to widen a sweep: a place found by two of them is saved once.

Why does a brand search return fewer branches than the brand has? Tencent Maps shows a selection of branches for a brand name: 海底捞 returned 44 branches in Beijing on our run, every one with its phone numbers, hours, spend per person and the same brandId, and the map features only a few for some chains. A category word (hotpot, coffee) in the same city returns hundreds of places, branches of the brand included; filter on brandId or the name afterwards.

Can I search several terms and several cities in one run? Yes. Each term runs in each city: 2 terms and 2 cities make 4 searches, each capped by maxItems. Links and place ids can sit in the same run, and a place reached twice is saved once.

Which coordinates should I use? latitude and longitude (WGS-84) for anything outside the Chinese map ecosystem: Google Maps, OpenStreetMap, QGIS, Kepler, Tableau. latitudeGcj02 and longitudeGcj02 for Chinese map tools and APIs, which expect the offset system. navLatitude and navLongitude when you route people or deliveries to the door rather than to the middle of a building.

How do I join this table with Dianping, Amap or Ctrip data? Use the id columns: dianpingId, amapId, meituanId, ctripId, fliggyId and elongId hold the place's own id on each platform, the way that platform writes it (B0FFKJTCUP on Amap, 1285447 on Ctrip). Hotels carry the most of them; restaurants usually carry Dianping, Amap and Meituan.

What is the difference between dianpingReviewCount and reviewsShown? dianpingReviewCount is the place's full review count on Dianping (大众点评), the review platform behind the map's ratings: 8,787 in the middle of the range for 100 Shanghai hotpot restaurants, and the number to rank places by popularity. reviewsShown is the handful of those reviews Tencent Maps attaches to its listing, 3 to 9 on the same run. dianpingReviewCount is filled when includeReviewCount is on, the default; a place with no Dianping page keeps it empty rather than showing 0.

Can I get hotel prices? Yes, with includeReviewCount on (the default). A hotel row carries its stars, check-in and check-out times, its starting price on each booking site that lists it (hotelRates: Ctrip, eLong, Meituan, Fliggy) and the lowest rate of each of the next 15 nights (rateCalendar). On 100 Beijing hotels, 93 had their booking prices and 88 their nightly rates. Prices are in CNY and read live when the run starts.

What are the group-buy deals? The vouchers and set meals the place sells on Meituan, the group-buy platform of Chinese restaurants: a 300 代 340 元代金券 voucher pays 300 yuan for 340 of food, a set meal has its own price and value. Each deal comes with its discount and conditions (days, booking). 89 of 100 Shanghai hotpot restaurants had some, 885 deals in all.

How fresh is the data, and are the links permanent? Every run reads the map live. updatedAt tells when Tencent Maps last updated the record. id and url are permanent for a place; a place id the map no longer knows is reported in the log and skipped. Photo links open directly as image files; download the ones you want to keep.

Does it cover Hong Kong, Macau and Taiwan? Tencent Maps search lists places in mainland China. A search in 香港 (Hong Kong), 澳门 (Macau) or a city of Taiwan comes back empty, and the run ends with a message saying nothing was found rather than failing. Their English names are not in the city list, so the run asks you to type the city in Chinese.

Is it legal to scrape Tencent Maps? The actor collects business listings and reviews that Tencent Maps shows publicly to anyone, without login. Business phone numbers and addresses are business contact data, and review authors appear as the platform shows them, often masked; you remain responsible for how you use them, see the Legal compliance section below.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from Tencent Maps (腾讯地图). It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Tencent's terms of service and applicable data protection laws (GDPR in the European Union, CCPA in California, and PIPL in China where relevant). Rows describe businesses and public places; some phone numbers listed by small businesses are personal mobile numbers, and reviews carry the author name the platform shows (often masked), so handle them as personal data when you contact or store them, and respect China's rules on unsolicited marketing. The data returned is informational: phone numbers, hours and prices change, so verify them before a regulated use.

Tencent Scraper by SilentFlow: every place of a Chinese city, with its phone, rating, coordinates, photos and reviews, in one table.

⌂ 换网址