Google Maps Photos Scraper avatar

Google Maps Photos Scraper

Pricing

from $0.50 / 1,000 photo chargeds

Go to Apify Store
Google Maps Photos Scraper

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.

Pricing

from $0.50 / 1,000 photo chargeds

Rating

0.0

(0)

Developer

Romy

Romy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Categories

Share

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

FieldTypeDescription
pointsarrayRequired, non-empty. Each item: { lat, lng, radius?, maxResults? }.
points[].lat / lngnumberRequired. Query point coordinates.
points[].radiusnumberOptional, meters. Default 25.
points[].maxResultsintegerOptional. 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.