The Google Reviews Extraction Problem
Customer reviews on Google Maps are the gold standard for market research, sentiment analysis, competitive benchmarking, and AI reputation monitoring. However, accessing review data programmatically presents a major hurdle:
The Two Official Google Constraints:
1. Google Places API Place Details: Hardcoded to return a maximum of 5 reviews, selected algorithmically by Google. There is no pagination parameter.
2. Google Business Profile API: Allows querying full reviews, but strictly requires OAuth 2.0 verification as the confirmed owner or manager of that specific business. You cannot inspect competitor listings, client accounts without manager access, or general market datasets.
To analyze competitor sentiment or audit reputation at scale, developers must turn to scraping public Google Maps review feeds. Here is how to achieve this without complex browser automation using the Google Maps Review Scraper API.
Step 1: Obtain the Google Place ID or Data CID
Every business listing on Google Maps has a persistent unique identifier known as a place_id or hex-encoded data_cid. You can find this directly from any Google Maps share URL or via our search endpoint:
import requests API_KEY = "YOUR_BOLT_SCRAPER_API_KEY" query = "Peter Luger Steak House Brooklyn" res = requests.get( "https://boltscraper.com/api/v1/maps/search", params={"query": query}, headers={"Authorization": f"Bearer {API_KEY}"} ).json() place_id = res["results"][0]["place_id"] print(f"Place ID found: {place_id}")
Step 2: Extracting Thousands of Reviews in Python
With the place_id, trigger a cloud review extraction job. Bolt Scraper traverses the RPC review feed, extracts reviewer metadata, ratings, full review text, timestamps, photos, and merchant owner responses:
import requests import pandas as pd import time API_KEY = "YOUR_BOLT_SCRAPER_API_KEY" PLACE_ID = "ChIJN1t_tDeuEmsRUsoyG83frY4" # Submit the review scraping job task = requests.post( "https://boltscraper.com/api/v1/reviews/jobs", json={ "place_id": PLACE_ID, "sort_by": "newest", # newest, highest_rating, lowest_rating "max_reviews": 1000 }, headers={"Authorization": f"Bearer {API_KEY}"} ).json() job_id = task["job_id"] print(f"Extraction started for Job ID: {job_id}") # Wait for cloud job to complete while True: status_res = requests.get( f"https://boltscraper.com/api/v1/reviews/jobs/{job_id}", headers={"Authorization": f"Bearer {API_KEY}"} ).json() if status_res["status"] == "completed": df = pd.DataFrame(status_res["reviews"]) df.to_csv("customer_reviews.csv", index=False) print(f"Successfully saved {len(df)} reviews to customer_reviews.csv!") break time.sleep(5)
Parsed Review JSON Schema
Each review is structured with comprehensive metadata, allowing direct ingestion into NLP sentiment pipelines:
{
"review_id": "ChZDSUhNMG9nS0VJQ0FnSUN6Mkp2T1BnEAE",
"author_name": "Sarah Jenkins",
"author_reviews_count": 28,
"rating": 5,
"relative_time": "2 weeks ago",
"timestamp": "2026-10-08T14:32:10Z",
"text": "Exceptional service! The team resolved our plumbing emergency in 45 minutes.",
"likes": 4,
"owner_response": {
"text": "Thank you Sarah! Glad we could help.",
"timestamp": "2026-10-08T18:10:00Z"
}
} Top Google Reviews Scraper APIs: Outscraper vs SerpApi vs Bolt Scraper
When you cannot use the official Google APIs due to the 5-review limit or OAuth ownership requirement, several dedicated scraping APIs allow programmatic review extraction. Here is how the top review scraper APIs compare:
1. Outscraper Google Reviews API
Pricing: ~$3.00 per 1,000 reviews ($0.003 / review) on a pay-as-you-go credit model.
Mechanism: Asynchronous task submission via HTTP JSON API. You submit a Place ID or Google Maps link, and poll an endpoint until results are compiled.
Pros: No minimum monthly contract; reliable parsing of ratings, timestamps, and author details.
Cons: No automated webhook callbacks on entry tiers; credits expire on inactive accounts; separate fees if you also need email enrichment from the business website.
2. SerpApi Google Maps Reviews API
Pricing: $50/mo for 5,000 searches ($10/1k requests) or $130/mo for 15,000 searches.
Mechanism: Synchronous search query proxying. Reviews are returned in paginated batches of 10 to 20 reviews per HTTP request using a next_page_token.
Pros: Immediate JSON responses; extensive documentation and multi-language client libraries.
Cons: Highly expensive for deep review scraping. Extracting 2,000 reviews for a single popular business requires 100 to 200 consecutive search requests, burning $10 to $20 in API quota for just one venue.
3. Apify Google Maps Reviews Scraper Actor
Pricing: $49/mo base subscription + compute unit (CU) runtimes and residential proxy bandwidth costs.
Mechanism: Headless browser instances running Docker containers in Apify cloud.
Pros: Open-source actor configurations; customizable crawlers.
Cons: Heavy resource overhead; slowest extraction speed due to full browser rendering; prone to breakages when Google modifies client-side CSS class names.
4. Bolt Scraper Google Reviews API (Recommended)
Pricing: 1,000 credits free forever ($0); Basic plan provides 50,000 credits for $19/mo ($0.38 / 1k reviews); Pro plan provides 200,000 credits for $49/mo ($0.24 / 1k reviews).
Mechanism: Direct cloud RPC stream extraction with asynchronous job submission and automated webhook callback delivery.
Pros: 10x faster than headless browser actors; extracts up to 5,000+ reviews per place in a single task; includes reviewer metadata, owner responses, photos, and language tags; universal credits shareable across maps, reviews, and website email scraping.
Cons: Requires API key authorization for programmatic cloud jobs.
Review Extraction Method & API Comparison
| Evaluation Metric | Google Places API | Outscraper | SerpApi | Bolt Scraper |
|---|---|---|---|---|
| Review Limit | Max 5 reviews | All reviews | All reviews (Paginated) | All 5,000+ reviews |
| Cost for 10,000 Reviews | $170+ (Capped at 5/place) | ~$30.00 ($3/1k) | $50.00 – $100.00+ | $19.00/mo (with 40k credits left) |
| Pricing Model | $17.00 / 1k requests | ~$3 / 1k metered | $50/mo for 5k searches | Free (1k) or $19 / 50k leads |
| OAuth Verification | None (API Key) | None | None | None (100% Public Access) |
| Webhook Delivery | No | Limited | No (Polling required) | Built-in Webhooks |
| Merchant Owner Responses | Partial | Yes | Yes | Yes, fully structured |
| Multi-Tool Universal Credits | No | No | No | Yes (Maps + Reviews + Emails) |
Frequently Asked Questions
"sort_by": "lowest_rating" in your API payload, you can isolate negative feedback to identify product weaknesses or competitor customer complaints. Extract 5,000+ Google Reviews Instantly
Monitor competitor sentiment, analyze customer complaints, and train LLMs with complete review datasets.
Start Scraping Reviews Free