Google Maps Photos Scraper | Videos, Menu, Food & Vibe avatar

Google Maps Photos Scraper | Videos, Menu, Food & Vibe

Pricing

from $0.25 / 1,000 photo or video extracteds

Go to Apify Store
Google Maps Photos Scraper | Videos, Menu, Food & Vibe

Google Maps Photos Scraper | Videos, Menu, Food & Vibe

Download Google Maps photos, videos, and Street View by category: Menu, Food, Vibe, Rooms, Amenities, Inside, Exterior, From visitors, By owner, and Latest.

Pricing

from $0.25 / 1,000 photo or video extracteds

Rating

0.0

(0)

Developer

LurkAPI

LurkAPI

Maintained by Community

Actor stats

2

Bookmarked

261

Total users

33

Monthly active users

0.076 hours

Issues response

10 hours ago

Last modified

Share

Google Maps Photos & Videos Scraper

Download every public photo, video, and Street View image from a Google Maps place, with the original category label attached. See what is on the menu, what the rooms look like, which images the owner chose, and what customers uploaded most recently.

Each media item is its own dataset row, so you can filter by category, join on a stable media ID, and bill only for usable results. No Google API key, browser setup, or custom code required.

💡 Why this scraper

Most Google Maps photo scrapers hand you one flattened gallery. This one keeps the Maps structure intact:

  • All 13 tabs: All, Menu, Food & drink, Vibe, Rooms, Amenities, Inside, Exterior, From visitors, By owner, Latest, Videos, and Street View.
  • The category on every row: separate menu shots from room photos, owner uploads from visitor photos, and recent uploads from the full gallery.
  • Full galleries, not a sample: collect up to 10,000 media rows from a single place.
  • One row per media item: filter, deduplicate, and join without unpacking a place-level JSON blob.
  • Videos that play: a direct MP4 videoUrl plus videoDuration where Google exposes it.
  • Street View images stored for you: the image is saved to the run's key-value store, not just referenced by a URL.
  • Direct ChIJ Place IDs: no place_id: URL workaround required.
  • Keyword search with real geography: constrain places by location, circle, or polygon.
  • Bulk input: up to 1,000 combined Maps URLs and Place IDs in one run.

🎯 What you can answer

  • Menu and food audits: Which restaurants have menu photos, which dishes do customers photograph, and which listings are using stock images?
  • Local SEO and competitor research: Who uploads owner photos, who relies on visitors, and whose newest upload is years old?
  • Hotel and venue checks: Do the rooms, amenities, lobby, and exterior match the listing?
  • Real estate and travel research: Collect a visual record of a place before a visit, listing, or story.
  • Image datasets: Build labeled photo sets for menu recognition, venue classification, or quality scoring.

📸 Coverage

TabWhat it tells you
AllThe complete public photo gallery
MenuWhether the place has photographed menus
Food & drinkWhat guests actually ordered and photographed
VibeWhat the atmosphere looks like inside
RoomsWhat the hotel rooms really look like
AmenitiesPool, gym, breakfast, parking, and other facilities
InsideInterior condition, layout, and decor
ExteriorStorefront, signage, entrance, and street context
From visitorsThe customer's view of the place
By ownerThe images the business chose to publish
LatestThe newest uploads and recent changes
VideosWalkthroughs, room tours, and customer clips as MP4 URLs
Street ViewThe real street-level view, stored as an image

📄 What you get

Every row carries the identifiers and labels needed to filter, join, and audit the result:

FieldDescription
rowTypemedia for a usable result, status for an explanatory row
statusSuccess or a customer-readable outcome
errorStable error code, or null for successful media
photoIdStable Google media identifier, or null on place-level status rows
typephoto, video, street_view, or null
category, categoryLabelThe Maps tab the media came from
contributorNamePublic contributor display name, or null when unavailable
imageUrlRequested image URL or stored Street View image
videoUrlPlayable MP4 URL for video rows, otherwise null
videoDurationVideo length in milliseconds, present only on video rows
storedMediaUrlDownloaded file in the run's key-value store, when enabled

Optional output controls cover thumbnails, dimensions, GPS coordinates, upload dates, owner flags, contributor name, source, video duration, stored media URL, place metadata, source search term, internal category code, and scrape timestamp. Contributor lookup is enabled by default and can be disabled for maximum speed.

An enabled optional value that Google does not expose is returned as null. Disabling an optional field removes it from every row type. Standard photo URLs use the selected CDN size. Width and height describe the original photo or video frame. Street View rows report the dimensions of the stored image.

📋 How to use it

  1. Paste Google Maps URLs, share links, Place IDs, or hex CIDs. You can also enter search terms and a location, circle, or polygon.
  2. Choose the tabs you need. All tabs are selected by default.
  3. Choose media types, image resolution, and the total media cap per place.
  4. Optionally enable media downloads. Contributor names are enabled by default.
  5. Run the Actor and export the default dataset as CSV, JSON, or Excel.

Direct inputs and search inputs can be combined in one run. Equivalent places are processed once.

Inputs that work

InputExample
Full Maps URLPaste from the address bar or Copy link
Share linkmaps.app.goo.gl or goo.gl/maps
Google Place IDChIJ... directly, with no place_id: prefix needed
Hex CID0x...:0x...
Keyword searchSearch term plus a location, circle, or polygon

🤖 Use it from Claude Code or another AI agent

This Actor works through the Apify MCP server. Connect your client once, then ask for the photos in plain English.

ClientSetup
Claude CodeRun /plugin install apify, then authenticate when prompted.
Claude DesktopSettings > Connectors > Add custom connector, then use https://mcp.apify.com.
CodexPlugins > Add marketplace > apify/apify-codex-plugin, then install Apify.
CursorRun /add-plugin apify, or install Apify from the Plugins marketplace.
Other MCP clientsAdd https://mcp.apify.com as a remote MCP server.

For clients that use a JSON config:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com"
}
}
}

On first use, sign in to Apify with OAuth. No API key is needed for the remote server.

Example prompts

Replace the {{PLACEHOLDERS}} before pasting.

Audit menu and food coverage

Use the Google Maps Photos Scraper at https://apify.com/lurkapi/google-maps-photos-and-videos-scraper to pull up to 50 newest Menu, Food & drink, and Vibe photos from {{GOOGLE_MAPS_URL}}. Group the results by category and tell me which categories look weak or missing.

Compare hotel room coverage

Use the Google Maps Photos Scraper at https://apify.com/lurkapi/google-maps-photos-and-videos-scraper to pull up to 100 Room and Amenities photos from each of these hotels: {{GOOGLE_MAPS_URL_1}}, {{GOOGLE_MAPS_URL_2}}, and {{GOOGLE_MAPS_URL_3}}. Compare which hotel shows the strongest room and amenity coverage.

Setup details: Apify MCP server and agent plugins.

🚀 Built for bulk

LimitValue
Combined Maps URLs and Place IDs1,000
Search terms10
Discovered places per search term120
Media rows per place10,000
Search-circle radius100 miles
Supported tabs13, all selected by default

💰 Pricing

The live Pay-Per-Event configuration is:

EventPriceTrigger
Actor Start$0.00005Run startup; minimum one event per run
Photo or video extracted$0.00025One usable photo, video, or Street View row
Place found via search$0.005One unique search place that returns at least one media row

🆚 How it compares

NeedThis ActorMany URL-only photo scrapers
Keep the Maps tab✅ All 13 tabs on every row❌ One flattened gallery
Use a ChIJ Place ID directly✅ Yes, no workaround❌ Often requires a place_id: URL
Get playable videos✅ MP4 URL plus duration❌ Often omitted
Keep Street View✅ Image stored in the run KV store❌ URL or category only
Search by area✅ Keyword plus location, circle, or polygon❌ Keyword only
Work with bulk inputs✅ Up to 1,000 direct inputs❌ Often a small or undocumented cap
Bill by usable media✅ One row per media item❌ Often one row per place

❓ FAQ

Can I scrape all photos from one Google Maps place?

Yes. Paste the Maps URL or Place ID and keep All selected. The per-place cap goes up to 10,000 media rows.

Can I get only menu, room, or owner photos?

Yes. Select just those tabs. Every row still carries its category label.

Yes. Use a ChIJ Place ID, a place_id: value, a hex CID, a full Maps URL, or a share link.

Are videos and Street View included?

Yes, where Google exposes them. Video rows include a playable MP4 videoUrl and videoDuration. Street View images are stored in the run's key-value store.

Why is GPS or contributor name sometimes null?

Google does not expose GPS metadata on every upload, and some photos have no public contributor. The Actor returns null instead of guessing.

Why did I get a status row instead of photos?

Check the error code. Invalid inputs should be corrected. Unavailable places or categories can be retried later. Status rows are not billed as media rows.

⚖️ Disclaimer

Use this Actor only for lawful purposes and public information you are permitted to process. Platform availability and media URLs can change. Users are responsible for compliance with applicable laws and platform terms.

💬 Feedback

If this Actor saved you time, a review on the Apify Store helps other buyers find it.

Need a new feature or a different output shape? Open a request in the Issues tab.