This page describes the error messages that can be returned by the Maps JavaScript API. The Maps JavaScript API writes error and warning messages to the JavaScript console. Certain error conditions may also occur, which result in the display of a darkened watermarked map.
API Key and Billing Errors
Troubleshooting
Under certain circumstances, a darkened map, or 'negative' Street View image, watermarked with the text "for development purposes only", may be displayed. This behavior typically indicates issues with either an API key or billing. In order to use Google Maps Platform products, billing must be enabled on your account, and all requests must include a valid API key. For help on finding error messages, see the section on checking errors in your browser.
The following flow will help you troubleshoot the issue.
Are you using an API key?
I'm not sure. How can I check if I am using an API key?
An API key is passed as the key
parameter in the URL that is used to load the
Maps JavaScript API. Here are a few options to check if you are using an API key:
- Use the Google Maps Platform API Checker Chrome extension. This allows you to determine if your website is properly implementing Google’s licensed Maps APIs.
- If you are using a library or plugin to load the Maps JavaScript API, check the settings for that library and look for an API key option.
- Check errors in your browser. If you see the following messages, you are not using your API key correctly:
- Google Maps JavaScript API warning: NoApiKeys
- Google Maps JavaScript API error: MissingKeyMapError
For web developers:
-
If you have access to the source code of your application, look for the
<script>
tag which is used to load the Maps JavaScript API. When loading the Maps JavaScript API, substituteYOUR_API_KEY
in the code below with your API key.<script async defer src="https://maps.googleapis.com/maps/api/js?key=
YOUR_API_KEY &callback=initMap"> </script> -
Check the network traffic generated by your website in the browser.
In Chrome, this can be viewed using the
DevTools Network tab.
Here you will see the network requests made by your website. Requests made using the
Maps JavaScript API will be under the path
maps/api/js
. Here you can confirm if the requests are using thekey
parameter. It may be helpful to filter your network traffic bymaps/api/js
when viewing the Network tab.
No, I am not using an API key.
To get an API key, click the button below. If you do not see a guided setup, follow the
full instructions at Get Started with Google Maps
Platform.
Get Started
Yes, I am using an API key.
Great! Let’s move on and check if a billing account is attached to your project.
Is a billing account attached to your project?
I'm not sure. How can I check if billing account is attached to my project?
Go to the Billing page in the Google Cloud console and select the project under which your API key was created. To confirm the key is associated with the project:
- Go to the Credentials section, which can be accessed from the left side bar under Google Maps Platform > Credentials.
- Check that the API key you currently use on your website is listed. If that's not the case, switch to a different project, and check the credentials there.
- If you cannot locate the project for your API key, you may have lost access to this project.
Ask others in your organization for help. If the original project cannot be located, you should:
- Create a new project. This can be done by selecting New Project from the projects list, or by selecting Create Project via the Resource Manager page.
- Create a new API key. This can be done on the Credentials page. Once there click Create credentials and then select API key.
Once you have located your project in the Cloud console, check if a billing account is attached by navigating to the Billing section in the left side menu.
No, a billing account is not attached to my project.
Go to the Enable Billing page in the Cloud console and add a billing account to your project. For additional information, see Get Started with Google Maps Platform.
Yes, a billing account is attached to my project.
Great! Let’s make sure the provided billing method is valid.
Is the provided billing method no longer valid (for example an expired credit card)?
You can add, remove, or update a payment method in the Cloud console.
Is there an exceeded self-imposed daily limit on the API?
If you have set a daily limit on any of your APIs, which is common to prevent unexpected increases, you can resolve this by increasing your daily limit.
You can check your daily limits by going to the APIs & Services Dashboard in the Cloud console. Once there:
- Select a project if prompted.
- Select an API from the list, then click the Quotas tab.
Does your API key have an IP addresses restriction?
API keys with an IP addresses restriction can only be used with web services that are intended for use from the server side (such as the Geocoding API and other Web Service APIs). Most of these web services have equivalent services within the Maps JavaScript API (for example, see the Geocoding Service). To use the Maps JavaScript API client side services, you will need to create a separate API key which can be secured with an HTTP referrers restriction (see Get, add, and restrict an API key).
Maps JavaScript API Error Codes for Developers and Site Owners
The following tables list the possible error codes returned by the Maps JavaScript API, with a description of the cause and how you can fix the problem. For help on finding the error messages, see the section on checking errors in your browser.
Map Loading Errors
If you encounter an error while loading the Maps JavaScript API, please see the table below to find explanations for the error codes.
Error Code | Message | Description |
---|---|---|
NotLoadingAPIFromGoogleMapsError
|
The Maps JavaScript API must be downloaded directly from Google's servers. |
The script element that loads the Maps JavaScript API is not being included correctly on your page. In order for the API to work correctly, it must be loaded directly from https://maps.googleapis.com. |
TOSViolationMapError
|
This website appears to violate the Google Maps API Terms of Service. The Google Maps API has been disabled for this website. |
Your application was blocked for non-compliance with the Google Maps Platform Terms of Service, following several email notifications. To appeal the block and have your implementation reviewed, please complete this form. You will receive a response via email within a few business days. If you have a Google Maps Platform Premium Plan license, please use your Google Maps Platform Premium Plan credentials to resolve this error. See the guide to Premium Plan authentication. |
UnauthorizedURLForClientIdMapError
|
This URL is not authorized to use the Google Maps Client ID provided. |
The Premium Plan or Maps APIs for Work client ID included in the script load is invalid, expired, or the current address loading the Maps JavaScript API has not been added to the list of authorized URLs. |
Maps JavaScript API Error Codes
If you find an error on Chrome JavaScript Console, Firefox Web Console or any other equivalent tools on your browsers, please see the table below to find explanations for the error codes.
The Maps JavaScript API returns both errors and warnings. An error indicates a severe issue which occurred while loading the Maps JavaScript API. Your page cannot load the API correctly, and the API will not work on that page. A warning is a supplemental message about the loading of the Maps JavaScript API. The warning describes the possible reasons for an error, or suggests potential issues in your code that loads the Maps JavaScript API. If you receive only warnings without any errors, the API will work correctly on that page. However, we recommend that you fix these potential issues as well.
Developer Error Code | Type | Description |
---|---|---|
ApiNotActivatedMapError
|
Error |
The Maps JavaScript API is not activated on your API project. You may need to enable the Maps JavaScript API under APIs in the Google Cloud console. To activate the Maps JavaScript API for your project, click the button below.
|
ApiTargetBlockedMapError
|
Error |
This API key is not authorized to use this service or API. Please check the API restrictions settings of your API key in the Google Cloud console to ensure that all of the APIs and services you need to use are correctly specified in the list of enabled APIs. See API keys in the Cloud console. For more information, see API security best practices. |
DeletedApiProjectMapError
|
Error |
Your API project may have been deleted from the Cloud console. Please check the project for which you generated the API key that's included in JavaScript API loader. You can create a new API project and get a new key in the Cloud console. To create a new project and get an API key for the project, click the button below.
|
ClientBillingNotEnabledMapError
|
Error |
You have not enabled billing on your project. You must enable Billing on the Google Cloud Project associated to this client ID, here. |
BillingNotEnabledMapError
|
Error |
You have not enabled billing on your project which is causing this error. You must enable Billing on the Google Cloud Project here. |
ExpiredKeyMapError
|
Error |
The API key included in the script element that loads the API has expired or is not recognized by the system. You may receive this error after creating a new API key if you try to use the key before it is recognized by the system. Wait a few minutes and try again, or you may need to generate a new API key in the Cloud console. To get an API key, click the button below.
|
InvalidAppCheckTokenMapError
|
Error |
The provided App Check token is invalid or expired. This error can only occur if App Check verification is in use. See the guide to App Check verification. |
InvalidClientIdMapError
|
Error |
The client ID included in the script element that loads the API is invalid, or expired. Please make sure you are using your client ID correctly. The client ID should start with "gme-" prefix. If you see this error even when using your client ID correctly, the client ID may have expired. Please contact your Google Account Manager.
If you do not have a Premium Plan or
Maps APIs for Work license, you need to use a
See the guide to Premium Plan authentication. |
InvalidKeyMapError
|
Error |
The API key included in the script element that loads the API is not found. Please make sure you are using a correct API key. You can generate a new API key in the Cloud console. To get an API key, click the button below.
|
MalformedCredentialsMapError
|
Error |
Your application uses an unsupported URI scheme. Verify that the application uses a valid URI format as defined in RFC 3986. |
MissingKeyMapError
|
Error |
The script element that loads the API is missing the required authentication parameter. If you are using the standard Maps JavaScript API, then you must use
a If you are a Premium Plan customer, then you must
use either a If you are NOT the website owner, then there are no steps that you can take to fix this error. However, you might want to notify the site owner if possible. |
ProjectDeniedMapError
|
Error |
Your request has not been completed. You may be able to find the more details about the error in the Cloud console. See Cloud console. |
RefererDeniedMapError
|
Error |
Your application was blocked for non-compliance with the Google Maps Platform Terms of Service, following several email notifications. To appeal the block and have your implementation reviewed, please complete this form. You will receive a response via email within a few business days. |
RefererNotAllowedMapError
|
Error |
The current URL loading the Maps JavaScript API has not been added to the list of allowed referrers. Please check the referrer settings of your API key in the Cloud console. See the Maps JavaScript API and Get an API Key. |
OverQuotaMapError
|
Error |
The number of requests has exceeded the usage limits for the Maps JavaScript API. Your app's requests will work again at the next daily quota reset. If you are NOT the website owner, there are no steps you can take to fix this error. However, you may want to notify the site owner if possible. For more details, see the guide to usage limits. The page also explains how you can get higher usage limits. |
ApiProjectMapError
|
Error |
Either the provided API key or the API project with which it is associated, could not be resolved. This error may be temporary. If this error message persists you may need to get a new API key or create a new API project. For more information, see Get Started with Google Maps Platform. |
ClientIdLooksLikeCryptoKey
|
Warning |
You may have supplied a cryptographic key in the See the guide to client IDs for Premium Plan and Maps APIs for Work customers. |
ClientIdLooksLikeKey
|
Warning |
You may have supplied an API key in the See the guide to Premium Plan authentication. |
InvalidChannel
|
Warning |
You may have supplied an invalid |
InvalidClientId
|
Warning |
The See the guide to Premium Plan authentication. |
InvalidKey
|
Warning |
The API key included in the script element that loads the API does not look correct. Please make sure you are using a correct API key. You can generate a new API key in the Cloud console. To get an API key, click the button below.
|
InvalidVersion
|
Warning |
You may have supplied an incorrect version number in your script element. Please make sure you are using a correct version number. |
KeyLooksLikeClientId
|
Warning |
You may have supplied a client ID as a key parameter. If you
have a Premium Plan or
Maps APIs for Work license, please specify your client ID as a
client parameter instead of the key parameter. If you have a
Google Maps Platform Premium Plan, you can use a client parameter
or a key parameter. If you don't have any licenses,
you must use a key parameter, instead of a client
parameter.
See the guide to Premium Plan authentication. |
KeyLooksLikeCryptoKey
|
Warning |
You may have supplied a cryptographic key or signing secret as a See the guide to Specifying a client ID when loading the API. |
KeyLooksLikeProjectNumber
|
Warning |
You may have supplied a project number as a Learn how to get an API key. |
NoApiKeys
|
Warning |
The script element that loads the API has no API key. Please make sure
you include a valid API key as a
To get an API key, click the button below to get started.
If you are loading Maps JavaScript API from the deprecated v2
path, you will get the |
RetiredVersion
|
Warning |
You may have supplied a retired version in your script element. Please update your application to use one of the available versions. |
SensorNotRequired
|
Warning |
The |
SignatureNotRequired
|
Warning |
The |
SignedInNotSupported
|
Warning |
The |
UrlAuthenticationCommonError
|
Error |
An error has occurred that doesn't fit into the other categories on this page. This could be caused by a temporary problem. Please retry the request after a short delay. If that doesn't solve the problem, please review the developer's guide to make sure the request has the proper format. |
Checking Errors in Your Browser
The Maps JavaScript API writes error messages to
window.console
. This section explains how you can check the
window.console
output in Google Chrome. If you are using any other
browsers, please check the developer documentation for your browser. For your
reference, this is a list of tools to check window.console
output
in some other browsers.
- Web Console for Firefox.
- Remote debugging for Android.
- Web Inspector for iOS.
In Chrome, you can use the
JavaScript Console
to check window.console
output as follows.
- To open the Developer Tools, select the menu icon > More Tools > Developer Tools.
- To open the JavaScript Console, press the ESC key on your keyboard. The ESC key will toggle the JavaScript Console. If you close the console, press the ESC key again to open it.
If any errors or warnings occurred when loading the Maps JavaScript API, they appear as one or more lines in the console. An error or warning message has the following format:
Google Maps API error: [ERROR CODE] [Link to API document]
or
Google Maps API warning: [ERROR CODE] [Link to API document]
You can check the error codes table above to find the error code in the error message. You can also find the details about the error message in the API document linked from the message.
Note: You can listen for authentication errors programmatically.
Handling unsupported browsers
Ensure that the version of the browser you are using is currently supported by the Maps JavaScript API.
If you're developing a native Windows application that runs in a WebView, ensure that you are using WebView2 based on Edge. Previous versions of WebView, based on Internet Explorer, are no longer supported.
If your code still isn't working
To help you get your maps code up and running, Brendan Kenny and Mano Marks point out some common mistakes and how to fix them in this video.
- Look for typos. Remember that JavaScript is a case-sensitive language.
- Check the basics - some of the most common problems occur with the
initial map creation. Such as:
- Confirm that you've specified the
zoom
andcenter
properties in your map options. - Ensure that you have declared a div element in which the map will appear on the screen.
- Ensure that the div element for the map has a height. By default, div elements are created with a height of 0, and are therefore invisible.
- Confirm that you've specified the
- Use a JavaScript debugger to help identify problems, like the one available in the Chrome Developer Tools. Start by looking in the JavaScript console for errors.
- Post questions to Stack Overflow. Guidelines on how to post great questions are available on the Support page.