Google Places API so với Scraping: Chi phí, giới hạn và lựa chọn của tôi

Cập nhật lần cuối vào August 11, 2026
Google Places API so với Scraping: Chi phí, giới hạn và lựa chọn của tôi
Tóm tắt bằng AI
• Google Places API là lựa chọn được hỗ trợ cho ứng dụng production, autocomplete, Place ID chuẩn và dữ liệu doanh nghiệp có cấu trúc. • API chỉ trả tối đa năm review và mười photo reference cho mỗi place, đồng thời không công khai popular times, Q&A hay đề xuất đối thủ như các field tiêu chuẩn. • Scraping có thể lấy được dữ liệu phong phú hơn hiển thị trên trang, nhưng đi kèm rủi ro về chống bot, bảo trì, điều khoản sử dụng và chất lượng dữ liệu. • Chi phí phụ thuộc vào field API được yêu cầu và số lượng; các request Enterprise + Atmosphere giàu dữ liệu trở nên rất đắt khi bản ghi tăng lên. • Workflow kết hợp thường hiệu quả nhất: dùng API cho bản ghi chuẩn và scraping cho intelligence sâu hơn từ trang công khai.

Vài tháng trước, một developer trên Stack Overflow đã đăng câu hỏi mà đến giờ vẫn còn mở từ năm 2012: "Google Places API Place Details limited to 5 reviews?" Mười bốn năm trôi qua, hàng trăm lượt upvote, nhưng câu trả lời vẫn y nguyên — đúng vậy, tối đa chỉ 5 review. Chỉ riêng giới hạn này thôi cũng đủ thấy vì sao cuộc tranh luận này đến nay vẫn chưa có hồi kết.

Nếu bạn từng cần dữ liệu Google Places ở quy mô lớn — danh sách lead, review đối thủ, mô hình lưu lượng khách, audit local SEO — rất có thể bạn cũng đang đứng trước đúng một ngã rẽ. Google Places API chính thức thì gọn gàng, có cấu trúc, tài liệu rõ ràng. Nhưng nó không trả về hết những gì bạn thấy trên Google Maps, và hóa đơn có thể đội lên rất nhanh khi vượt gói miễn phí. Scraping thì có thể lấy được nhiều hơn, cách tính chi phí cũng khác hẳn, nhưng lại kéo theo cả loạt phiền phức riêng (CAPTCHA, selector bị gãy, vùng xám pháp lý). Tôi đã dành khá nhiều thời gian mổ xẻ cả hai hướng — từ tài liệu API, bảng giá SKU, chuỗi công cụ scraping cho đến những đánh đổi thực tế — và bài viết này là kết quả. Chúng ta sẽ đi qua từng field bị thiếu, chi phí thật ở mức 10K/100K/1M bản ghi, thực tế chống bot, và một playbook kết hợp thực dụng. Kèm theo đó là sơ đồ ra quyết định, vì chẳng ai muốn đọc 3.000 từ rồi vẫn không biết nên chọn gì.

Google Places API là gì (và thực sự cho bạn những gì)?

Google Places API là cách chính thức, có cấu trúc của Google để lấy dữ liệu doanh nghiệp — tên, địa chỉ, số điện thoại, đánh giá, review, ảnh — từ cơ sở dữ liệu của họ. Bạn gửi một HTTP request, rồi nhận lại JSON đã được định dạng sẵn. Đây là con đường mà Google cho phép.

Phiên bản hiện tại (Places API "New") tổ chức mọi thứ xoay quanh field mask. Khi gọi Place Details, bạn chỉ định chính xác những field mình muốn — displayName, formattedAddress, rating, reviews, photos, v.v. — và Google sẽ tính phí dựa trên mức field cao nhất mà bạn yêu cầu. Nếu bỏ qua field mask, bạn không nhận được phản hồi mặc định mà sẽ gặp lỗi. Đây là chủ ý của Google: chỉ trả tiền cho phần bạn dùng (và trả nhiều hơn cho những field “ngon” hơn).

Các field dữ liệu hiện có được chia theo các bậc giá:

BậcVí dụ field dữ liệuBạn nhận được gì
EssentialsPlace ID, địa chỉ đã định dạng, vị trí, metadata ảnhThông tin định danh và vị trí cơ bản
ProTên hiển thị, trạng thái doanh nghiệp, Google Maps URI, loại chínhThông tin doanh nghiệp đầy đủ hơn
EnterpriseĐánh giá, số lượng rating, website, số điện thoại, giờ mở cửa, mức giáNhững field mà đa số người làm kinh doanh thực sự cần
Enterprise + AtmosphereReview, tóm tắt review, tóm tắt sinh tạo, tiện ích, đỗ xe, mang đi/giao hàngDữ liệu đầy đủ nhất (và đắt nhất)

Các endpoint quan trọng nhất mà đa số người dùng quan tâm gồm: Autocomplete (gợi ý khi đang gõ), Text SearchNearby Search (tìm địa điểm), Place Details (bổ sung dữ liệu cho một place đã biết), và Place Photos (ảnh).

Còn đây là những giới hạn đáng chú ý:

  • Review: Place resource chỉ trả về tối đa 5 review cho mỗi địa điểm, sắp xếp theo mức độ liên quan. Hết. Không phải 50, cũng không phải “tất cả”. Chỉ 5.
  • Ảnh: Giới hạn 10 photo references cho mỗi place trong Place resource.
  • Popular times / mức độ đông hiện tại: Không có như một field tiêu chuẩn trong Places API. Google xác nhận dữ liệu này tồn tại trên giao diện người dùng (dựa trên Location History đã được tổng hợp và ẩn danh), và Maps blog giải thích cách nó hoạt động — nhưng danh sách field thì không hề có.
  • Mục Q&A: Không được công khai.
  • Đề xuất đối thủ kiểu "People also search for": Không được công khai.
  • Menu / bảng giá: Không phải field tiêu chuẩn.

Ai thường dùng Google Places API?

  • Công ty logistics dùng để xác thực và mã hóa địa chỉ
  • Ứng dụng du lịch và khách sạn hiển thị khách sạn, nhà hàng, điểm tham quan gần đó
  • Nền tảng bất động sản bổ sung dữ liệu doanh nghiệp địa phương cho tin đăng
  • Agency local SEO kiểm tra tính nhất quán của NAP (name, address, phone)
  • Đội ngũ sales xây danh sách lead từ Place ID và thông tin doanh nghiệp cơ bản

Nếu nhu cầu của bạn gói gọn trong kiểu “tôi cần dữ liệu địa điểm có cấu trúc cho một ứng dụng production,” API là điểm khởi đầu hợp lý. Nếu nhu cầu của bạn có những cụm như “tất cả review,” “popular times,” hay “phân tích đối thủ” — cứ đọc tiếp.

“Scraping” dữ liệu Google Places nghĩa là gì?

Web scraping là dùng phần mềm để tự động trích xuất dữ liệu từ một trang web — trong trường hợp này là Google Maps hoặc kết quả Google Search — thay vì thông qua API chính thức. Scraper đọc trang theo cách trình duyệt của bạn làm, rồi lấy ra những phần đã được cấu trúc: tên doanh nghiệp, địa chỉ, nội dung review, xếp hạng sao, biểu đồ popular times, Q&A, đề xuất đối thủ, toàn bộ thư viện ảnh, và bất cứ thứ gì hiển thị trên màn hình.

Điểm khác biệt cốt lõi: API cho bạn những gì Google quyết định mở ra. Scraping thì cho bạn (về mặt lý thuyết) mọi thứ mà con người có thể nhìn thấy trên trang.

Nhưng “scraping” không phải chỉ có một kiểu. Có 3 hướng rất khác nhau, và mức đánh đổi giữa chúng là khá lớn.

Script tự viết vs. scraping API được quản lý vs. công cụ no-code

Cách tiếp cậnCách hoạt độngPhù hợp nhất choĐánh đổi chính
DIY scripts (Puppeteer, Playwright, Selenium)Bạn tự viết và bảo trì script trình duyệt headless để điều hướng trang Google Maps và phân tích DOMDeveloper cần toàn quyền kiểm soát và logic tùy biếnGánh nặng bảo trì lớn nhất — selector dễ gãy khi Google đổi giao diện
Managed scraping APIs (Thunderbit API, SerpApi, Outscraper)Bạn gửi URL hoặc query tới API; nó lo render, chống bot, phân tích và trả dữ liệu có cấu trúcDeveloper muốn output có cấu trúc nhưng không phải tự nuôi scraperGiá và chất lượng mỗi nhà cung cấp khác nhau; bạn phải tin bên thứ ba
No-code browser extensions (Thunderbit Chrome Extension)Trích xuất bằng cách bấm trực tiếp trong trình duyệt — AI gợi ý field, bạn bấm “Scrape,” rồi xuất sang Sheets/ExcelNgười dùng kinh doanh, marketer, sales team cần dữ liệu nhanh thành bảng tínhÍt linh hoạt hơn cho pipeline phức tạp; phụ thuộc vào chất lượng AI của công cụ

Tóm lại: DIY = linh hoạt nhất nhưng phải bảo trì nhiều nhất. Managed API = output có cấu trúc, không cần nuôi hệ thống. No-code = nhanh nhất cho người không viết code.

Google Places API so với Scraping: So sánh dữ liệu theo từng field

Đây là bảng mà tôi ước gì đã có lúc bắt đầu nghiên cứu chủ đề này. Mọi field mà một business user hay developer có thể cần, đặt cạnh nhau:

Field-by-field comparison of Google Places API data and Google Maps scraping

Field dữ liệuGoogle Places APIWeb Scraping
Tên doanh nghiệp✅ Đầy đủ (gói Pro)✅ Đầy đủ
Địa chỉ / vị trí✅ Đầy đủ (gói Essentials)✅ Đầy đủ
Số điện thoại✅ Gói Enterprise✅ Khi hiển thị
URL website✅ Gói Enterprise✅ Khi hiển thị
Điểm đánh giá tổng hợp✅ Gói Enterprise✅ Đầy đủ
Số lượng rating✅ Gói Enterprise✅ Đầy đủ
Review từng người dùng (text + rating)⚠️ Tối đa 5 review✅ Tất cả review có sẵn
Popular times / mức độ đông hiện tạiKhông phải field API tiêu chuẩn✅ Trích xuất được (nếu được render)
Mục Q&A❌ Không được công khai✅ Trích xuất được
Metadata ảnhTối đa 10 references qua Photos endpoint✅ Toàn bộ thư viện ảnh
Menu / bảng giá❌ Không phải field tiêu chuẩn⚠️ Khi xuất hiện trên trang
"People also search for" (đối thủ)❌ Không được công khai✅ Trích xuất được
Giờ mở cửa✅ Gói Enterprise✅ Khi hiển thị
Mức giá✅ Gói Enterprise✅ Khi hiển thị
Place ID✅ Rất mạnh (Essentials)⚠️ Có thể lấy, nhưng API là nguồn chuẩn
Google Maps URI✅ Gói Pro✅ Chính là URL trang
Phản hồi của chủ doanh nghiệp với review⚠️ Cần kiểm tra tính sẵn có hiện tại✅ Thường nhìn thấy
Vị trí trên SERP / map-pack❌ Không phải mục tiêu của API✅ Qua SERP scraping

Điểm thiếu lớn nhất: nếu bạn cần toàn bộ review để phân tích cảm xúc, theo dõi danh tiếng, hoặc benchmark đối thủ, thì chỉ API thôi là không đủ. 5 review cho mỗi địa điểm chỉ là một mẫu thử, không phải dataset.

Popular times và mô hình lưu lượng khách? Cũng vậy. Nếu bạn là tư vấn bán lẻ hoặc nhà phân tích bất động sản thương mại, scraping là con đường gần như duy nhất — dữ liệu đó đơn giản là không có trong API.

Ngược lại, với Place ID chuẩn, địa chỉ có cấu trúc để geocoding, hay để vận hành store locator, API sạch hơn, đáng tin hơn và được hỗ trợ chính thức.

Chi phí thực tế: Google Places API vs Scraping ở mức 10K, 100K và 1M bản ghi

Chi phí là phần bị hiểu sai nhiều nhất trong quyết định này. Nhiều người đăng ký gói miễn phí của API, dựng prototype, rồi bất ngờ nhận hóa đơn khiến họ choáng khi bắt đầu scale. Ở phía scraping, người ta thường đánh giá thấp chi phí proxy và thời gian của developer.

Cost scaling comparison between the Google Places API and scraping at 10K, 100K, and 1M records

Vậy thì hãy tính thử.

Phân tích giá Google Places API

Google đã đại tu giá Maps Platform vào tháng 3/2025, thay thế khoản credit cố định 200 USD/tháng bằng mức miễn phí theo SKU và phân tầng theo khối lượng sử dụng. Bảng giá hiện tại hoạt động như sau:

  • Essentials (Place Details): 10.000 request miễn phí/tháng, sau đó 5,00 USD cho mỗi 1.000 request đến 100K
  • Pro (Place Details): 5.000 miễn phí, sau đó 7,00 USD/1K
  • Enterprise (Place Details): 1.000 miễn phí, sau đó 20,00 USD/1K
  • Enterprise + Atmosphere (review, tiện ích): 1.000 miễn phí, sau đó 25,00 USD/1K

Chi tiết quan trọng: nếu field mask của bạn chỉ cần một field thuộc Enterprise + Atmosphere (ví dụ reviews), toàn bộ request sẽ bị tính theo bậc đó. Và trong thực tế, quy trình thường nối nhiều SKU với nhau — Text Search Pro để tìm place, rồi Place Details Enterprise + Atmosphere để enrich — nên chi phí cộng dồn rất nhanh.

Một lần “lookup” hiếm khi chỉ là một request tính phí đơn lẻ.

Chi phí scraping: công cụ, proxy và thời gian developer

Chi phí scraping thường chia thành ba phần:

  1. Phí thuê công cụ hoặc API credit: Managed scraping API thường tính theo request, theo credit, hoặc theo record. SerpApi tính phí theo search. Outscraper dùng pay-as-you-go theo record. Thunderbit API dùng hệ thống credit (Extract = 20 credit/request). Thunderbit Chrome Extension tính 1 credit cho mỗi dòng output.
  2. Chi phí proxy (chỉ với DIY): Residential proxy cho scraping Google Maps thường vào khoảng 50–300 USD/tháng, tùy volume và nhà cung cấp.
  3. Thời gian developer (chỉ với DIY): Xây và duy trì script Puppeteer/Playwright. Đây là chi phí ẩn làm mô hình DIY kém hiệu quả (phần này tôi sẽ nói kỹ hơn bên dưới).

Bảng chi phí so sánh: API vs. Scraping ở quy mô lớn

Quy môGoogle Places API (Enterprise + Atmosphere)Managed Scraping API (ước tính)DIY Scraping (proxy + thời gian dev)
10K bản ghi/tháng~225 USD (1K miễn phí, 9K × 25 USD/1K)~50–150 USD tùy nhà cung cấp~50 USD proxy + 2–4 giờ dev/tháng
100K bản ghi/tháng~2.475 USD (sau trần miễn phí, áp dụng tier theo volume)~250–500 USD~150 USD proxy + 8–16 giờ dev/tháng
1M bản ghi/tháng~17.975 USD (giá theo volume giúp giảm đơn giá, nhưng tổng vẫn rất cao)~1.500–3.000 USD~300 USD proxy + 20+ giờ dev/tháng + rủi ro gãy

Lưu ý: Ước tính API dùng volume tier đã công bố cho Place Details Enterprise + Atmosphere, tính sau trần miễn phí 1K. Ước tính managed scraping API là khoảng giá gần đúng giữa các nhà cung cấp. Thời gian dev DIY giả định chi phí tổng hợp 50–100 USD/giờ.

Mô hình rất rõ: ở quy mô nhỏ kiểu hobby (dưới 10K), trần miễn phí của API có thể khiến nó là lựa chọn rẻ nhất, đặc biệt nếu bạn chỉ cần field Essentials hoặc Pro. Ở quy mô kinh doanh (100K+), chi phí API tăng rất mạnh, nhất là với những field giàu dữ liệu. Ở quy mô enterprise (1M+), API có thể chạm mốc năm chữ số mỗi tháng, và khi đó scraping hoặc các dịch vụ dữ liệu trở nên hấp dẫn hơn về mặt kinh tế — miễn là bạn thật sự cần những field mà API không cho.

Nếu bạn chỉ cần địa chỉ và Place ID, đừng scrape. API rẻ hơn và phù hợp hơn cho mục đích đó. Lập luận kinh tế cho scraping chỉ đúng khi bạn cần dữ liệu mà API không thể trả về.

Thực tế chống bot: Vì sao Google scraper tự viết hay bị hỏng

Đây là phần mà những người cổ vũ scraping thường bỏ qua. Google không muốn bạn scrape Google Maps. Họ đã xây nhiều lớp phòng vệ và cập nhật thường xuyên.

Anti-bot maintenance loop for DIY Google Maps scrapers

Các lớp phòng thủ của Google

  • reCAPTCHA: Trình duyệt tự động bị kích hoạt CAPTCHA với tần suất cao hơn hẳn người dùng thật
  • Kết xuất JavaScript phía client: Google Maps là một ứng dụng JavaScript nặng. Một HTTP request đơn giản sẽ không lấy được nội dung đã render — bạn cần một headless browser đầy đủ
  • Browser fingerprinting: Google phát hiện headless browser qua canvas fingerprint, WebGL, thuộc tính navigator và các tín hiệu khác
  • Giới hạn tốc độ theo IP: Nếu quá nhiều request từ cùng một IP (hoặc cùng subnet proxy), bạn sẽ bị chặn
  • Thay đổi cấu trúc DOM: Google thường xuyên thay cách xây dựng trang — đồng thuận chung trên Reddit và GitHub issues là selector có thể gãy sau vài tuần đến vài tháng

Cái ở dòng cuối mới là sát thủ thầm lặng. Một script Puppeteer chạy hoàn hảo vào tháng Sáu có thể trả về kết quả trống vào tháng Bảy chỉ vì Google đổi tên CSS class hoặc sắp xếp lại một div.

Chi phí ẩn của việc bảo trì script tự viết

Mỗi khi Google đổi DOM, sẽ có người trong nhóm phải:

  1. Phát hiện scraper bị hỏng (tốt nhất là trước khi dữ liệu lỗi lan ra)
  2. Kiểm tra lại cấu trúc trang mới
  3. Cập nhật selector, xử lý kiểu CAPTCHA mới, chỉnh retry logic
  4. Test và deploy lại

Trong một năm, thời gian bảo trì này hoàn toàn có thể vượt chi phí thuê managed scraping API. Tôi đã thấy có team tốn hơn 40 giờ developer mỗi năm chỉ để giữ một Google Maps scraper hoạt động — và đó là con số khá thận trọng cho một setup mức độ phức tạp trung bình.

Vì sao managed scraping API tồn tại

Chính gánh nặng bảo trì này là lý do các dịch vụ như Thunderbit API, SerpApi, và Outscraper ra đời. Chúng gánh phần phức tạp chống bot — render JS, xử lý CAPTCHA, xoay proxy, bảo trì selector — rồi trả dữ liệu có cấu trúc.

Endpoint POST /extract của Thunderbit với renderMode: "full" xử lý những trang nặng JavaScript như Google Maps và trả về JSON có cấu trúc khớp schema, chứ không phải HTML thô rồi lại phải parse tiếp. MCP server mở rộng điều này cho AI agents — Claude, Cursor, hoặc các workflow dựa trên LLM khác có thể scrape dữ liệu Google Maps ngay trong lúc làm việc mà không phải rời khỏi môi trường của chúng.

Với người không rành kỹ thuật, Thunderbit Chrome Extension là lựa chọn gần như không cần bảo trì: mở trang Google Maps, bấm “AI Suggest Fields,” bấm “Scrape,” rồi xuất sang Sheets. Không selector, không proxy, không debug.

SerpApi và Outscraper là những lựa chọn thay thế khá tốt với mô hình giá và định dạng output khác nhau. SerpApi trả JSON có cấu trúc cho từng search; Outscraper tính phí theo từng record theo kiểu pay-as-you-go. Lựa chọn đúng phụ thuộc vào volume, ngân sách, và việc bạn cần JSON có cấu trúc hay chấp nhận parse output bán cấu trúc.

Playbook kết hợp: Dùng Google Places API và Scraping cùng nhau

Không bài viết nào top đầu về chủ đề này nói ra điều mà tôi thấy hiệu quả nhất trong thực tế: dùng cả hai. Nhiều team rốt cuộc vẫn dựa vào API chính thức cho một số tác vụ và scraping cho tác vụ khác. Bí quyết là ghép đúng công cụ cho đúng việc.

Hybrid workflow using the Google Places API for canonical data and scraping for richer visible-page data

Khi API chính thức thắng thế

  • Autocomplete trong ứng dụng production: độ trễ thấp, tuân thủ ToS, SLA đáng tin cậy. Không cần bàn cãi.
  • Backend cho app theo vị trí: store locator, xác thực địa chỉ, đối sánh Place ID. API có cấu trúc, có hỗ trợ và có tài liệu rõ ràng.
  • Tích hợp nhạy cảm về compliance: hợp đồng enterprise, sản phẩm public-facing, hoặc bất kỳ bối cảnh nào mà tuân thủ Google ToS là điều không thể thỏa hiệp.

Khi scraping thắng thế

  • Trích xuất toàn bộ review (5K+ review cho mỗi place): phân tích cảm xúc, theo dõi danh tiếng, benchmark đối thủ. Giới hạn 5 review của API khiến nó gần như vô dụng ở đây.
  • Trích xuất danh sách lead một lần: rẻ hơn cho các batch job không cần tính phí liên tục. Một công cụ no-code như Thunderbit có thể scrape danh sách doanh nghiệp và xuất sang spreadsheet chỉ trong vài phút.
  • Phân tích popular times / lưu lượng khách: không có qua API. Hết.
  • Dữ liệu Q&A, “people also search for” của đối thủ: chỉ thấy trên trang, không có trong API.

Khi nào nên dùng cách tiếp cận hybrid

  • Theo dõi giá / rating liên tục: dùng API cho dữ liệu có cấu trúc cơ bản (Place ID, địa chỉ, rating tổng hợp), rồi scrape các field sâu mà API bỏ sót (toàn bộ review, popular times).
  • Workflow enrichment: dùng API để lấy Place ID và thông tin doanh nghiệp chuẩn, sau đó scrape từng trang listing để lấy full review, Q&A, và ngữ cảnh đối thủ.
  • Giám sát theo lịch: scheduled scraper của Thunderbit (cho người dùng no-code) hoặc batch extract bằng CLI với cron (cho developer) có thể xử lý scraping định kỳ mà không cần tự dựng hạ tầng.

Ma trận quyết định theo use case

Use casePhương pháp khuyến nghịLý do
Autocomplete trong app live✅ API chính thứcĐộ trễ thấp, tuân thủ ToS, ổn định
Lấy 5K+ bộ review đầy đủ✅ Scraping / Scraping APIAPI chỉ cho tối đa 5 review mỗi place
Tạo danh sách lead doanh nghiệp địa phương một lần✅ Scraping (hoặc Thunderbit extension)Rẻ hơn cho batch; không có phí duy trì
Phân tích popular times / lưu lượng khách✅ Chỉ scrapingKhông có qua API
Theo dõi giá / rating liên tục⚠️ HybridAPI cho dữ liệu cơ bản, scraping cho field sâu
Backend cho app theo vị trí✅ API chính thứcCó cấu trúc, được hỗ trợ, có SLA
Theo dõi vị trí SERP local SEO✅ Scraping / SERP APIKhông phải mục tiêu của Places API
"People also search for" của đối thủ✅ Chỉ scrapingKhông được expose qua API

Sơ đồ ra quyết định: Google Places API vs Scraping — nên chọn gì?

Thay vì nói mơ hồ kiểu “còn tùy,” đây là một khung quyết định cụ thể. Hãy đi qua bốn câu hỏi sau:

1. Bạn có cần dữ liệu real-time trong một ứng dụng production không?: Dùng API chính thức. Nó được hỗ trợ, có SLA và tuân thủ ToS. Dừng ở đây. → Không: Sang câu tiếp theo.

2. Bạn có cần dữ liệu mà API không trả về không (review đầy đủ, popular times, Q&A)?: Bắt buộc phải dùng scraping. API thực sự không thể cho bạn dữ liệu đó. → Không: Sang câu tiếp theo.

3. Mỗi tháng bạn xử lý bao nhiêu bản ghi?Dưới 10K: API có lẽ rẻ nhất, đặc biệt nếu bạn chỉ cần field Essentials hoặc Pro. Mức miễn phí đủ rộng ở quy mô này. → Trên 10K: Scraping hoặc managed scraping API thường kinh tế hơn, nhất là với dữ liệu giàu thông tin.

4. Bạn có nguồn lực developer để xây và duy trì scraper không?: DIY bằng Puppeteer/Playwright cho bạn kiểm soát tối đa (nhưng phải chừa ngân sách cho bảo trì liên tục). → Không: Hãy dùng managed scraping API (Thunderbit API, SerpApi, Outscraper) hoặc công cụ no-code (Thunderbit Chrome Extension).

So sánh nhanh các lựa chọn dành cho developer

Công cụMô hình giáĐịnh dạng outputXử lý chống botHỗ trợ batch
Thunderbit API / MCPTheo credit (Extract = 20 credit/request)JSON có cấu trúc khớp schema✅ Render JS, xoay proxy, geo-routing✅ Tối đa 100 URL mỗi batch
SerpApiTheo search (gói theo tier)JSON có cấu trúc✅ Qua tham số API
OutscraperTheo record (pay-as-you-go)JSON / CSV✅ Qua task queue
DIY (Puppeteer/Playwright)Proxy + thời gian devHTML thô (bạn tự parse)❌ Bạn phải tự lo✅ Tùy bạn tự xây

Điểm khác biệt của Thunderbit API: nó trả về JSON có cấu trúc khớp schema dựa trên JSON Schema do bạn định nghĩa — không phải HTML thô hay Markdown rồi lại phải parse thêm. Nếu bạn đang đưa dữ liệu vào pipeline LLM hoặc nạp vào database, điều đó tiết kiệm được rất nhiều thời gian hậu xử lý.

Thunderbit phù hợp ở đâu? (Cho người dùng kinh doanh và developer)

Chúng tôi xây Thunderbit để lấp khoảng trống giữa “tôi cần dữ liệu Google Maps” và “tôi không muốn trở thành kỹ sư hạ tầng scraping.” Dưới đây là cách nó hoạt động cho cả hai nhóm người dùng.

Với người không kỹ thuật: Chrome Extension

  1. Mở một trang Google Maps — trang kết quả tìm kiếm hoặc một trang listing doanh nghiệp riêng lẻ
  2. Bấm “AI Suggest Fields” — AI của Thunderbit đọc trang và đề xuất cột (tên doanh nghiệp, địa chỉ, rating, review, số điện thoại, v.v.)
  3. Bấm “Scrape” — extension trích xuất dữ liệu thành bảng có cấu trúc. Dùng cloud mode để chạy đồng thời tối đa 50 trang
  4. Scrape subpages — bấm “Scrape Subpages” để đi vào từng listing và lấy chi tiết đầy đủ
  5. Xuất dữ liệu — sang Excel, Google Sheets, Airtable hoặc Notion. Xuất dữ liệu miễn phí, không có paywall

Với nhu cầu giám sát định kỳ — kiểm tra rating đối thủ hằng tuần, theo dõi listing doanh nghiệp mới — scheduled scraper sẽ tự chạy theo lịch bạn đặt.

Với developer: API, MCP Server và CLI

  • POST /extract với JSON Schema: Gửi một URL Google Maps, định nghĩa field bạn muốn, rồi nhận JSON có cấu trúc trả về. Đặt renderMode: "full" cho các trang nặng JavaScript. Thunderbit xử lý render, chống bot, xoay proxy và geo-routing.
  • POST /distill: Lấy Markdown sạch từ bất kỳ trang nào — hữu ích cho pipeline LLM cần nội dung thô thay vì field có cấu trúc. 1 credit/request so với 20 credit cho Extract.
  • MCP Server: AI agents (Claude, Cursor) có thể scrape dữ liệu Google Maps ngay trong quá trình làm việc. Hỗ trợ distillation, structured extraction, gợi ý field, và batch job tối đa 100 URL.
  • CLI: thunderbit batch extract --file urls.txt --schema places.json cho scraping theo lịch hoặc tích hợp CI/CD.

Giá credit: Extract = 20 credit/request, Distill = 1 credit/request. Credit API tính theo request, không phải theo từng dòng (khác với extension, nơi 1 credit = 1 dòng output). Xem Thunderbit Pricing để biết plan hiện tại.

Các cân nhắc về pháp lý và điều khoản sử dụng

Tôi sẽ nói ngắn gọn và đúng trọng tâm — không hù dọa, không chào hàng.

Google Places API đi kèm điều khoản khá rõ: điều khoản theo từng dịch vụ của Google nói rằng nội dung của Places API có thể dùng mà không cần Google Map, nhưng không được dùng chung với bản đồ không phải của Google. Dữ liệu latitude/longitude có thể được lưu cache tối đa 30 ngày theo lịch liên tiếp; Place ID có thể được lưu vô thời hạn. Việc ghi nguồn là bắt buộc đối với chi tiết, ảnh và review.

Scraping Google Maps có thể vi phạm Điều khoản Dịch vụ của Google. Mức độ thực thi thay đổi — rủi ro có thể là chặn IP, CAPTCHA dày đặc, và (trong hiếm trường hợp) hành động pháp lý. Các managed scraping API thường gánh thay một phần trách nhiệm tuân thủ cho người dùng, nhưng đó không phải lá chắn pháp lý.

Với ứng dụng production phục vụ người dùng cuối, API chính thức là lựa chọn an toàn hơn. Với nghiên cứu nội bộ, phân tích batch, và competitive intelligence, scraping là cách làm phổ biến trong ngành. Hãy trao đổi với cố vấn pháp lý của bạn nếu workflow có yếu tố thương mại.

Nếu là tôi, tôi sẽ chọn gì (và vì sao)?

Sau khi mổ xẻ bảng giá SKU, danh sách field, các thread cộng đồng và tài liệu công cụ, đây là kết luận của tôi:

  • Dùng API chính thức khi bạn cần dữ liệu real-time, tuân thủ ToS trong ứng dụng production, hoặc khi field Essentials/Pro là đủ và volume dưới 10K/tháng. Trần miễn phí khá hào phóng ở quy mô nhỏ, và chất lượng dữ liệu thì không phải bàn.
  • Dùng scraping (managed API hoặc công cụ no-code) khi bạn cần review đầy đủ, popular times, Q&A, ngữ cảnh đối thủ, hoặc bất kỳ field nào API không công khai. Cũng nên dùng khi volume vượt 10K–100K bản ghi/tháng và bạn đang yêu cầu field giàu dữ liệu (Enterprise + Atmosphere) — lúc này hóa đơn API rất khó biện minh.
  • Dùng cả hai khi workflow của bạn cần Place ID chuẩn và dữ liệu cơ bản có cấu trúc (API) cùng với intelligence sâu từ trang hiển thị (scraping). Thực tế này phổ biến hơn nhiều bài viết thừa nhận.

Điểm bẻ chi phí: dưới khoảng 10K bản ghi/tháng với field cơ bản, API đơn giản hơn và thường miễn phí. Trên mức đó, đặc biệt với dữ liệu giàu thông tin, scraping thường kinh tế hơn. Ở mốc 1M bản ghi với field Enterprise + Atmosphere, API có thể lên khoảng 18K USD/tháng, trong khi managed scraper chỉ bằng một phần nhỏ của con số này.

Nếu bạn muốn tự kiểm chứng, Thunderbit Chrome Extension là cách nhanh nhất để thấy scraping lấy được gì so với API. Với workflow cho developer, Thunderbit API docs có đầy đủ thứ bạn cần để bắt đầu. Và nếu muốn đọc sâu hơn về web scraping không cần code hoặc AI web scraping nói chung, blog của chúng tôi đã có nhiều bài chi tiết.

Những điểm mấu chốt

  • Google Places API là công cụ phù hợp cho ứng dụng production, autocomplete và truy vấn địa điểm có cấu trúc — nhưng nó giới hạn review ở 5, ảnh ở 10, và không công khai popular times, Q&A hay đề xuất đối thủ.
  • Scraping có thể lấy mọi thứ hiển thị trên Google Maps, bao gồm bộ review đầy đủ và dữ liệu popular times, nhưng bạn phải tự xử lý phòng thủ chống bot hoặc trả tiền cho dịch vụ quản lý.
  • Dưới 10K bản ghi/tháng, trần miễn phí của API thường khiến nó là lựa chọn rẻ nhất. Trên 100K, scraping hoặc managed scraping API thường tiết kiệm hơn cho dữ liệu giàu thông tin.
  • DIY scraper thường xuyên bị gãy do cơ chế chống bot và thay đổi DOM của Google — hãy dự trù hơn 40 giờ developer mỗi năm cho bảo trì, hoặc dùng công cụ được quản lý.
  • Chiến lược thực tế tốt nhất thường là hybrid: dùng API cho ID chuẩn và field cơ bản, dùng scraping cho intelligence sâu mà API không trả được.
  • Thunderbit phục vụ cả hai phía: Chrome Extension cho người dùng no-code và API/MCP server dạng JSON có cấu trúc cho developer.

Câu hỏi thường gặp

Có thể lấy hơn 5 review Google qua Places API không?

Không. Google Places API giới hạn mỗi place tối đa 5 review, sắp xếp theo mức độ liên quan. Điều này đã đúng từ khi API ra mắt và chưa thay đổi dù developer đã yêu cầu suốt nhiều năm. Nếu muốn lấy toàn bộ review có sẵn của một doanh nghiệp, scraping (tự làm hoặc qua managed scraping API) là lựa chọn duy nhất.

Scraping Google Maps có hợp pháp không?

Không có câu trả lời chung kiểu có/không cho mọi trường hợp. Scraping dữ liệu Google Maps hiển thị công khai có thể vi phạm Điều khoản Dịch vụ của Google, và mức độ thực thi dao động từ chặn IP đến (hiếm khi) hành động pháp lý. Nhiều doanh nghiệp dùng scraping cho nghiên cứu nội bộ và competitive intelligence mà không gặp vấn đề. Managed scraping API giảm bớt một phần rủi ro tuân thủ, nhưng không phải lá chắn pháp lý. Nếu bạn đang xây sản phẩm thương mại hoặc xử lý dữ liệu cá nhân, hãy hỏi tư vấn pháp lý.

Google Places API tốn bao nhiêu cho 100K lượt tra cứu?

Còn tùy vào field bạn yêu cầu. Với Place Details ở bậc Essentials, khoảng 450 USD. Ở bậc Pro, khoảng 1.615 USD. Với Enterprise + Atmosphere (bao gồm review và tiện ích), khoảng 2.475 USD. Nếu workflow của bạn còn cần Text Search Pro để tìm kiếm ban đầu, hãy cộng thêm khoảng 3.040 USD nữa. Các ước tính này dùng volume tier đã công bố của Google và giả định mỗi bản ghi là một request tính phí sau khi hết hạn mức miễn phí.

Khác nhau giữa scraping API và công cụ scraping no-code là gì?

Scraping API (như Thunderbit's Open API) dành cho developer tích hợp scraping vào code, pipeline tự động hóa, hoặc workflow của AI agent qua HTTP request. Công cụ no-code (như Thunderbit Chrome Extension) cho phép người không kỹ thuật chỉ cần trỏ, bấm và xuất dữ liệu ngay trong trình duyệt mà không phải viết code. Cả hai đều có thể trả dữ liệu có cấu trúc; khác nhau là giao diện và mô hình tích hợp.

Thunderbit có chạy trên trang Google Maps không?

Có. Chrome Extension có thể scrape kết quả tìm kiếm Google Maps và từng listing doanh nghiệp riêng lẻ — AI tự động gợi ý field, và bạn có thể dùng cloud mode cho tối đa 50 trang chạy đồng thời. Endpoint POST /extract của API với renderMode: "full" xử lý các trang Google Maps render bằng JavaScript và trả về JSON có cấu trúc khớp schema. MCP server cho phép AI agents scrape dữ liệu Google Maps ngay giữa workflow.

Tìm hiểu thêm

Ke
Ke
CTO tại Thunderbit | Chuyên gia Khoa học Dữ liệu cấp cao & ML Với gần một thập kỷ kinh nghiệm trong học máy và khoa học dữ liệu, Ke Shen là cựu sinh viên Đại học Columbia và từng là Chuyên gia Khoa học Dữ liệu cấp cao tại Walmart Labs. Sở hữu chuyên môn sâu về Python, R, Java và Thống kê, được đồng nghiệp công nhận, anh chia sẻ những góc nhìn thực chiến về cách đưa các thuật toán AI phức tạp từ lý thuyết vào kiến trúc sẵn sàng cho môi trường sản xuất.
Topics
Google Places APIGoogle Maps ScrapingWeb Scraping
Mục lục
Thunderbit · Tác nhân dữ liệu web AI

Trích xuất dữ liệu từ bất kỳ trang nào trong 1 lần nhấp

Được hơn 250.000+ người dùng tin tưởng
có gói miễn phí
Từ trang web đến bảng tính
Mô tả điều bạn cần — AI Agent của Thunderbit sẽ cào dữ liệu và xuất ra Excel, Google Sheets, Airtable hoặc Notion. Bắt đầu miễn phí.
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week