Google Maps List Scraper: 30+ Fields Per Place avatar

Google Maps List Scraper: 30+ Fields Per Place

Pricing

from $0.50 / 1,000 saved places

Go to Apify Store
Google Maps List Scraper: 30+ Fields Per Place

Google Maps List Scraper: 30+ Fields Per Place

Export places from public Google Maps shared lists. Get names, notes, addresses, coordinates, categories, phones, websites, ratings, review counts, hours, photos, and source-list details.

Pricing

from $0.50 / 1,000 saved places

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

45

Total users

17

Monthly active users

13 days ago

Last modified

Share

🗺️ Export places from a Google Maps shared list

Google Maps Shared List Scraper is for travelers, researchers, and sales teams who need saved place data from public Google Maps lists. Add one or more shared-list links to get one row per place with its name, note, address, coordinates, categories, phone, website, rating, review count, hours, photos, and source-list details when available.

📦 Returned data

Each dataset row is one place from a public shared list. A row can include:

  • name, note, address, city, state, postalCode, and countryCode
  • latitude, longitude, plusCode, and timezone
  • categories, rating, and reviewCount
  • phone, website, and websiteDomain
  • currentStatus and businessHours
  • photos
  • googleMapsUrl, placeId, placeIdChIJ, and cid
  • listId, sourceListUrl, sourceIndex, savedByName, and savedAt

Some fields may be empty because Google Maps does not show the same details for every place. If the same place appears in more than one submitted list, the first eligible match is saved and later matches are ignored.

🚀 Running the Actor

  1. Open the Actor in Apify Console.
  2. Add one or more public links under Shared list URLs.
  3. Set Places per list and, if needed, Total places.
  4. Start the run and open the dataset.

Short maps.app.goo.gl links and full google.com/maps shared-list links are accepted when they lead to a public list. Private or login-protected lists are not supported.

⚙️ Input

{
"listUrls": ["https://maps.app.goo.gl/MMjvFNWpUTjiupHc9"],
"maxPlacesPerList": 25,
"maxResults": 25,
"includeWebsiteEmails": false,
"maxEmailsPerPlace": 3
}
  • listUrls is required. Add one or more public shared-list links.
  • maxPlacesPerList sets the place cap for each list. It accepts any positive integer. Leave it out to scrape every available place in each list.
  • maxResults sets an optional cap across the run. It accepts any positive integer. Leave it out to scrape every available place.
  • includeWebsiteEmails controls the optional website email lookup.
  • maxEmailsPerPlace sets the email cap for each place website when that lookup is on.

🧾 Output

This shortened example uses only public output fields:

{
"name": "Tamai Nihonbashi Main Branch",
"note": "Dinner shortlist",
"address": "2 Chome-9-9 Nihonbashi, Chuo City, Tokyo 103-0027, Japan",
"city": "Chuo City",
"countryCode": "JP",
"latitude": 35.6812297,
"longitude": 139.7746943,
"categories": ["Anago restaurant", "Japanese restaurant"],
"rating": 4.5,
"reviewCount": 199,
"phone": "+81 3-3272-3227",
"website": "http://anago-tamai.com/",
"listId": "example-list-id",
"sourceListUrl": "https://maps.app.goo.gl/MMjvFNWpUTjiupHc9",
"sourceIndex": 1
}

You can export dataset rows in the formats offered by Apify or read them through the dataset API.

💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each place saved to the dataset. Unsupported links, empty lists, and skipped inputs do not create a saved place charge.

🔌 Integrations

Use the Apify API, schedules, webhooks, or available Apify integrations to send saved rows to your workflow. This video shows how to connect an Actor with other tools:

❓ FAQ

Yes. Add a public maps.app.goo.gl shared-list link or a full Google Maps shared-list link.

Can I scrape a private Google Maps list?

No. The list must open without a Google login.

Do I need a Google Maps API key?

No. Add the public shared-list URL to the Actor input.

Why are some place fields empty?

Google Maps may not show every field for every place. The Actor keeps the public fields available for that place.

What happens when a place is in two lists?

The first eligible match is saved. A later match for the same place is ignored, so the saved row keeps only the first list context.

📝 Changelog

  • 0.1: Scrape complete shared lists with no preset place ceiling, or use any positive per-list and total place limits.
  • 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 🫡

Made with ❤️ by Maxime Dupré