{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"entry_sha256":"2f1a321d0100a06f863ab693d2225e91462586ea0ce7da05de303febd47315e6","entry":{"id":"google/maps-platform","name":"Google Maps Platform","vendor":"Google","summary":"Maps, Routes and Places APIs and SDKs. Needs a Cloud project with billing enabled and a restricted API key. Since 1 March 2025 each SKU has its own free monthly usage cap instead of the old $200 monthly credit.","aliases":["google maps api","maps javascript api","places api","geocoding api"],"category":"maps","group":"B","homepage":"https://mapsplatform.google.com/","docs":["https://developers.google.com/maps/get-started","https://developers.google.com/maps/api-security-best-practices"],"status":"researched","last_verified":null,"last_researched":"2026-10-25","sources":[{"id":"get-started","url":"https://developers.google.com/maps/get-started","title":"Getting started with Google Maps Platform","accessed":"2026-10-25","supports":"Steps (project, billing, enable APIs, API key); billing required except Embed API; Get Started quick setup for new users; Free Trial eligibility.","kind":"official"},{"id":"billing","url":"https://developers.google.com/maps/billing-and-pricing/billing-overview","title":"Google Maps Platform billing overview","accessed":"2026-10-25","supports":"Maps-related billing account definition; upgrade first billing account to paid to avoid disruption; multiple Maps-related billing accounts violate the terms.","kind":"official"},{"id":"pricing","url":"https://developers.google.com/maps/billing-and-pricing/pricing","title":"Google Maps Platform core services pricing list","accessed":"2026-10-25","supports":"Essentials/Pro/Enterprise SKU tiers, free caps (10,000 / 5,000 / 1,000 billable events per month typical), example prices.","kind":"official"},{"id":"march-2025","url":"https://developers.google.com/maps/billing-and-pricing/march-2025","title":"Google Maps Platform changes as of March 1, 2025","accessed":"2026-10-25","supports":"$200 monthly credit replaced by per-SKU free monthly usage thresholds.","kind":"official"},{"id":"security","url":"https://developers.google.com/maps/api-security-best-practices","title":"Google Maps Platform security guidance","accessed":"2026-10-25","supports":"Application and API restrictions; one key per app; rotation; financial responsibility for unrestricted keys; quotas.","kind":"official"},{"id":"terms","url":"https://cloud.google.com/maps-platform/terms","title":"Google Maps Platform Terms of Service (last modified 26 August 2026)","accessed":"2026-10-25","supports":"No scraping, no caching, no creating content from Maps Content, no use with non-Google maps, no embedded vehicle use, prohibited territories, COPPA, required ToS/privacy notices.","kind":"official"},{"id":"budgets","url":"https://docs.cloud.google.com/billing/docs/how-to/budgets","title":"Create, edit, or delete budgets and budget alerts","accessed":"2026-10-25","supports":"Budgets do not cap Maps Platform usage or spending.","kind":"official"},{"id":"leaked-keys","url":"https://bleepingcomputer.com/news/security/previously-harmless-google-api-keys-now-expose-gemini-ai-data/","title":"BleepingComputer: Previously harmless Google API keys now expose Gemini AI data","accessed":"2026-10-25","supports":"Security researchers (Truffle Security) reported public Maps-style keys gaining Gemini access when Gemini is enabled in the same project.","kind":"community"}],"allowed_domains":["console.cloud.google.com"],"account_model":{"summary":"Maps runs inside a Google Cloud project linked to a Cloud Billing account (see google/cloud-billing). API keys belong to the project. Keep one Maps-related billing account; more than one breaks the Maps terms.","accounts":[{"name":"Google Account","kind":"personal","owned_by":"the person","required":true},{"name":"Cloud Billing account","kind":"billing","owned_by":"the person or company","parent":"Google Account","required":true,"note":"The first billing account must be upgraded to paid to avoid disruption once the Free Trial ends."},{"name":"Cloud project","kind":"project","parent":"Cloud Billing account","required":true,"note":"Google suggests separate projects for client-side and server-side use so quotas can be set separately."}],"notes":["Free per-SKU caps apply per billing account each month, on top of any Free Trial credit."]},"prerequisites":[{"entry":"google/cloud-billing","note":"A billing-enabled project is required (Embed API usage is free but still needs a billing account)."},{"need":"A Google Cloud project","note":"See google/cloud-project-run for creating a project."}],"have_ready":[{"kind":"payment_card","description":"Payment card for the Cloud Billing account.","needed_for":["billing"],"auto_check":"none","source":"get-started"},{"kind":"live_website","description":"The website domains (HTTP referrers) or app bundle/package IDs the key will be used from.","why":"Needed to set application restrictions on the key.","needed_for":["restrict-key"],"auto_check":"none","source":"security"},{"kind":"app_privacy_policy_url","description":"Your app's terms of service and privacy policy pages.","why":"The Maps terms require your app's terms to say it includes Google Maps features and are subject to Google's terms, and your privacy policy to reference Google's.","needed_for":["enable-apis"],"auto_check":"none","source":"terms"}],"steps":[{"id":"project","title":"Create or pick a Cloud project","summary":"New users can use the Get Started setup in the console; otherwise create a project in the project selector or with gcloud projects create.","route":"guided","depends_on":[],"gate":"human_login","url":"https://console.cloud.google.com/google/maps-apis/start","sources":["get-started"]},{"id":"billing","title":"Make sure billing is enabled","summary":"Link the project to a Cloud Billing account. Upgrade the first billing account to paid before the trial ends to avoid disruption.","route":"guided","depends_on":["project"],"gate":"human_payment","url":"https://console.cloud.google.com/billing","recovery":[{"hiccup":"Maps requests stop working after the Free Trial ends.","fix":"Upgrade the billing account to a paid account; free per-SKU usage caps still apply afterwards.","source":"billing"}],"sources":["billing"]},{"id":"enable-apis","title":"Enable the Maps APIs and SDKs you need","summary":"In the Maps API Library, enable each API (for example Maps JavaScript, Places, Routes, Geocoding). Enabling Places also enables Places SDKs for Android and iOS.","route":"api","depends_on":["billing"],"gate":"none","url":"https://console.cloud.google.com/google/maps-apis/api-list","sources":["get-started"]},{"id":"create-key","title":"Create an API key","summary":"Credentials > Create credentials > API key, or gcloud services api-keys create. Use one key per app.","route":"api","depends_on":["enable-apis"],"gate":"none","url":"https://console.cloud.google.com/google/maps-apis/credentials","capture":{"env":"GOOGLE_MAPS_API_KEY","kind":"api_key"},"sources":["get-started","security"]},{"id":"restrict-key","title":"Restrict the key","summary":"Add one application restriction (websites, IP addresses, Android apps or iOS apps) and API restrictions listing only the Maps APIs this key needs. Server keys get IP restrictions and stay secret.","route":"guided","depends_on":["create-key"],"gate":"none","url":"https://console.cloud.google.com/google/maps-apis/credentials","recovery":[{"hiccup":"Key works on the web but fails in the mobile app (or the reverse).","fix":"A key with an application restriction only works on that platform; create a separate key per platform.","source":"security"},{"hiccup":"Key leaked or abused, unexpected bill.","fix":"Restrict the key first, then rotate it (old and new keys both work during the transition), update apps and delete the old key. Set per-minute quotas on client-side projects.","source":"security"}],"sources":["security"]},{"id":"quotas","title":"Set quotas and a budget alert","summary":"Cap per-minute and per-user quotas for client-side APIs and add a billing budget alert. Budgets alert only; quotas actually limit usage.","route":"guided","depends_on":["restrict-key"],"gate":"none","url":"https://console.cloud.google.com/google/maps-apis/quotas","optional":true,"sources":["security","budgets"]}],"outputs":[{"name":"GOOGLE_MAPS_API_KEY","description":"Maps Platform API key (restricted). Browser keys are visible to users by design; server keys must stay secret.","secret":true,"example_format":"AIza…","from_step":"create-key"}],"terms_notes":[{"kind":"rules_say","severity":"red","title":"One Maps billing account","text":"Creating multiple Google Maps-related Cloud Billing accounts is a violation of the Maps Platform Terms of Service.","source":"billing"},{"kind":"rules_say","severity":"red","title":"No scraping or caching","text":"You may not export, scrape, pre-fetch, store, bulk download or rehost Maps content (tiles, geocodes, places, business names, reviews), and may not cache it except where the service-specific terms allow.","source":"terms"},{"kind":"rules_say","severity":"red","title":"No Google Maps services with a non-Google map","text":"You may not show Places content on a non-Google map, or show Street View and non-Google maps on the same screen.","source":"terms"},{"kind":"rules_say","severity":"amber","title":"Other banned uses","text":"No creating content from Maps content (tracing, 3D models), no use in systems embedded in vehicles, no distribution in prohibited territories, and no use in services directed to children under COPPA.","source":"terms"},{"kind":"rules_say","severity":"amber","title":"You pay for leaked unrestricted keys","text":"You are financially responsible for charges caused by abuse of unrestricted API keys.","source":"security"},{"kind":"people_report","severity":"amber","title":"Public Maps keys and Gemini","text":"Security researchers reported (Feb 2026) that public browser keys in a project could call Gemini once the Gemini API was enabled in that project. Keep Maps keys API-restricted and do not enable Gemini in a project with public keys.","source":"leaked-keys"}],"pricing_notes":{"free_tier":"Per-SKU free monthly caps since 1 March 2025: typically 10,000 billable events for Essentials SKUs, 5,000 for Pro and 1,000 for Enterprise; some SKUs higher or unlimited (Embed, mobile Maps SDK). Free Trial credit also applies for new customers.","costs":"Pay-as-you-go per 1,000 events with volume tiers, e.g. Dynamic Maps $7.00 and Geocoding $5.00 per 1,000 for the first 100,000.","notes":"Prices and caps change; check the pricing list before relying on them.","source":"pricing"},"api_provisioning":{"available":"partial","notes":"Enabling APIs (gcloud services enable) and creating/restricting keys (API Keys API, gcloud services api-keys) are scriptable; billing setup is not.","docs":["https://developers.google.com/maps/get-started"],"source":"get-started"},"detect":{"env_names":["GOOGLE_MAPS_API_KEY","NEXT_PUBLIC_GOOGLE_MAPS_API_KEY","VITE_GOOGLE_MAPS_API_KEY"],"packages":["@googlemaps/js-api-loader","@vis.gl/react-google-maps","@react-google-maps/api","googlemaps"]}}}