Skip to content

Google's Anti-Bot Countermeasures (2025-2026)

Google Maps difficulty score: 90/100 — one of the toughest platforms to scrape.

Built on BotGuard (internally “Web Application Attestation”), deployed across YouTube, reCAPTCHA v3, and Maps. SearchGuard (January 2025) is the Search-specific evolution — “tens of thousands of person hours and millions of dollars.”

Detection: Behavioral Analysis (4 Signal Categories)

Section titled “Detection: Behavioral Analysis (4 Signal Categories)”
Signal Bot Threshold Human Range
Mouse movement (trajectory, velocity, acceleration, micro-tremors) Velocity variance <10 50-500
Keyboard rhythm (inter-key intervals, duration, errors) Variance <5ms 20-50ms
Scroll behavior (amplitude, direction, timing) Delta variance <5px 20-100px
Timing jitter (Welford’s algorithm) >200 events/sec 10-50

Detection: Browser Fingerprinting (100+ Signals)

Section titled “Detection: Browser Fingerprinting (100+ Signals)”

Navigator, screen, performance metrics, WebRTC leaks, TLS fingerprinting. Explicit checks for navigator.webdriver, ChromeDriver, Puppeteer, Selenium, PhantomJS.

No visible challenge — assigns 0.0-1.0 score based on session behavior. On Maps, appears inconsistently. Only bypass: never trigger it.

ARX cipher (similar to NSA’s Speck). Magic constants rotate per script update. Scripts served with integrity hashes. Bypasses become obsolete within minutes.

Trigger Risk
Datacenter IPs Blocked immediately — non-viable
Uniform request timing High — humans pause, bots don’t
Direct navigation to data pages Medium — humans wander first
Default/missing headers Medium

Stealth detection: Google returns poisoned/incomplete data to detected scrapers rather than blocking outright. Soft bans aren’t clean HTTP codes — “some weird JSON response or just incomplete page loads.” DOM class names change every few months.

Type Effectiveness Cost Notes
Datacenter Very Low $ Non-viable for Maps
Residential Good $$ ~30-50 searches/hour/IP before CAPTCHAs
Mobile (4G/5G) Best $$$ Most reliable for large-scale
ISP OK (low volume) $$ Burns fast. Once flagged, stays flagged for days
Hybrid Cost-optimized $$ Datacenter for non-Maps, mobile for Maps. Saves 40-60%

Practical rate limit: max 1 req/min/IP = ~144K results/day per IP.

  • playwright-stealth / puppeteer-extra-plugin-stealth (17 evasion modules) — near-essential
  • undetected-chromedriver for Selenium
  • CapMonster Cloud for automated CAPTCHA solving
  • FlareProx — Cloudflare Workers proxy for IP masking (100K free daily requests)
  • Cookie banner handling: document.querySelector('#sp-cc-accept')?.click()
  • CAPTCHA detection: document.querySelector('form[action*="validateCaptcha"]')
  • Image/font blocking via Network.setBlockedURLs
  • Search-based navigation to bypass Feb 2026 “limited view” lockdown