Google Maps Photos Scraper
Pricing
from $0.50 / 1,000 photo chargeds
Google Maps Photos Scraper
Get place photo galleries from Google Maps. Talks directly to Google Maps' internal mobile API, no login needed. Split from the mature, published google-maps-all-in-one-api for a focused, single-purpose workflow.
What does Google Maps Photos Scraper do?
Google Maps Photos Scraper fetches user/business photos near one or more points on Google Maps — no place id needed, just coordinates and an optional radius. One dataset row per photo.
It talks directly to the same private gRPC API the official Google Maps Android app uses (mobilemaps-pa-gz.googleapis.com/MobileMapsPhotoService/ListEntityPhotos), reverse-engineered and proven working in Google Maps Unofficial API — this is the photos slice of that all-in-one Actor, split out as its own focused batch-run Actor (/photos).
Why use Google Maps Photos Scraper?
- Real protobuf/gRPC data, not scraped HTML — decodes the same binary response the Android app renders
- No place id required — just a lat/lng and optional radius
- Batch-friendly — pass any number of points in one run
- No account, no API key needed
- Use cases: street-level photo collection, visual monitoring of a location, feeding a photo gallery
Input
| Field | Type | Description |
|---|---|---|
points | array | Required, non-empty. Each item: { lat, lng, radius?, maxResults? }. |
points[].lat / lng | number | Required. Query point coordinates. |
points[].radius | number | Optional, meters. Default 25. |
points[].maxResults | integer | Optional. Caps photos returned per point. Default 20. |
Example:
{ "points": [{ "lat": 38.8960382, "lng": -77.0365611, "radius": 25, "maxResults": 20 }] }
Output
One dataset row per photo:
{"queryLat": 38.8960382,"queryLng": -77.0365611,"photoId": "AF1QipM...","url": "https://lh3.googleusercontent.com/p/AF1QipM...","width": 4032,"height": 3024,"lat": 38.8961,"lng": -77.0366,"dateTaken": { "year": 2023, "month": 6, "day": 14 },"caption": "Front entrance"}
queryLat/queryLng are the point you asked about; lat/lng (when present) are the photo's own geotagged coordinates.
Known limitations
- Results depend entirely on what's been geotagged/uploaded near that point — sparse areas can return few or no photos.
- Search, autocomplete, place detail, reviews, directions, and reference-data lookups are separate spin-off Actors — this one is photos-only. See google-maps-place-detail-scraper.
Pricing
Pay per event, via the photo event — charged once per photo pushed to the dataset, starting at $0.0008 (FREE tier). See the Actor's Pricing tab for current rates.