Places API error: "You're calling a legacy API, which is not enabled for your project" — fixes in 2026

Since 1 March 2025 the legacy Places API (with the legacy Directions and Distance Matrix APIs) can't be enabled in new Google Cloud projects. Existing projects keep it, but a new project's key gets REQUEST_DENIED or LegacyApiNotActivatedMapError when code calls the old endpoints, for example the googlemaps Python package's places() and places_nearby(). The official fix is to move to Places API (New): different endpoints (places:searchText, places:searchNearby) with a field mask on every request. If what you actually need is a list of businesses, such as leads or market research, Google Maps Leads on Apify returns them from Google Maps with phone, website, email, rating and reviews, without a Cloud project, at $0.03 per lead.

Open Google Maps Leads Scraper on Apify $0.03 per lead ($0.024 on Gold); $0.08 per business found with the no-website or unclaimed filters

Step by step

  1. Confirm it's the legacy error. The response says REQUEST_DENIED with a message about calling a legacy API, or the browser console shows LegacyApiNotActivatedMapError. It happens on projects created after 1 March 2025.
  2. Enable Places API (New). In Google Cloud Console, open APIs & Services → Library and enable "Places API (New)" for the project behind your key.
  3. Switch the requests. Text search becomes POST https://places.googleapis.com/v1/places:searchText with a textQuery; nearby search becomes places:searchNearby with a locationRestriction circle. Send your key as X-Goog-Api-Key.
  4. Add a field mask. Every Places API (New) request needs X-Goog-FieldMask listing the fields you want (for example places.displayName,places.formattedAddress). Billing depends on the fields you ask for.
  5. Update Python code. The googlemaps package only covers the legacy endpoints; use Google's google-maps-places client (from google.maps import places_v1) or plain HTTP.
  6. Or skip the API for business lists. If you're building lead lists or market research, run Google Maps Leads with a category and city instead. It returns name, address, phone, website, email, rating and reviews without a Cloud project.

Do it from code

Places API (New)

# The official fix: Places API (New). Enable it in Google Cloud, then:
curl -X POST "https://places.googleapis.com/v1/places:searchText" \
  -H "Content-Type: application/json" \
  -H "X-Goog-Api-Key: $GOOGLE_MAPS_KEY" \
  -H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.rating,places.websiteUri,places.nationalPhoneNumber" \
  -d '{"textQuery": "dentists in Austin, TX"}'

# Python: the googlemaps package only calls the legacy endpoints; use google-maps-places instead
# pip install google-maps-places   ->   from google.maps import places_v1

Business lists without a Cloud project

# The no-Cloud-project route for business lists: Google Maps Leads on Apify
curl -X POST "https://api.apify.com/v2/acts/automationnation~google-maps-leads/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cities": ["Austin, TX"], "country": "us", "category": "dentist", "maxResults": 20}'

# Each row: name, category, address, phone, email (found on the website), website, rating, review count, today's hours and a Google Maps link

From an AI assistant (MCP)

Add this MCP server URL to Claude, ChatGPT or Cursor and ask in plain English:

https://mcp.apify.com?tools=automationnation/google-maps-leads

Alternatives

For live place lookups inside an app (autocomplete, place details, maps), Places API (New) is the right tool, so migrate to it. Other data providers (Foursquare, OpenStreetMap/Overpass) have different coverage. Google Maps scrapers on Apify, including the large compass/crawler-google-places, suit bulk business lists.

FAQ

Can I re-enable the legacy Places API?

Not on a project created after 1 March 2025. Projects that already used it keep it, which is why old keys still work while new ones don't.

Does the googlemaps Python package support Places API (New)?

No, it calls the legacy endpoints. Use google-maps-places (google.maps.places_v1) or call https://places.googleapis.com/v1 directly.

What does Google Maps Leads cost?

$0.03 per lead on your Apify account ($0.024 on Gold), with emails found on the business websites. The free plan's $5 monthly credit covers about 160 leads.

Is scraping Google Maps allowed?

Google Maps Leads reads public business listings. Check that your use, especially emailing businesses, complies with the laws that apply to you, such as GDPR and PECR in the UK and EU.

Written by AutomationNation, the developer of Google Maps Leads Scraper. Prices checked October 2026.