Operation failed due to exceeding the usage rate limit for the API key.
This status code shouldn’t be returned during normal usage of the API. It relates to usage of
the API that far exceeds normal request levels. See the usage limits guide for more
information.
Operation failed due to exceeding the per-device usage rate limit.
This status code shouldn’t be returned during normal usage of the API. It relates to usage of
the API that far exceeds normal request levels. See the usage limits guide for more
information.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-27 UTC."],[[["\u003cp\u003e\u003ccode\u003eGMSPlacesErrorCode\u003c/code\u003e is an enum representing error codes for the Google Maps Places API for iOS.\u003c/p\u003e\n"],["\u003cp\u003eThese error codes indicate issues such as network problems, server errors, invalid API keys, usage limits, and more.\u003c/p\u003e\n"],["\u003cp\u003eEach error code has a corresponding constant value in both Swift and Objective-C.\u003c/p\u003e\n"],["\u003cp\u003eDetailed information on resolving specific errors, including links to relevant documentation, is provided with each error code.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers should refer to the documentation and error messages for troubleshooting and solutions.\u003c/p\u003e\n"]]],[],null,["# GooglePlaces Framework Reference\n\nGMSPlacesErrorCode\n==================\n\n enum GMSPlacesErrorCode : NSInteger {}\n\nError codes for [kGMSPlacesErrorDomain](../Constants/kGMSPlacesErrorDomain.html).\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesNetworkError](#/c:@E@GMSPlacesErrorCode@kGMSPlacesNetworkError)\n\n `\n ` \n Something went wrong with the connection to the Places API server. \n\n #### Declaration\n\n Swift \n\n case networkError = -1\n\n Objective-C \n\n kGMSPlacesNetworkError = -1\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesServerError](#/c:@E@GMSPlacesErrorCode@kGMSPlacesServerError)\n\n `\n ` \n The Places API server returned a response that we couldn't understand.\n\n\n If you believe this error represents a bug, please file a report using the instructions on our\n [community and support page](https://developers.google.com/places/ios-sdk/support). \n\n #### Declaration\n\n Swift \n\n case serverError = -2\n\n Objective-C \n\n kGMSPlacesServerError = -2\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesInternalError](#/c:@E@GMSPlacesErrorCode@kGMSPlacesInternalError)\n\n `\n ` \n An internal error occurred in the Places SDK library.\n\n\n If you believe this error represents a bug, please file a report using the instructions on our\n [community and support page](https://developers.google.com/places/ios-sdk/support). \n\n #### Declaration\n\n Swift \n\n case internalError = -3\n\n Objective-C \n\n kGMSPlacesInternalError = -3\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesKeyInvalid](#/c:@E@GMSPlacesErrorCode@kGMSPlacesKeyInvalid)\n\n `\n ` \n Operation failed due to an invalid (malformed or missing) API key.\n\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n for information on creating and using an API key. \n\n #### Declaration\n\n Swift \n\n case keyInvalid = -4\n\n Objective-C \n\n kGMSPlacesKeyInvalid = -4\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesKeyExpired](#/c:@E@GMSPlacesErrorCode@kGMSPlacesKeyExpired)\n\n `\n ` \n Operation failed due to an expired API key.\n\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n for information on creating and using an API key. \n\n #### Declaration\n\n Swift \n\n case keyExpired = -5\n\n Objective-C \n\n kGMSPlacesKeyExpired = -5\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesUsageLimitExceeded](#/c:@E@GMSPlacesErrorCode@kGMSPlacesUsageLimitExceeded)\n\n `\n ` \n Operation failed due to exceeding the quota usage limit.\n\n\n See the [usage limits guide](https://developers.google.com/places/ios-sdk/usage)\n for information on usage limits and how to request a higher limit. \n\n #### Declaration\n\n Swift \n\n case usageLimitExceeded = -6\n\n Objective-C \n\n kGMSPlacesUsageLimitExceeded = -6\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesRateLimitExceeded](#/c:@E@GMSPlacesErrorCode@kGMSPlacesRateLimitExceeded)\n\n `\n ` \n Operation failed due to exceeding the usage rate limit for the API key.\n\n\n This status code shouldn't be returned during normal usage of the API. It relates to usage of\n the API that far exceeds normal request levels. See the [usage limits guide](https://developers.google.com/places/ios-sdk/usage) for more\n information. \n\n #### Declaration\n\n Swift \n\n case rateLimitExceeded = -7\n\n Objective-C \n\n kGMSPlacesRateLimitExceeded = -7\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesDeviceRateLimitExceeded](#/c:@E@GMSPlacesErrorCode@kGMSPlacesDeviceRateLimitExceeded)\n\n `\n ` \n Operation failed due to exceeding the per-device usage rate limit.\n\n\n This status code shouldn't be returned during normal usage of the API. It relates to usage of\n the API that far exceeds normal request levels. See the [usage limits guide](https://developers.google.com/places/ios-sdk/usage) for more\n information. \n\n #### Declaration\n\n Swift \n\n case deviceRateLimitExceeded = -8\n\n Objective-C \n\n kGMSPlacesDeviceRateLimitExceeded = -8\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesAccessNotConfigured](#/c:@E@GMSPlacesErrorCode@kGMSPlacesAccessNotConfigured)\n\n `\n ` \n The Places API service for iOS is not enabled.\n\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n to learn how to set up the Places SDK for iOS or the\n [migration guide](https://developers.google.com/places/ios-sdk/client-migration)\n if you are migrating from an earlier version. \n\n #### Declaration\n\n Swift \n\n case accessNotConfigured = -9\n\n Objective-C \n\n kGMSPlacesAccessNotConfigured = -9\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesIncorrectBundleIdentifier](#/c:@E@GMSPlacesErrorCode@kGMSPlacesIncorrectBundleIdentifier)\n\n `\n ` \n The application's bundle identifier does not match one of the allowed iOS applications for the\n API key.\n\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n for how to configure bundle restrictions on API keys. \n\n #### Declaration\n\n Swift \n\n case incorrectBundleIdentifier = -10\n\n Objective-C \n\n kGMSPlacesIncorrectBundleIdentifier = -10\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesLocationError](#/c:@E@GMSPlacesErrorCode@kGMSPlacesLocationError)\n\n `\n ` \n The Places SDK could not find the user's location. This may be because the user has not allowed\n the application to access location information. \n\n #### Declaration\n\n Swift \n\n case locationError = -11\n\n Objective-C \n\n kGMSPlacesLocationError = -11\n\n- `\n ``\n ``\n `\n\n ### [kGMSPlacesInvalidRequest](#/c:@E@GMSPlacesErrorCode@kGMSPlacesInvalidRequest)\n\n `\n ` \n The Places SDK could not process the invalid request.\n\n\n If you believe this error represents a bug, please file a report using the instructions on our\n [community and support page](https://developers.google.com/places/ios-sdk/support). \n\n #### Declaration\n\n Swift \n\n case invalidRequest = -12\n\n Objective-C \n\n kGMSPlacesInvalidRequest = -12"]]