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 application requires an authentication strategy. The correct approach depends on who uses your application and what resources it needs to access.

API key authentication

API keys authenticate the application access to ArcGIS services, not the user. Use API keys when users do not need to sign in and all users can access the same ArcGIS Location Services.

Use API key authentication when your application:

  • Accesses ArcGIS Location 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 when the application needs to sign users in or act on their behalf. This is usually the right choice when:

  • 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 uses OAuth 2.0 client credentials to obtain a short-lived access token for an application. A server-side component uses a client ID and client secret to request the token, then uses it to access resources with the privileges of the account that owns the OAuth credentials.

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 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 requirementAuthentication type
Public applications accessing permitted location servicesAPI key, or app authentication when a server-side component is used
Signed-in users or access to another user's private contentUser authentication
Access to private items owned by the account that created the credentialAPI key or app authentication, depending on the application architecture
Machine-to-machine workflows without user sign-inApp authentication
Enterprise integrations that require user privilegesUser authentication
Enterprise integrations that run independently of a userApp authentication
Access to sensitive or confidential private dataUser 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 typeSDKs and APIs
Browser-based web applicationsArcGIS Maps SDK for JavaScript
Open-source mapping libraries:
- Leaflet
- MapLibre GL JS
- OpenLayers
- CesiumJS
Mobile and desktop applicationsArcGIS Maps SDK for Native Apps:
- .NET
- Kotlin
- Swift
- Flutter
- QT
AR, VR, XR, and simulation experiencesArcGIS Maps SDK for Unity
ArcGIS Maps SDK for Unreal Engine
Backend services and integrationsArcGIS 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.