Google Maps Shared List Scraper
Pricing
from $16.90 / 1,000 results
Google Maps Shared List Scraper
Extracts every place from a shared Google Maps list URL and returns each one as a flat row with name, address, phone, website, rating, and category. Export to CSV or JSON.
Pricing
from $16.90 / 1,000 results
Rating
5.0
(3)
Developer
ParseForge
Maintained by CommunityActor stats
3
Bookmarked
296
Total users
12
Monthly active users
1.9 days
Issues response
3 days ago
Last modified
Categories
Share
Google Maps Shared List Scraper
Extract every place from any shared Google Maps list into a clean spreadsheet. Paste a list URL, set a limit, and get the name, address, phone, website, rating, and category for each place. Export to CSV or JSON.
Google Maps lets anyone curate and share lists of saved places, but there is no built-in way to export that data for a trip plan, a market analysis, or a lead list. This actor reads a shared Google Maps list URL and pulls out every place it contains. You get a structured row per place without copying, pasting, or clicking through each pin.
| Who uses it | What they scrape Google Maps for |
|---|---|
| Travel planners | Turn a friend's shared restaurant list into a spreadsheet for a group trip. |
| Sales teams | Build a cold-outreach list from a competitor's curated map of local businesses. |
| Market researchers | Audit which businesses appear in a city's best-of list and spot missing categories. |
| Real estate investors | Extract every property or amenity pinned on a neighborhood tour map. |
What it does
This Actor collects every place from one or more shared Google Maps list URLs and returns each place as a flat row with its name, address, phone, website, rating, and category.
- 🔗 Bulk list processing: paste multiple shared list URLs and the actor runs them all in one job.
- 🤖 AI enrichment: turn on OpenRouter to add a visit score, a short recommendation, and fill in missing websites or phone numbers.
- 📊 CSV or JSON output: pick CSV for Excel and Google Sheets, or JSON for your own scripts and databases.
- ⚙️ Concurrency control: dial parallel requests up to 10 for speed, or down to 1 for a lighter run.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Google Maps data
🗺️ Turn a shared map into a trip itinerary.
A travel planner pastes a friend's Google Maps list of cafes and museums, exports a CSV, and builds a day-by-day schedule in a spreadsheet.
📋 Build a local business lead list.
A sales rep scrapes a competitor's public map of recommended vendors, filters by rating, and loads the names and phone numbers into their CRM.
🏘️ Audit a neighborhood for investment.
A real estate analyst extracts every restaurant, gym, and transit stop from a curated neighborhood map to score walkability before a purchase.
🔍 Enrich a list with missing contact data.
A researcher runs a shared list through AI enrichment to fill in websites and phone numbers that Google Maps did not show, then exports a complete CSV.
Why choose this scraper
| What you get | |
|---|---|
| No manual copying | Every place lands in one row with its name, address, phone, website, rating, and category. |
| Handles large lists | Pull up to 500 places per list so a long curated map does not get cut off. |
| AI-powered insights | Optionally enrich each place with a visit recommendation and auto-discovered contact details. |
| Flexible export | Download as CSV for a spreadsheet or JSON for a pipeline, no extra conversion step. |
How it compares
The Google Search Results Scraper reads search engine pages, not curated Maps lists. This actor is purpose-built for shared Google Maps lists and returns place-level detail that a SERP scraper cannot.
| Feature | ParseForge | Google Search Results Scraper |
|---|---|---|
| Reads shared Google Maps list URLs | Yes | Not listed |
| Returns place name, address, phone, and website | Yes | Not listed |
| AI enrichment for missing contact data | Yes | Not listed |
| CSV export for spreadsheets | Yes | Yes |
| No Google API key required | Yes | Not listed |
Configure the run
Drive the Actor with one or more shared Google Maps list URLs and cap the places extracted per list from 1 to 500. The Input tab lists every parameter.
A first run with the defaults:
{"listUrls": ["https://maps.app.goo.gl/MMjvFNWpUTjiupHc9"]}
Pricing
Pay-per-result: $0.039 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $3.90 |
| 1,000 results | $39.00 |
| 10,000 results | $390.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Google Maps Shared List Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Google Maps through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/google-maps-shared-list-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that the list URL is a shared link and that the list is still public. If the owner changed it to private, the actor cannot read it. Also confirm you did not set maxPlacesPerList to 0.
The actor returns fewer places than I see on the map.
Google Maps sometimes lazy-loads places as you scroll. The actor reads the initial list view. Try raising maxPlacesPerList to 500 and re-run. If the list is extremely long, some places may still be missing.
AI enrichment is not filling in missing websites.
Perplexity Sonar searches the web for each place, but it cannot guarantee a find for every business. The enrichment works best for well-known restaurants, hotels, and attractions.
The run is slow with AI enrichment turned on.
Each place triggers an AI call, which adds about one to two seconds per row. Lower maxPlacesPerList or disable enrichment for large lists if speed matters more than the extra fields.
I get an error about my OpenRouter API key.
Make sure you created a key at openrouter.ai and pasted the full key string. A free key works, but it has rate limits. If you hit them, wait a minute and re-run.
FAQ
| Question | Answer |
|---|---|
| What is a shared Google Maps list? | It is a collection of saved places that a user creates in Google Maps and shares via a link. Anyone with the link can view the list, and this actor reads that public view to extract the places. |
| How do I get a shared list URL? | Open the list in Google Maps, tap the share button, and copy the link. Paste that link into the actor's input field. |
| Can I scrape a list that is not mine? | Yes, as long as the list is shared publicly and you have the link. The actor reads the same public view any person with the link would see. |
| What data does each place row include? | Every row returns the place name, full address, phone number, website, Google Maps rating, total reviews, and the category Google assigns to it. |
| Does this actor need a Google API key? | No. It reads the public shared-list page directly. You do not need a Google Cloud account or any API key. |
| What does the AI enrichment do? | When you enable it and provide an OpenRouter API key, the actor calls Perplexity Sonar for each place. It returns a visit score from 1 to 10, a short recommendation, and attempts to find a website or phone number when Google Maps omits them. |
| How many places can I extract from one list? | You set the limit per list, up to 500 places. If a list contains more, the actor stops at your cap. |
| Can I run multiple lists in one job? | Yes. Paste several URLs into the input, one per line, and the actor processes them all sequentially in a single run. |
| Is there a risk of getting blocked? | The actor uses built-in proxy rotation and respects the concurrency setting you choose. Keeping concurrency at the default of 5 works well for most lists. |
| What output formats are supported? | CSV for spreadsheets and JSON for developers. Pick the one that fits your workflow in the output options. |
Related actors
- google-search-scraper: Use this when you need Google Search results, not a curated Maps list.
Browse the full ParseForge collection for more scrapers.
🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Google LLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
