{"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"},"id":"google/maps-platform","name":"Google Maps Platform","vendor":"Google","status":"researched","last_verified":null,"last_researched":"2026-10-25","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.","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."}],"identity_requires":[],"have_ready":[{"kind":"payment_card","description":"Payment card for the Cloud Billing account.","why":null,"needed_for":["billing"],"auto_check":"none","source_url":"https://developers.google.com/maps/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_url":"https://developers.google.com/maps/api-security-best-practices"},{"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_url":"https://cloud.google.com/maps-platform/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","gate":"human_login","human_only":true,"gate_label":"You sign in","depends_on":[],"optional":false,"url":"https://console.cloud.google.com/google/maps-apis/start","lead_time":null,"preflight":[],"captures":null},{"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","gate":"human_payment","human_only":true,"gate_label":"You add payment details","depends_on":["project"],"optional":false,"url":"https://console.cloud.google.com/billing","lead_time":null,"preflight":[],"captures":null},{"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","gate":"none","human_only":false,"gate_label":null,"depends_on":["billing"],"optional":false,"url":"https://console.cloud.google.com/google/maps-apis/api-list","lead_time":null,"preflight":[],"captures":null},{"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","gate":"none","human_only":false,"gate_label":null,"depends_on":["enable-apis"],"optional":false,"url":"https://console.cloud.google.com/google/maps-apis/credentials","lead_time":null,"preflight":[],"captures":"GOOGLE_MAPS_API_KEY"},{"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","gate":"none","human_only":false,"gate_label":null,"depends_on":["create-key"],"optional":false,"url":"https://console.cloud.google.com/google/maps-apis/credentials","lead_time":null,"preflight":[],"captures":null},{"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","gate":"none","human_only":false,"gate_label":null,"depends_on":["restrict-key"],"optional":true,"url":"https://console.cloud.google.com/google/maps-apis/quotas","lead_time":null,"preflight":[],"captures":null}],"gates":[{"step":"project","gate":"human_login","label":"You sign in"},{"step":"billing","gate":"human_payment","label":"You add payment details"}],"lead_times":[],"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…","environments":null}],"renewals":[],"estimated_minutes":null,"guide_url":"https://verapli.com/guides/google/maps-platform"}