TRAVELDEVELOPER TOOLSAI API MCP READY

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.

MEDIAN LAGon demand
PARAMETERS10
TOTAL USERS3
MONTHLY ACTIVE1
TOTAL RUNS59
SUCCESS (30D)100.0%
RATINGno ratings yet
LAST MODIFIED2026-09-03
PUBLISHED2026-08

Input parameters

PARAMETERTYPEREQDEFAULTDESCRIPTION
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

Basic — a realistic first run
{
  "searchTerm": "coffee shops in Austin, TX",
  "maxPlacesPerSearch": 5,
  "photoCategory": "food_and_drink",
  "maxPhotosPerPlace": 40
}
POWER-USER TIP
POWER-USER TIP
POWER-USER TIP

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

More sources for Transcripts, images and content pipelines, Grounding AI agents and MCP tools