Google Maps Photo Scraper
Pricing
from $0.30 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
2 days ago
Last modified
Categories
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
- Open Google Maps Photos Scraper in Apify Console.
- 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. - Set the maximum number of results per place, or enable Scrape all results.
- Optionally enable Videos only and choose a region.
- Click Start and wait for the run to finish.
- 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.
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | Array of strings | Required | Business names, Google Maps URLs, shortened Maps URLs, business IDs, or place IDs. |
maxPhotosPerPlace | Integer | 100 | Maximum number of items saved for each place when scrape-all mode is disabled. |
parseAllPhotos | Boolean | false | Continues through all available result pages. |
videosOnly | Boolean | false | Returns only media identified as video. |
region | String | us | Two-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
| Field | Description |
|---|---|
photo_id | Identifier supplied for the media item. In some cases, the identifier may itself be a source URL. |
photo_url | Primary photo or media URL. |
photo_url_large | Large-format photo URL when available. |
video_thumbnail_url | Thumbnail URL for video media when available. |
latitude | Latitude associated with the media item. |
longitude | Longitude associated with the media item. |
type | Media type, normally photo or video. |
photo_datetime_utc | Media date in UTC when available. |
photo_timestamp | Unix 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
maxPhotosPerPlacevalue. - 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.
Related Google Maps Actors
Combine this Actor with other tools from the same Google Maps data workflow:
| Actor | Best for |
|---|---|
| Google Maps Scraper | Finding places and extracting business details at scale. |
| Google Maps Reviews Scraper | Collecting ratings, review text, reviewer details, and review metadata. |
| Google Maps Photos Scraper | Collecting 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.
Is it legal to scrape Google Maps photos?
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.