Introduction to data services

data-services

What are data services?

Data services, also referred to as hosted data services, are services you can create in ArcGIS to securely store, manage, and access your geographic data for your applications. Data services are different from ready-to-use services because you create and publish them dynamically with data management tools or scripting APIs.

When you use ArcGIS to host your data as services, each service is assigned a unique URL by the system, and each service supports a well-defined ArcGIS REST API endpoint. As a developer, you can access the service's REST API and build applications by using ArcGIS Maps SDKs, open source libraries, and scripting languages.

The main types of data services covered in this section are feature services, vector tile services, map tile services, and image services. These are all supported by ArcGIS Location Platform, ArcGIS Online, and ArcGIS Enterprise.

Why use data services?

Data services allow you to store, manage, and access all of the geographic data you need for applications in one location - ArcGIS. You can publish your data as different types of services such as feature services, vector tile services, map tile services, and image services. The services have well-defined REST APIs that you can access with many different types of ArcGIS Maps SDKs, open source libraries, and applications. ArcGIS Maps SDKs and ArcGIS applications are designed to work optimally to provide high-performance geographic data access. All data storage and usage can be easily managed and monitored with different data management tools.

Below is a list of the key features that data services offer:

ArcGIS storage

  • Store large spatial and non-spatial datasets using ArcGIS Location Platform, ArcGIS Online, or ArcGIS Enterprise
  • Secure data with ArcGIS security and authentication
  • Leverage spatial indexes and caching
  • Scale storage services if required
  • [Premium and local storage options](xref:///portal-and-data-services-faq#how-can-i-increase-the-capacity-and-optimize performance-of-my-feature-data-store) are also available to achieve maximum performance

Data management tools

  • Use web browser and desktop data management tools to manage data in a portal
  • Import your data and create services dynamically
  • Create new types of data services from existing services
  • Update or replace your data
  • Set sharing and security properties
  • Control service capabilities available to clients
  • Create and update spatial indexes
  • Create and update tile caches
  • Monitor all service usage
  • Use ArcGIS API for Python or ArcGIS REST JS to automate management tasks

Data services

  • Store your data securely as a feature service, vector tile service, map tile service, or image service.
  • All services provide well-defined ArcGIS REST APIs
  • Use built-in security, authentication, and sharing
  • Optimize access with caching and indexing
  • Perform SQL and spatial queries
  • Edit, update, and append feature data dynamically
  • Create and manage versions of data
  • Support advanced data visualization
  • Calculate statistics
  • Export data
  • Provide offline data support

API access

  • Build applications with ArcGIS Maps SDKs (optimized to interact with data services)
  • Access with open source libraries such as Esri Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS
  • Use scripting languages such as ArcGIS API for Python and ArcGIS REST JS
  • Interact with services through well-defined ArcGIS REST APIs

What kind of data can you host?

You can import and host many different types of geographic data as data services. The main requirement is that the incoming data has geometry coordinates and/or attributes (fields). The main storage formats are features, vector tiles, and map tiles.

Some examples of data you can host include the following:

  • Points of interest, addresses, and attributes
  • Trails, contours, lakes, and natural features
  • Stores and business locations and attributes
  • City, county, state, and country boundaries
  • Land parcels and agriculture information
  • Transportation and road networks
  • Telecommunication infrastructure
  • Gas, electric, water, and other utilities
  • Health data
  • Energy utilities

How to get started

The steps to create data services for your applications include the following:

  1. Create services with data management tools
  2. Manage and configure services
  3. Access services with an API

Tutorials

Tools

Import data to create a feature layer

Use data management tools to import files and create a feature layer in a feature service.


Define a new feature layer

Use data management tools to define and create a new empty feature layer in a feature service.


Manage a feature layer

Use a hosted feature layer item to set the properties and settings of a feature layer in a feature service.


Create a vector tile service

Use data management tools to create a new vector tile service from a feature service.


Create a map tile service

Use ArcGIS Online or scripting APIs to publish a map tile service.


APIs

Add a vector tile layer

Access and display a vector tile layer in a map.


Add a map tile layer

Access and display a map tile layer in a map.


Query a feature layer (spatial)

Execute a spatial query to get features from a feature layer.


Edit feature data

Add, update, and delete features in a feature service.


Display a popup

Format a popup to show attributes in a feature layer.


Workflows

Services

API support

Use data management tools or Client APIs to create, manage, and access data services. The table below outlines the level of support for each API.

CreateManageAccess
ArcGIS Maps SDK for JavaScript1
ArcGIS Maps SDK for Kotlin1
ArcGIS Maps SDK for Swift1
ArcGIS Maps SDK for Flutter1
ArcGIS Maps SDK for Java1
ArcGIS Maps SDK for .NET1
ArcGIS Maps SDK for Qt1
ArcGIS API for Python
ArcGIS REST JS
Esri Leaflet2
MapLibre GL JS23
OpenLayers23
Full supportPartial supportNo support
  • 1. Use portal class and direct REST API requests
  • 2. Access via ArcGIS REST JS
  • 3. Requires manually setting styles for renderers

Tools

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.