Google Maps Photos API
Google Maps Photos API - every photo for any place as structured JSON: full-size image URLs, thumbnails, gallery position, and a stable photo ID. Search by name, paste a map URL, or chain an identifier. Filter to menu, food and drink, vibe, by owner, videos, or Street View and 360.
RECORDS20
MEDIAN LAGon demand
PARAMETERS10
TOTAL USERS2
MONTHLY ACTIVE1
TOTAL RUNS25
SUCCESS (30D)100.0%
RATINGno ratings yet
LAST MODIFIED2026-08-08
PUBLISHED2026-08
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| searchTerm | string | no | — | Find a place by name, or by category and city. Billed per search term, not per place found. |
| searchTerms | array | no | — | Run several searches in one go. |
| maxPlacesPerSearch | integer | no | — | How many of each search's matches to fetch photos for. Default 3, max 20. |
| placeUrls | array | no | — | Google Maps place URLs. The identifier is read out of each link locally, so no search charge applies. |
| dataId | string | no | — | A place identifier you already have, as the hex pair or the dataId from a places search. |
| dataIds | array | no | — | Several identifiers at once. |
| maxPhotosPerPlace | integer | no | — | Photos per place. Default 20; they arrive in blocks of 20. |
| photoCategory | enum | no | — | Return one gallery section: all, latest, videos, by owner, street view, menu, food and drink, or vibe. |
| categoryId | string | no | — | A venue-specific section such as one dish. Overrides photoCategory. |
| hl | string | no | — | Two-letter interface language. Default en. |
Worked examples
{
"searchTerm": "coffee shops in Austin, TX",
"maxPlacesPerSearch": 5,
"photoCategory": "food_and_drink",
"maxPhotosPerPlace": 40
}
POWER-USER TIP
—
POWER-USER TIP
—
POWER-USER TIP
—
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~google-maps-photos-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerm": "coffee shops in Austin, TX", "maxPlacesPerSearch": 5, "photoCategory": "food_and_drink", "maxPhotosPerPlace": 40}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-maps-photos-api").call(
run_input={'searchTerm': 'coffee shops in Austin, TX', 'maxPlacesPerSearch': 5, 'photoCategory': 'food_and_drink', 'maxPhotosPerPlace': 40}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)
What people use it for
- Populate listing and directory profiles with real interior and exterior imagery
- Pull menu and food galleries for restaurant pages
- Collect Street View and 360 panoramas for a set of locations
- Build image datasets keyed to real places, de-duplicated by photo ID
- Give an AI agent the ability to look at a place, not just read about it