Google Maps Photo Scraper avatar

Google Maps Photo Scraper

Pricing

from $0.30 / 1,000 results

Go to Apify Store
Google Maps Photo Scraper

Google Maps Photo Scraper

📸 Scrape photos and videos from Google Maps businesses and places.

Pricing

from $0.30 / 1,000 results

Rating

0.0

(0)

Developer

API ninja

API ninja

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

2 days ago

Last modified

Share

What does Google Maps Photos Scraper do?

Google Maps Photos Scraper extracts photos and videos from businesses and places on Google Maps. Enter a business name, Google Maps URL, business ID, or place ID, choose how many results you need, and start the Actor. Each photo or video is saved as a clean dataset item with its media URL, type, location, and publication date when available.

Use it to collect visual place data without maintaining your own scraper. Running on the Apify platform also gives you API access, scheduling, monitoring, cloud storage, webhooks, and integrations with tools such as Google Sheets, Make, Zapier, and other automation platforms.

Google Maps Photos Scraper can:

  • 📸 Extract Google Maps business and place photos
  • 🎬 Return only video media when needed
  • 🔎 Find a place from a plain-text business name
  • 🔗 Accept full or shortened Google Maps URLs
  • 🆔 Accept Google business IDs and place IDs directly
  • ♾️ Follow pagination and collect all available results
  • 🎯 Stop at an exact result limit for each place
  • 🌍 Localize place lookup with a two-letter country code
  • 📦 Export structured results to JSON, CSV, Excel, XML, or HTML
  • ⚙️ Run manually, on a schedule, through the Apify API, or as part of an automation

Why use Google Maps Photos Scraper?

Visual place data can help with market research, travel applications, local directory enrichment, brand monitoring, hospitality analysis, and dataset creation. Instead of opening each listing and collecting media manually, you can process several businesses in one run and receive consistent structured data.

Common use cases include:

  • Building or enriching restaurant, hotel, attraction, and venue directories
  • Researching how customers visually present a location
  • Collecting reference images for travel and local discovery products
  • Finding video content associated with physical businesses
  • Monitoring the visual presence of your own locations
  • Creating datasets for internal analysis or machine-learning workflows

The Actor returns links to the available media. It does not download image or video files into the key-value store.

How to scrape Google Maps photos

  1. Open Google Maps Photos Scraper in Apify Console.
  2. Add one or more businesses or places. The easiest option is a name such as Empire State Building, but you can also paste a Google Maps URL, business ID, or place ID.
  3. Set the maximum number of results per place, or enable Scrape all results.
  4. Optionally enable Videos only and choose a region.
  5. Click Start and wait for the run to finish.
  6. Open the Output tab to preview the results or download the dataset in your preferred format.

For the most accurate name lookup, include a city or country when a business name is ambiguous. For example, use Pizzagonia Rivne instead of only Pizzagonia.

Input

The Actor’s Input tab provides a simple form for every setting.

FieldTypeDefaultDescription
startUrlsArray of stringsRequiredBusiness names, Google Maps URLs, shortened Maps URLs, business IDs, or place IDs.
maxPhotosPerPlaceInteger100Maximum number of items saved for each place when scrape-all mode is disabled.
parseAllPhotosBooleanfalseContinues through all available result pages.
videosOnlyBooleanfalseReturns only media identified as video.
regionStringusTwo-letter ISO 3166-1 alpha-2 country code, such as us, gb, de, or ua.

Example input:

{
"startUrls": ["Empire State Building", "ChIJkaUn1JPTD4gR7ZWpE9cCuow", "0x89c259b5a9bd152b:0x31453e62a3be9f76"],
"maxPhotosPerPlace": 100,
"parseAllPhotos": false,
"videosOnly": false,
"region": "us"
}

When parseAllPhotos is enabled, maxPhotosPerPlace is ignored. The Actor keeps requesting result pages until the place has no further media available.

Output

Every object returned by the source is stored as a separate item in the default Apify dataset. A typical output looks like this:

[
{
"photo_id": "CIHM0ogKEICAgIChpr_PmQE",
"photo_url": "https://lh3.googleusercontent.com/example-media-url",
"photo_url_large": null,
"video_thumbnail_url": "https://lh3.googleusercontent.com/example-video-thumbnail",
"latitude": 40.752668568450744,
"longitude": -73.99356477987595,
"type": "video",
"photo_datetime_utc": "2023-03-11T00:00:00.000Z",
"photo_timestamp": 1678492800
}
]

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Results are also accessible programmatically through the Apify API. This makes it easy to send media records into a database, spreadsheet, data pipeline, or another Actor.

Google Maps photo data fields

FieldDescription
photo_idIdentifier supplied for the media item. In some cases, the identifier may itself be a source URL.
photo_urlPrimary photo or media URL.
photo_url_largeLarge-format photo URL when available.
video_thumbnail_urlThumbnail URL for video media when available.
latitudeLatitude associated with the media item.
longitudeLongitude associated with the media item.
typeMedia type, normally photo or video.
photo_datetime_utcMedia date in UTC when available.
photo_timestampUnix timestamp corresponding to the media date.

Some Google Maps records do not contain every field. Optional values can therefore be null.

How much does it cost to scrape Google Maps photos?

The final cost depends on the Actor pricing displayed in the Pricing tab, the number of places, the requested result count, and how many pages are available for each place. A run for one place with a limit of 100 is a useful low-cost test before processing a larger list.

To control spending:

  • Start with a small maxPhotosPerPlace value.
  • Leave Scrape all results disabled until you know the approximate media volume.
  • Process a small sample of places before starting a large production run.
  • Use Apify run limits and monitoring to control long-running automations.

Eligible Apify plans include platform usage credits; consult the current Apify Pricing page and the Actor’s Pricing tab for the exact allowance and rates applicable to your account.

Tips and advanced options

Get more accurate business matches

Names are resolved automatically, but common business names may exist in several locations. Add a city, region, address, or country to the query for a more precise match. Direct Google Maps URLs and IDs are best when exact identity matters.

Collect every available photo

Enable parseAllPhotos to follow pagination until no more results remain. Availability varies by listing, and a place can return fewer items than requested. If a terminal page cannot be reached, the Actor keeps all items already saved and finishes the place gracefully.

Scrape only Google Maps videos

Enable videosOnly to filter the source to video media. Because many businesses have few or no videos, the resulting dataset may be much smaller than a normal photo run.

Automate with the Google Maps Photos API

After saving an Actor task, you can invoke it from the Apify API, schedule recurring runs, receive completion webhooks, or connect the dataset to supported integrations. API clients can read results directly from the run’s default dataset.

Combine this Actor with other tools from the same Google Maps data workflow:

ActorBest for
Google Maps ScraperFinding places and extracting business details at scale.
Google Maps Reviews ScraperCollecting ratings, review text, reviewer details, and review metadata.
Google Maps Photos ScraperCollecting photo and video media associated with places.

A practical workflow is to discover businesses with Google Maps Scraper, collect their reviews with Google Maps Reviews Scraper, and then enrich the same place records with visual media from this Actor.

FAQ, disclaimers, and support

Can I use a business name instead of a Google Maps URL?

Yes. Enter a business or place name in startUrls. Add the city or country when the name could match more than one location.

Can this Actor scrape videos only?

Yes. Enable Videos only. Returned items will be limited to media identified as video.

Why did I receive fewer results than requested?

The place may have fewer available media items, the selected videos-only filter may reduce the result set, or no further result page may be available. The maximum result setting is a limit, not a guarantee.

Does the Actor download the media files?

No. It stores structured metadata and source URLs in the dataset. Your downstream workflow can use those URLs according to your needs and applicable terms.

Web scraping laws and platform terms vary by country and use case. You are responsible for ensuring that your use complies with applicable laws, privacy rules, copyright requirements, and Google’s terms. Do not use the Actor to collect or republish data without an appropriate legal basis or permission.

Where can I report an issue?

Use the Actor’s Issues tab to report unexpected results or request a feature. Include a non-sensitive example input and the run ID so the problem can be reproduced. Custom Google Maps data collection and integration solutions are also available on request.