General
This guide is for ArcGIS Location Platform
The table below shows the account types you can use and limitations:
| ArcGIS Location Platform account | ArcGIS Online account | ArcGIS Enterprise account | |
|---|---|---|---|
| ArcGIS Location Services | 1 | ||
| Data services (Item access) | 2 | ||
| Spatial analysis services | |||
| Portal | 3 | ||
| Portal service | 3 |
- 1. Places service not supported.
- 2. Only supports creating and accessing feature services, vector tile services, and map tile services.
- 3. Single-user organization. Limited user, group, and administration functionality available.
The following resources are secure and require authentication to access:
-
Portal: A portal is secure and requires users and applications to sign in. All content items
An item, also known as a content item, is a resource stored in a portal such as a web map, hosted layer, style, script tool, file, or notebook. in a portalArcGIS portal, also known as a portal, is a website with applications and tools that can be used to create, manage, access, and share geospatial content and data. It supports security and authentication, developer credentials, content and data service management, user and group management, and site administration. A portal can be hosted in Esri's infrastructure or your own infrastructure. are secure and may require authentication depending on their sharing levelSharing level is the security setting assigned to an item in a portal that controls which users can access the resource. The sharing levels are Owner, Organization, Groups, and Everyone. . -
ArcGIS services: All ArcGIS services hosted in Esri's infrastructure are secure, including location services
ArcGIS Location Services, also referred to as Location Services, are services hosted by Esri that provide geospatial functionality for developing mapping applications. They include the ArcGIS Basemap Styles service, ArcGIS Static Basemap Tiles service, ArcGIS Places service, ArcGIS Geocoding service, ArcGIS Routing service, ArcGIS GeoEnrichment service, and ArcGIS Elevation service. An ArcGIS Location Platform or ArcGIS Online account is required to use the services. , spatial analysis servicesSpatial analysis services are services that perform geometry and statistical analyses on feature and raster data. , data servicesData services, also known as hosted data services, are services created dynamically to store and provide access to your data in ArcGIS. Examples are feature services, vector tile services, map tile services, image services, and scene services. , and the portal serviceA portal service provides the functionality to securely create, access, and manage content, data services, users, and groups in a portal. The service can be hosted by Esri or in ArcGIS Enterprise. . -
ArcGIS Enterprise services: All ArcGIS Enterprise services hosted in your own infrastructure are secure.
-
Low/No-code applications: Applications built using low/no-code builders are hosted in a portal
ArcGIS portal, also known as a portal, is a website with applications and tools that can be used to create, manage, access, and share geospatial content and data. It supports security and authentication, developer credentials, content and data service management, user and group management, and site administration. A portal can be hosted in Esri's infrastructure or your own infrastructure. and secure and may require authentication depending on their sharing levelSharing level is the security setting assigned to an item in a portal that controls which users can access the resource. The sharing levels are Owner, Organization, Groups, and Everyone. . -
ArcGIS tools: All ArcGIS tools
Tools, also known as developer tools, are ArcGIS software applications such as portal and ArcGIS Pro that developers can use to prepare content and data for custom applications they are building. are secure, such as ArcGIS ProArcGIS Pro is a professional desktop GIS application that can explore, visualize, analyze, and manage 2D and 3D data. , Map ViewerMap Viewer is a browser-based mapping tool that can view, create, and save web maps. It can also perform mapping, visualization, and spatial analysis operations. , Scene ViewerScene Viewer(™) is a browser-based mapping tool that can view, create, and save web scenes. . -
Subscriber and premium content: Subscriber content is a type of secure item
An item, also known as a content item, is a resource stored in a portal such as a web map, hosted layer, style, script tool, file, or notebook. hosted in ArcGIS Living Atlas that requires an ArcGIS OnlineArcGIS Online is a GIS mapping, analytics, data hosting, and content management software as a service (SaaS) product. It includes applications, tools, APIs, and location services for users and developers. It is subscription-based and requires an ArcGIS Online account. account. Premium content is a subtype of subscriber content that consumes credits.
The following table provides an overview of the functionality available with each type of authentication:
| API key authentication | User authentication | App authentication | |
|---|---|---|---|
| ArcGIS Location Services | 1 | 1 | 1 |
| Data services (Item access) | 2 | ||
| Spatial analysis services | 1 | 1 | |
| Portal service (General privileges) | |||
| Portal service (Admin privileges) |
- 1. Supported with ArcGIS Online and ArcGIS Location Platform.
- 2. Supported, but not recommended due to security risks.
The privileges required for an access token
The cost to access ArcGIS services depends on the type of ArcGIS account you have and the services you use.
-
If you have an ArcGIS Location Platform account
An ArcGIS Location Platform account, formerly known as an ArcGIS Developer account, is an identity associated with an ArcGIS Location Platform subscription. , you are billed in US dollars. To determine the cost of accessing services, go to Pricing. A free tier is available for some services. -
If you have an ArcGIS Online account
An ArcGIS Online account, also known as an ArcGIS Organization account, is an identity associated with an ArcGIS Online subscription. It can be used to access ArcGIS tools and develop applications with ArcGIS location services for an organization. , you are billed in creditsCredits are the currency used by ArcGIS Online Organization accounts to account for data storage and location service consumption. Credits are consumed for specific transactions, such as accessing location services, and types of storage, such as storing features, performing analytics, and using premium content. . To determine the cost of accessing services, go to Understanding credits.
Esri's Terms of Use documents include legal guidelines for the use of Esri products, services, and data.
Some of the key documents you will find are the:
A 401 Unauthorized or 403 Forbidden from an secure resource
- The access token is set improperly. Confirm the request includes the
tokenparameter (orAuthorizationheader) and that the value is a valid access token. See HTTP header authorization.: Bearer ... - The access token has been revoked. Make a
/selfrequest using the access token to confirm whether the token is valid. See Access tokens > View token properties. - The access token does not have the correct privileges. Review the privileges of the access token to confirm it can access the service. In addition, the ArcGIS account used to generate the access token must also have the correct privileges. See Privileges.
- The origin of the request is not on the allowed referrers list. If you have set referrer restrictions, requests from any other origin will be rejected. See Developer credentials > Referrers.
If none of these apply, check the response body for an error.message — the service may return a specific reason for the error.
Developer credentials
If you do not see an option for API key credentials
- General privileges > Content > Generate API keys
- General privileges > Content > Assign privileges to OAuth 2.0 applications
To get these privileges, ask your organization
If you do not see the Privileges or Item access windows when creating developer credentials
- General privileges > Content > Assign privileges to OAuth 2.0 applications
To get this privilege and related developer privileges, ask your organization
If a privilege is not available to your developer credentials, it may not be visible for the following reasons:
- Your account does not have the correct user type or roles.
- You have the wrong type of ArcGIS account
An ArcGIS account is an identity with a user type and set of privileges that can access specific ArcGIS products, tools, APIs, services, and resources. The main account types that can be used for development are an ArcGIS Location Platform account, ArcGIS Online account, and ArcGIS Enterprise account. ArcGIS Location Platform and ArcGIS Online accounts are also associated with a subscription. . The privileges available to you differ depending on if you use ArcGIS Location PlatformArcGIS Location Platform, formerly known as ArcGIS Platform, is a Platform as a Service (PaaS) product that gives developers access to location services, APIs, and tools to build mapping and spatial analysis applications. It is subscription-based and requires an ArcGIS Location Platform account. , ArcGIS OnlineArcGIS Online is a GIS mapping, analytics, data hosting, and content management software as a service (SaaS) product. It includes applications, tools, APIs, and location services for users and developers. It is subscription-based and requires an ArcGIS Online account. , or ArcGIS EnterpriseArcGIS Enterprise is a GIS mapping, analytics, data hosting, and content management product that can be hosted on-premise or in a cloud infrastructure. It includes software, applications, tools, APIs, and services for users and developers. - You do not have pay-as-you-go enabled in your ArcGIS Location Platform
ArcGIS Location Platform, formerly known as ArcGIS Platform, is a Platform as a Service (PaaS) product that gives developers access to location services, APIs, and tools to build mapping and spatial analysis applications. It is subscription-based and requires an ArcGIS Location Platform account. account. - You are using a type of authentication that does not support the privileges you require. To learn more, go to Types of authentication.
Developer credentials allow you to track the service usage of your access tokens. You can monitor the usage of your credentials in order to view the token's resource consumption billing amount for a given period of time.
- ArcGIS Location Platform developers use the Location Platform Dashboard
The Location Platform Dashboard is a dashboard in the ArcGIS Location Platform website used to manage billing, view developer credentials, and monitor layers and data service usage. It can only be accessed with an ArcGIS Location Platform account. to monitor service usage. - ArcGIS Online and Enterprise developers can go to the item page
An item page is a web page in ArcGIS Online or the developer dashboard used to access and manage the properties for an item and the content it references such as a web map, hosted layer, or file. of their developer credentials item to monitor service usage. They can also generate usage reports.
We recommend creating separate developer credentials
- Restrict referrers per environment — production credentials only allow your production origin, staging credentials only allow your staging origin, and so on.
- Scope privileges for each credential to only the services and items that environment needs.
- Track usage independently so you can see real production traffic separately from test runs. See Usage tracking.
- Rotate and revoke non-production credentials without affecting the production environment, and vice versa.
By setting the Allowed Referrers of developer credentials, you can limit their use to only authorize requests coming from specific origins. Review the referrers set on your developer credentials by going to their item page
- Referrer URLs and IP address can be fully qualified URLs (
https), wildcards URLs to include all subdomains (://www.example.com https), or an IP address (://*.example.com https).://10.4.3.4 - You may specify port number
https.://server.example.com :8840 - Wildcards are supported only on the sub-domain part of the referrer.
httpswill match://*.example.com httpsand://www.example.com https.://anything.example.com httpswill match://www*.exam*.com https.://www2.example-service.com - Wildcard domains are supported on HTTPS only.
- Path matching: you can set
httpsas a valid referrer and match://www.example.com/start/path httpsand://www.example.com/start/path/ https, but not://www.example.com/start/path/subfolder/ https.://www.example.com/start/path2
API key authentication
API key credentials are available for the following account types:
- ArcGIS Location Platform accounts
An ArcGIS Location Platform account, formerly known as an ArcGIS Developer account, is an identity associated with an ArcGIS Location Platform subscription. - ArcGIS Online accounts
An ArcGIS Online account, also known as an ArcGIS Organization account, is an identity associated with an ArcGIS Online subscription. It can be used to access ArcGIS tools and develop applications with ArcGIS location services for an organization. :- Requires a user type of "Creator" or higher.
- You need to be an administrator of your organization
An organization a list of members from the same business, association, or entity who can sign in, access tools and applications, and collaborate with other members in a portal. All members have an ArcGIS account and are approved by an administrator to access the same portal. or have a custom role with the following privilegesPrivileges are a set of permissions assigned to ArcGIS accounts, developer credentials, and applications that grant access to secure resources and functionality in ArcGIS. : General privileges > Content > Generate API keys, General privileges > Content > Assign privileges to OAuth 2.0 applications.
- ArcGIS Enterprise accounts
An ArcGIS Enterprise account is an identity for an instance of ArcGIS Enterprise. It can be used to access ArcGIS Enterprise tools, applications, and services, and to develop applications. :- Requires ArcGIS Enterprise version 11.4 or greater.
- Requires a user type of "Creator" or higher.
- You need to be an administrator of your organization
An organization a list of members from the same business, association, or entity who can sign in, access tools and applications, and collaborate with other members in a portal. All members have an ArcGIS account and are approved by an administrator to access the same portal. or have a custom role with the following privilegesPrivileges are a set of permissions assigned to ArcGIS accounts, developer credentials, and applications that grant access to secure resources and functionality in ArcGIS. : General privileges > Content > Generate API keys, General privileges > Content > Assign privileges to OAuth 2.0 applications.
Support for API key authentication
API keys (legacy)
Service usage with API key authentication
Yes, API keys
For details on revoking or replacing a key, go to API key credentials.
If you discover that an API key
- Revoke the key. Go to Developer credentials, select the affected API key, and use Manage developer credentials to revoke it. Revocation takes effect immediately.
- Create a replacement key and deploy it to your application. Assign privileges
Privileges are a set of permissions assigned to ArcGIS accounts, developer credentials, and applications that grant access to secure resources and functionality in ArcGIS. to only the services and items the application requires. - Restrict referrers on the new key so it only works from your application's origins. See API key credentials > Referrers.
- Review usage for the exposed key on the View usage tab to check whether it was used from unexpected origins or hit unusual service volumes before you revoked it.
- Mitigate the exposure. Perform the necessary steps to ensure the new key is not exposed before updating your application.
Removing the key from the commit history of a public repository does not undo exposure — assume any value that was ever public has been scraped.
API key authentication is recommended for personal applications
Each API key credential
During development, API keys should never be uploaded to remote code repositories such as GitHub. They are typically stored locally, and the exact method of importing them into an application depends on the programming language you are using.
Production applications may be deployed using API keys as long as the privileges
-
API keys used in public applications
A public application is an application that allows anonymous access without requiring users to sign in with an ArcGIS account. It supports API key or app authentication. can easily be scraped by others. They should only be used to access ArcGIS Location ServicesArcGIS Location Services, also referred to as Location Services, are services hosted by Esri that provide geospatial functionality for developing mapping applications. They include the ArcGIS Basemap Styles service, ArcGIS Static Basemap Tiles service, ArcGIS Places service, ArcGIS Geocoding service, ArcGIS Routing service, ArcGIS GeoEnrichment service, and ArcGIS Elevation service. An ArcGIS Location Platform or ArcGIS Online account is required to use the services. , and must never be granted access to any sensitive or confidential data. -
API keys deployed in private
A private application is an application that requires users to sign in with an ArcGIS account. It supports user authentication. and personal applicationsA personal application is an application used exclusively by its owner and not shared with others. It supports API key, user authentication, or app authentication. can be granted broader access to services and hosted items.
In general, the following practices are always recommended:
- Limit the key's privileges to only the services and items
An item, also known as a content item, is a resource stored in a portal such as a web map, hosted layer, style, script tool, file, or notebook. it needs to access. - Set referrers so the key only works when called from your application's origins.
For workloads where exposing a key is not acceptable — for example, requests that act on sensitive user data containing PII, — credentials should only be stored on a backend service using proxied requests. Alternatively, use OAuth 2.0 user authentication instead.
How you split API keys
- Local development: Issue a separate API key for every developer. If a key is leaked (committed to a fork, shared in a screenshot), you can revoke it without disrupting anyone else's workflow. Additionally, usage and billing of each development version can be monitored separately.
- Deployed applications: One key per application per deployed environment. An API key represents the application, not the developer.
Prior to June 2024, API key authentication used API keys (legacy)
All new API keys must be created using API key credentials
To learn about more best practices for API key authentication
User authentication
User authentication requires OAuth credentialsclient_id, client_secret, and redirect URIs. They are a type of developer credential.
- ArcGIS Location Platform accounts
An ArcGIS Location Platform account, formerly known as an ArcGIS Developer account, is an identity associated with an ArcGIS Location Platform subscription. - ArcGIS Online accounts
An ArcGIS Online account, also known as an ArcGIS Organization account, is an identity associated with an ArcGIS Online subscription. It can be used to access ArcGIS tools and develop applications with ArcGIS location services for an organization. :- Requires a user type of "Creator" or higher.
- ArcGIS Enterprise accounts
An ArcGIS Enterprise account is an identity for an instance of ArcGIS Enterprise. It can be used to access ArcGIS Enterprise tools, applications, and services, and to develop applications. :- Requires a user type of "Creator" or higher.
Service usage with user authenticationclient_id, client_secret, and redirect URIs. They are a type of developer credential.
Anyone with an ArcGIS account
- ArcGIS Online users
An ArcGIS Online account, also known as an ArcGIS Organization account, is an identity associated with an ArcGIS Online subscription. It can be used to access ArcGIS tools and develop applications with ArcGIS location services for an organization. that are a member of an ArcGIS Online organizationAn organization a list of members from the same business, association, or entity who can sign in, access tools and applications, and collaborate with other members in a portal. All members have an ArcGIS account and are approved by an administrator to access the same portal. . - ArcGIS Enterprise users
An ArcGIS Enterprise account is an identity for an instance of ArcGIS Enterprise. It can be used to access ArcGIS Enterprise tools, applications, and services, and to develop applications. that are a member of an ArcGIS Enterprise organizationAn organization a list of members from the same business, association, or entity who can sign in, access tools and applications, and collaborate with other members in a portal. All members have an ArcGIS account and are approved by an administrator to access the same portal. .
User authentication is used to build sign-in-enabled private applications
To learn about the best practices for user authentication
App authentication
App authentication requires OAuth credentialsclient_id, client_secret, and redirect URIs. They are a type of developer credential.
- ArcGIS Location Platform accounts
An ArcGIS Location Platform account, formerly known as an ArcGIS Developer account, is an identity associated with an ArcGIS Location Platform subscription. - ArcGIS Online accounts
An ArcGIS Online account, also known as an ArcGIS Organization account, is an identity associated with an ArcGIS Online subscription. It can be used to access ArcGIS tools and develop applications with ArcGIS location services for an organization. :- Requires a user type of "Creator" or higher.
- You need to be an administrator of your organization
An organization a list of members from the same business, association, or entity who can sign in, access tools and applications, and collaborate with other members in a portal. All members have an ArcGIS account and are approved by an administrator to access the same portal. or a have custom role with the following privilegePrivileges are a set of permissions assigned to ArcGIS accounts, developer credentials, and applications that grant access to secure resources and functionality in ArcGIS. : General privileges > Content > Assign privileges to OAuth 2.0 applications.
- ArcGIS Enterprise accounts
An ArcGIS Enterprise account is an identity for an instance of ArcGIS Enterprise. It can be used to access ArcGIS Enterprise tools, applications, and services, and to develop applications. :- Requires ArcGIS Enterprise 11.4 or greater for full functionality.
- Requires a user type of "Creator" or higher.
- You need to be an administrator of your organization
An organization a list of members from the same business, association, or entity who can sign in, access tools and applications, and collaborate with other members in a portal. All members have an ArcGIS account and are approved by an administrator to access the same portal. or a have custom role with the following privilegePrivileges are a set of permissions assigned to ArcGIS accounts, developer credentials, and applications that grant access to secure resources and functionality in ArcGIS. : General privileges > Content > Assign privileges to OAuth 2.0 applications.
Service usage with app authenticationclient_id, client_secret, and redirect URIs. They are a type of developer credential.
App authentication is recommended for public applications
To learn about the best practices for app authentication