Before you start building apps, you need to decide who will use your app, which ArcGIS resources your app needs, and the type of authentication to use. These decisions will influence your app's security and development workflow.
Use this page to help guide your decisions on choosing an:
Choose a type of authentication
Every ArcGIS Location Platform
API key authentication
API keys
Use API key authentication when your application:
- Accesses ArcGIS 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 Static Maps 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. without user sign-in. - Uses a simple, application-based authentication model.
- Query and edit data in your portal without requiring user sign-in.
- Runs entirely in the client.
User authentication
Use user authentication
- Users must sign in.
- Applications access content on behalf of users.
- User-specific permissions are required.
- Applications access private organizational content.
App authentication
App authentication
Use app authentication when your application:
- Has a server-side component.
- Does not require users to sign in.
- Needs stronger security than a long-lived API key.
- Accesses ArcGIS 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 Static Maps 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. or private items that are not sensitive or confidential.
Decision guidance
Use the table below as a quick guide to choose the appropriate type of authentication based on application requirements.
| Application requirement | Authentication type |
|---|---|
| Public applications accessing permitted location services | API key, or app authentication when a server-side component is used |
| Signed-in users or access to another user's private content | User authentication |
| Access to private items owned by the account that created the credential | API key or app authentication, depending on the application architecture |
| Machine-to-machine workflows without user sign-in | App authentication |
| Enterprise integrations that require user privileges | User authentication |
| Enterprise integrations that run independently of a user | App authentication |
| Access to sensitive or confidential private data | User authentication |
Which SDK should I use?
ArcGIS Location Platform supports a wide range of applications, including web, mobile, desktop, AR/VR/XR, and backend services, through various SDKs and APIs. Use the table below to choose the ArcGIS SDK or API based on your application requirements.
| Application type | SDKs and APIs |
|---|---|
| Browser-based web applications | ArcGIS Maps SDK for JavaScript Open-source mapping libraries: - Leaflet - MapLibre GL JS - OpenLayers - CesiumJS |
| Mobile and desktop applications | ArcGIS Maps SDK for Native Apps: - .NET - Kotlin - Swift - Flutter - QT |
| AR, VR, XR, and simulation experiences | ArcGIS Maps SDK for Unity ArcGIS Maps SDK for Unreal Engine |
| Backend services and integrations | ArcGIS REST API ArcGIS REST JS ArcGIS API for Python ArcGIS Maps SDK for .NET |
FAQ
Is authentication required when consuming ArcGIS location services?
Yes. ArcGIS location service endpoints require a valid access token, such as an API key, app authentication token, or OAuth access token.
How do I choose between API key and OAuth?
Use API keys or app authentication for app-level access patterns. Use OAuth user authentication when your app needs user identity, or user-specific permissions.
Related resources
ArcGIS Maps SDKs
Learn about Esri's SDKs for building high-performance, fully-featured 2D and 3D mapping applications with ArcGIS.
Open-source mapping libraries
Learn about popular open source and third-party libraries for building mapping applications with ArcGIS services.
Developer credentials
Learn how to manage and use developer credentials for accessing ArcGIS services securely.