Google Maps Shared List Scraper
Pricing
from $11.70 / 1,000 scraped places
Google Maps Shared List Scraper
Export places from public Google Maps shared lists. Get names, notes, addresses, coordinates, phones, websites, ratings, reviews, hours, photos, source-list context, and scrape timestamps.
Pricing
from $11.70 / 1,000 scraped places
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
🗺️ Google Maps shared list scraper
Google Maps Shared List Scraper exports saved places from public Google Maps shared lists. Paste one or more shared list links, and the Actor returns one dataset row per place with names, notes, addresses, coordinates, phone numbers, websites, ratings, review counts, recent reviews, weekly hours, photos, source-list context, Google Maps URLs, and scrape timestamps.
Use this Google Maps shared list scraper when a curated Maps list is useful, but clicking every saved place by hand is not. It is built for travel planning, venue research, local lead lists, neighborhood guides, restaurant shortlists, field sales prep, CRM enrichment, and repeatable exports from lists shared by teammates, clients, creators, or your own Google account.
For a small first run, keep the prefilled Tokyo shared list and set Total places to 10 or 25. Once the row shape matches your workflow, add more list URLs, raise the limits, schedule repeat runs, or call the Actor through the Apify API.
✅ What this Actor does
- Accepts public Google Maps shared list URLs and short
maps.app.goo.glshared-list links. - Saves one dataset row per place found in the list.
- Keeps the original shared list URL, list ID, list name, source order, saved-by name, and saved timestamp when Google exposes them.
- Enriches places with contact details, ratings, review counts, recent individual reviews, weekly opening hours, photos, category data, and Google Maps identifiers when available.
- Optionally visits each discovered business website to add public contact emails.
- Supports Apify dataset exports, API access, schedules, webhooks, and integrations.
- Skips unsupported or empty list links without creating fake output rows.
- Charges only for exported place rows.
This Actor focuses on public Google Maps shared lists. It does not scrape private lists that require login, edit list memberships, create Google reviews, or enrich places from external business databases.
📦 What data you get
Each dataset item represents one saved place from one shared list. Fields can include:
name,note,address,shortAddress,city,state,postalCode, andcountryCodelatitude,longitude,plusCode, andtimezonecategoryandcategoriesrating,reviewCount, andreviewsphone,formattedPhone,website,websiteDomain, and optionalemailscurrentStatus,isOpen, andbusinessHoursdescription,heroPhotoUrl, andphotosgoogleMapsUrl,placeId,placeIdChIJ,googleMapsFeatureId, andcidlistId,sourceListName,sourceListUrl,sourceIndex,savedByName, andsavedAtscrapedAt
Google Maps does not show every field for every place. For example, some saved places may have no website, phone number, reviews, photos, or full weekly hours. The Actor returns the fields that are publicly available for each place.
🎯 Common use cases
- Export a restaurant, cafe, hotel, or venue shortlist from Google Maps.
- Turn a client or team shared list into a spreadsheet.
- Build local prospecting lists with addresses, websites, phones, and coordinates.
- Compare saved locations by rating, review count, category, or open hours.
- Preserve source-list order and notes for travel planning or editorial guides.
- Add public website emails to a Google Maps lead list when businesses publish them.
- Schedule repeat exports and send place rows to a CRM, sheet, database, or webhook.
▶️ How to run it
- Open the Actor in Apify Console.
- Paste one or more public Google Maps shared list URLs into Shared list URLs.
- Set Places per list and, if needed, Total places to keep the run bounded.
- Turn on Website emails only if you want the Actor to visit each place website for public contact emails.
- Start the run and open the dataset.
You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML. You can also consume results through the Apify API, schedule recurring runs, or connect the Actor to webhooks and integrations.
⚙️ Input
{"listUrls": ["https://maps.app.goo.gl/MMjvFNWpUTjiupHc9"],"maxPlacesPerList": 25,"maxResults": 25,"includeWebsiteEmails": false,"maxEmailsPerPlace": 3}
Shared list URLs
Add public Google Maps shared list links, one per line. Both short maps.app.goo.gl links and full google.com/maps shared-list URLs are supported when they point to a public list.
Limits
Use Places per list to cap how many places are exported from each list. Use Total places when you want one cap across all submitted lists.
Website emails
When Website emails is enabled, the Actor visits business websites discovered from Google Maps and adds public contact emails when found. This can make runs slower because it adds website crawling after place enrichment.
🧪 Output example
{"name": "Tamai Nihonbashi Main Branch","address": "2 Chome-9-9 Nihonbashi, Chuo City, Tokyo 103-0027, Japan","latitude": 35.6812297,"longitude": 139.7746943,"category": "Anago restaurant","rating": 4.5,"reviewCount": 199,"phone": "+81 3-3272-3227","website": "http://anago-tamai.com/","businessHours": [{"day": "Sunday","hours": ["11:00 AM-3:30 PM", "5:00 PM-9:00 PM"]}],"photos": ["https://lh3.googleusercontent.com/gps-cs-s/example=w1200-h800"],"googleMapsUrl": "https://www.google.com/maps/search/?api=1&query=35.6812297,139.7746943","placeIdChIJ": "ChIJDyNll1eJGGARSoyno4Tk-QI","listId": "example-list-id","sourceListUrl": "https://maps.app.goo.gl/MMjvFNWpUTjiupHc9","sourceIndex": 1,"scrapedAt": "2026-06-03T00:00:00.000Z"}
The example is shortened for readability. The full output schema lists every field the Actor can emit.
💳 Pricing
This Actor uses pay-per-event pricing. You are charged per exported place row. Unsupported list links, empty lists, and skipped inputs do not create chargeable dataset rows.
Optional website email enrichment does not change the charged unit; it can only increase runtime because the Actor may need to visit the discovered business websites.
⚠️ Limits and caveats
- The list must be public or otherwise accessible without your Google login.
- Google Maps may not expose every field for every place.
- Recent review rows are returned when publicly available; the Actor does not promise custom review sorting.
- Photos are capped to keep output practical for exports.
- Website emails are found only when a place has a public website and that website publishes contact emails in crawlable pages.
- Private notes, private list access, Google account data, and logged-in Google Maps surfaces are outside this Actor's scope.
❓ FAQ
Can I scrape a private Google Maps list?
No. This Actor is built for public shared lists that can be opened without user-provided Google credentials.
Do I need a Google Maps API key?
No. You only need the public shared list URL. The Actor handles the scrape and writes the results to an Apify dataset.
Can it export emails from Google Maps?
Google Maps usually does not publish email addresses directly. If Website emails is enabled, the Actor visits the business website shown on Google Maps and returns public emails found there.
Why are some fields empty?
Field availability depends on what Google Maps and each business website show publicly. A place can be valid even when it has no phone number, website, reviews, photos, or full weekly hours.
📝 Changelog
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Business Address Scraper ↗ - find public business addresses from company websites.
- Website Emails Scraper ↗ - extract public contact emails from websites.
- Website URL Crawler ↗ - crawl rendered websites and export discovered links.
- Map Your Show Exhibitor Scraper ↗ - export exhibitor companies, booths, websites, and contact data.
- TikTok Place Posts Scraper ↗ - collect public TikTok posts from place feeds.
Made with ❤️ by Maxime Dupré