The ArcGIS REST API
ArcGIS is a platform for geographic analysis and mapping. The ArcGIS platform is available in a wide variety of environments and devices because it exposes much of its functionality through web services. To develop with these web services, you use the ArcGIS REST API.
Using the ArcGIS REST API, you can:
- Consume ready-to-use ArcGIS Online services hosted by Esri
- Consume services published by you or by other organizations
- Publish your own web services
- Create and share items on ArcGIS Online or your own portal
- Configure and automate parts of the ArcGIS system, such as ArcGIS for Server and Portal for ArcGIS
How to use the ArcGIS REST API
You can invoke the ArcGIS REST API through any language that can make HTTP requests. This includes Java, .NET, Python, Scala, and many others.
To successfully develop with the ArcGIS REST API, you’ll need to know:
- Which requests to make
- How to structure the requests correctly
- How to anticipate and use the responses
The pages in this help system will help you understand the above items for each section and resource in the API.
A tour of the API
The ArcGIS REST API contains various sections for working with different parts of the ArcGIS system. This section gives an overview of the different parts of the API.
Ready-to-use ArcGIS Online services
This part of the API allows you to work with ready-to-use web services that Esri produces and hosts on ArcGIS Online. These include geocoding services, network analysis services, basemaps, and other thematic map services that Esri provides for your use. Some of these services may require a subscription to ArcGIS Online and others may be used for free. Each service has a concrete URL that you can immediately begin using.
This part of the API describes the types of geospatial services that are included in the ArcGIS System. It includes map services, feature services, image services, geoprocessing services, geometry services, and so on. These services may be hosted by ArcGIS Online or your own ArcGIS Server.
To actually consume these services, you need to know the URL to the specific services you want to use. You can discover services and their URLs by searching ArcGIS Online or your portal, or by browsing the contents of your own ArcGIS Server
All services of a particular type (for example, all feature services) conform to the same API and have the same REST signature of resources and operations. The ArcGIS web and mobile APIs can consume ArcGIS services using the RESTful patterns described in this part of the API.
The set of resources and operations available with ArcGIS services may vary depending on the software used to initialize the publishing. These variances are documented in the help.
Some of the RESTful communication patterns used by ArcGIS services were available as early as ArcGIS 9.3. In 2010, Esri published an open document describing the general behavior of these services and called it the GeoServices REST Specification. The document invites third-party GIS developers to support and adopt these RESTful patterns and data types in their own web services.
A GIS portal is a website, repository, and community you can use to share maps and other GIS content throughout your organization. Each subscription to ArcGIS Online includes its own portal, or you may have a portal from your implementation of Portal for ArcGIS.
The ArcGIS REST API contains a hierarchy of resources and operations for working with GIS portals. For example, you can use the API to upload items, share items, and manage users and groups.
The ArcGIS REST API allows you to automate administration of ArcGIS for Server. Anything you can do in ArcGIS Server Manager is available through scripting using the ArcGIS REST API. The ArcGIS Server Administrator Directory, available with your ArcGIS Server site, is an interactive utility that helps you use this part of the API.
Some data types are used throughout the API for referencing common GIS entities such as geometries, symbols, and web maps. These data types are documented in their own portion of the API reference.