ArcGIS Blog

Developers

Developers

ArcGIS Hosted Data Services: Management Tools Differences

By Raúl Jiménez Ortega

Last updated: Oct 21, 2025

ℹ️ This blog series focuses on hosted data services in ArcGIS Online and ArcGIS Location Platform (more about the scope).

Have you ever struggled to manage your hosted data services?:

  • Wasting time on manual steps that should be automated.
  • Struggling to integrate your system with these services.
  • Unsure what tools or workflows are available to get the job done.
  • Confused about the trade-offs between different workflows and tools.
  • Spending hours hunting for the right docs or examples.

This article tackles those challenges by comparing tools and workflows and includes the resources you need to manage ArcGIS hosted data services in practice.

Notes on accuracy: Surviving the test of time …

As introduced in the first article of this series, this series is a unified resource to save you time and clarify differences between similar technologies, based on information from official sources.

Technology evolves rapidly, so some details may become outdated. Each article includes references to official documentation, which contains the most up-to-date information. In case of discrepancies, the official documentation takes precedence.

If you find something unclear or notice an error, contact us at developers@esri.com

About the hosted data services covered …

This series covers:

  • Hosted feature services
  • Hosted vector tile services
  • Hosted map tile services

There are other popular and useful data services within the ArcGIS system optimized for other purposes, such as hosted image serviceshosted scene services, etc. Still, we won’t cover them as explained in the first article since they are not available for ArcGIS Location Platform users.

 

Quick overview

This guide is for you if you’re responsible for creating and maintaining hosted data services, whether you’re a backend developer, data engineer, solution architect, DevOps specialist, or in a similar role.

[TL;DR] Short on time? This table gives you the key highlights at a glance:

By the end, you’ll know which technologies fit each task, the trade-offs, how to automate, and how to choose the right approach.

Table of contents

Note: Technical details and references are in collapsible sections.
Note: Some links go to ArcGIS Online docs; the steps also apply to ArcGIS Location Platform..

Tile package creation tools (TPK, TPKX & VTPK)

Creating services from tile packages is not very common but has its own advantages and trade-offs.

More about the advantages and trade-offs of creating services from tile packages

Publishing from a tile package avoids tile generation charges (since tiles are pre-generated) and ensures predictable storage, as the service always uses a fixed amount of space with no extra feature storage costs.

There are, however, some trade-offs:

  • Changing the source data requires regenerating and republishing the entire package.

  • Tiles can’t be created on demand, so the cache may include unused areas and waste storage.

  • You need a separate workflow to build and upload new tile packages for updates.

By contrast, publishing a tile service from a feature service optimizes tile storage (tiles are generated only when requested) and allows selective updates (refresh only changed regions instead of the entire dataset).

Tools Method TPK TPKX VTPK
ArcGIS Pro Manually Docs Docs Docs
Using ArcPy Programmatically X X X
Through a hosted feature service Both X X X
Using raster-tiles-compactcache Programmatically Repo

If you choose this approach, here are additional instructions:

Instructions using ArcPy

ArcPy is a library available on any machine with ArcGIS Pro or ArcGIS Enterprise. In ArcGIS Online, it’s available through the advanced runtime in ArcGIS Notebooks.

Use these tools to create tile packages:

  • arcpy.management.CreateMapTilePackage for map tile packages (TPK or TPKX).
  • arcpy.management.CreateVectorTilePackage for vector tile packages (VTPK).

Tip: For details on map tile packages, see the official Esri Tile Package Specification.

Instructions through a hosted feature service

If other methods don’t work for you, you can still publish a hosted feature service as an intermediate step to export the tile package

  • 1. Create a hosted feature service.
  • 2. Publish it as a map tile or vector tile service.
  • 3. Enable the service for offline use.
  • 4. Use the exportTiles REST API from the map tile service or vector tile service.

Note: This approach incurs tile generation and storage costs as explained here.

Frequently asked questions about tile package creation

Can open-source tools like GDAL and Mapnik create TPK files for ArcGIS?
Technically yes (data can be preprocessed with GDAL, tiles rendered with Mapnik, and packaged as a TPK), but it’s not recommended, given that more reliable workflows are available.

Can I create ArcGIS vector tile packages (.vtpk) from mbtiles?
Yes, with the Data Interoperability extension. You can transform .mbtiles from tools like Tippecanoe, OpenMapTiles, Tegola, Tilemaker, Martin, Mapbox Tiling Service, QGIS, or Planetiler into .vtpk files, although this requires extra setup and licensing. The list of tools isn’t exhaustive.

Where can I learn more about tile caching?
Besides the ArcGIS Pro Tile Cache documentation and Esri’s videos on the topic, a highly recommended resource is the CartoRedux Caching Master Class

Service creation approaches and tools

Hosted data services can be created using different approaches, from manual file imports to scripted integrations. Each approach has trade-offs in simplicity, control, flexibility, and cost, so understanding them helps you choose the right workflow and tool.

Workflow Feature service Vector tile service Map tile service
Import a static file Yes Yes Yes
Publish tile service from a hosted feature service Not applicable Yes Yes
Publish an ArcGIS Pro service definition file (.sd) Yes No Yes
Create a service with no data from scratch Yes No No
If you don’t know what a service definition file is…

A service definition is a reusable file that packages everything needed to publish a hosted service.  Similar to a configuration file in Docker, Kubernetes, or Terraform, it lets you consistently recreate an environment for ArcGIS services. But it can also bundle data along with the service configuration (schema, rendering rules, spatial reference, capabilities, permissions, etc.).

You can create it with ArcGIS Pro or ArcPy. When you upload this file to ArcGIS Online or ArcGIS Location Platform, you can publish the service exactly as described, making automation much easier.

You can create hosted data services with these tools, though not all support every approach (explained in the next section):

Keep in mind that you can achieve the same results by making raw ArcGIS REST API calls (the underlying technology used by all these tools and APIs).

How to create hosted data services

As with everything else, you can create any hosted service manually or through code.

Regardless of the tool, creating a hosted data service is a multi-step process:

  • First, create an item (e.g., import a file as a portal item or make an empty item).
  • Then publish it as a service.
  • If you made an empty item, add the definition schema.

The Portal and data services guide provides step-by-step instructions for creating these three service types using data management tools (ArcGIS Portal and ArcGIS Pro) and scripting APIs (ArcGIS API for Python and ArcGIS REST JS).

The collapsible sections below include additional details and resources for each service type:

Ways to create a hosted feature service

Tutorials about creating feature services through a GUI (ArcGIS Pro, ArcGIS Portal’s “Feature layer tool” or “Import data tool“) or through code:

Beyond the approaches documented in the guide, you can also use a service definition file (.sd). You first need to author it in ArcGIS Pro by saving the definition for a web layer, then upload and publish it using any of the tools available.

Below is a quick guide to the developer APIs not yet covered in the developer guide:

  • The ArcGIS REST APIs can also be used to reproduce these approaches:
    • Importing static files:
      1. Uploading the file via addItem.
      2. Publishing the item as a service using the publish items operation.
    • Create a service definition manually:
      1. Create the item using addItem.
      2. Create the service using createService (with targetType=featureService).
      3. Add the service definition using addToDefinition.
  • ArcPy can also be used to:
    • Publish an ArcGIS Pro service definition file (.sd): Through the arcpy.sharing module to publish a service definition.
    • Create a service definition manually: Create a geodatabase with an empty feature class and publish it.
Ways to create a hosted feature layer view from a hosted feature service

A hosted feature layer view is based on an existing layer and lets you filter data by extent, choose fields, and customize capabilities.

Here are some resources on creating layer views with different tools:

Some examples are missing, but you can use the ‘💡Pro Tip’ explained below to work them out. If you need help, please don’t hesitate to reach out.

Ways to create a vector tile service

You can create vector tile services either through GUIs or through code.

Publish tile service from a hosted feature service using

Note: Publishing from a hosted feature service produces a single layer that blends all layers in the service

Import a static file (VTPK)

Key parameters to set in the request to the REST API: addItem operation:type="Vector Tile Package"publish item operation:  fileType=vectorTilePackage.

Ways to create a map tile service

You can also create map tile services either through GUIs or through code.

Publish tile service from a hosted feature service using

Note: Publishing from a hosted feature service produces a single layer that blends all layers in the service

Import a static file (TPK or TPKX)

Key parameters to set in requests to the REST API: addItem operation:type="Tile Package"publish item operation:  fileType=tilePackage, buildInitialCache (to generate tiles immediately after publishing).

Publish an ArcGIS Pro service definition file (.sd)

Key parameter to set in the request to the REST API: publish item operation:  fileType=serviceDefinition

Frequently asked questions about hosted services creation

Can hosted map tile services be directly created from other files such as mbtiles or geopackages?
No, they can not.

Can hosted vector tile services be directly created from mbtiles?
No, they can not.

How do I define the tile size and other tiling scheme parameters?

Use the Generate Tile Cache Tiling Scheme geoprocessing tool in ArcGIS Pro (or arcpy.management.GenerateTileCacheTilingScheme) to define parameters such as the coordinate system, tile origin, tile size (e.g., 128 x 128, 256 x 256, 512 x 512, 1024 x 1024), DPI, scale levels (LODs), and resolution. Check this CartoRedux’s video.

You can also configure the tiling scheme using the Tile Layer tool in your ArcGIS portal, though its configuration options (and the corresponding REST endpoints) are more limited. When publishing from tile packages or features, you can customize the tiling scheme as described in Publish tile layers from files or Publish a hosted tile layer from features.

What are the file size limits for uploading data when preparing to publish hosted services?
You can upload files up to 500 GB to “My Content” using multipart uploads, which support up to 10,000 parts. For single uploads through the web browser, the limit is 5 GB. If you’re using chunked transfer uploads, each chunk can be up to 50 MB. These limits apply when preparing data for publishing hosted services

Service definition management tools

As explained in the previous article (What’s inside a service definition), a service definition is stored as a structured JSON object that describes all key aspects of a service or its layers.

We cover both service-level settings, which control the overall behavior of the service, and layer-level settings, which apply only to individual layers.

After publishing a service, you can update its settings from the ArcGIS portal item’s page (https://<org-short-name>.maps.arcgis.com/home/item.html?id=<item-id>#settings). This page exposes the most common configuration options, but sometimes, though, you need to see (or edit) the full JSON specification.

If you need complete control, you can access it through the REST API Admin HTML interface, or manage it through code using developer tools such as the ArcGIS API for Python, ArcGIS REST JS, or directly via the ArcGIS REST Admin API.

⚠️ Important note: Even advanced users can cause unrecoverable issues when working directly with the REST API. Always experiment on disposable services and keep backups in case something important breaks.

💡Pro Tip: Advanced users can inspect the network requests made by the ArcGIS portal interface when saving changes. Looking at the REST API payloads is a great way to discover which properties are being set and how to configure them when changing service settings programmatically.

Inspecting the updateDefinition request after saving changes in the ArcGIS portal item page

ArcGIS Pro and ArcPy are mainly used to author and publish services. You can republish or overwrite an existing service, but they don’t provide a way to directly modify service-level settings after publishing.

Ways to modify a service definition

There are several ways to manage service settings, depending on your workflow or toolset. Below, you can learn how to use each option.

ArcGIS Portal

Feature services Vector tile services Map tile services
General capabilities Docs Docs Docs
Access control Docs Docs Docs

The ArcGIS Online documentation also provides useful information on all supported services under: Manage data > Configure item details.

ArcGIS API for Python

ArcGIS REST JS

ArcGIS REST API

The following endpoints can be accessed programmatically, but each service also provides an HTML interface if you set the “f” to “html”.

Also, note that all data services have a refresh operation to clear the web server cache for the service.

More about feature service, layer, and layer view definitions

It is common to want to make changes to a feature service after it has been published. Many of these changes can be made through the item’s page, such as:

Service-level capabilities

In addition to the ones listed in the “Ways to modify a service definition”:

Layer-level capabilities:


As mentioned earlier, any change made through the graphical interface can also be done via the REST API. The API also supports changes not always available in the GUIs, such as:

🔔 Reminder: Manually modifying data schemas is complex. While the API reference includes some examples, schema changes are primarily intended to be handled through Esri’s tools. Whenever possible, use the provided tools and SDKs (they simplify the process and help you avoid common pitfalls).

Frequently asked questions about hosted feature services 

Are there limitations to joined layer views?
Yes:

  • Read-only: Joined views can’t be edited or synced.
  • Schema lock: Source layer schemas become fixed after joining.
  • Performance: Large joins may slow downloading due to dynamic data processing.
  • Offline use: Joined views aren’t available offline.
  • Access control: Layers with ownership-based access can’t be used in joins.
  • Attachments: Only included if the target layer has a global ID field.

Content management tools

The table below summarizes the type of update each service supports, the maximum scope of change, and whether updates happen immediately or must be explicitly triggered.

Service type Update operation Max. granularity Update mode
Hosted feature services (FS) Immediate edits Per-feature/attribute Inmediate
Hosted vector tile services (from FS) Cache rebuild Extent (map area) On-demand or scheduled
Hosted map tile services (from FS) Cache rebuild Extent (map area) On-demand
Hosted vector tile services (from VTPK) Replace cache Whole service On-demand
Hosted map tile services (from TPK/TPKX) Replace cache Whole service On-demand

Next, we’ll see which tools are available to manage these updates:

Tool Hosted feature service Hosted vector tile services Hosted map tile services
ArcGIS Portal Yes Yes Yes
ArcGIS Pro Yes Yes Yes
ArcGIS API for Python Yes Yes Yes
ArcPy Yes Yes Yes
ArcGIS REST JS Yes Yes Yes
REST API Yes Yes Yes
Map Viewer Yes No No
ArcGIS Maps SDKs Yes No No

Keep in mind that not all tools provide the same experience. Some expose only a subset of the service capabilities, which means specific updates may require you to work around missing methods by crafting REST requests directly, as explained in the collapsible sections below.

Ways to manage data from a hosted feature service

The Portal and Data Services guide links to several tutorials on managing content from feature services using the Map Viewer, ArcGIS Pro, ArcGIS Maps SDKs, and scripting SDKs.

In addition, there are other resources that might be helpful:

Ways to manage data from a hosted vector tile service

The Portal and Data Services guide links to explaining tutorials on managing content from feature services using the Map Viewer, ArcGIS Pro, ArcGIS Maps SDKs, and scripting SDKs.

You can find that other operations are exposed through the REST Admin HTML interface, but they are primarily used for the publication process.

Ways to manage data from a hosted map tile service

You can find that other operations are exposed through the REST Admin HTML interface, but they are primarily used for the publication process.

Frequently asked questions about content management

Are there any limitations when updating map tile services published from tile packages?
Yes, there are a few important limitations to keep in mind when using the Import Tiles REST endpoint:

  • Supported sources: Only tile layers originally published from tile packages or service definition files are eligible for updates.
  • Layer consistency: The layers in the replacement service must match the existing service in structure and content.
  • Service compatibility: The service type and coordinate system of the replacement layer must match those of the current service.

Are there any limits for Feature Services Data queries or updates?
Yes, we highly recommend checking the Best Practices with Hosted Feature Services technical session.

Style definition tools

To make the most of the ArcGIS geoinformation model, it’s important to understand which services can be styled directly within their service definition, and how.

If you still don’t know what the ArcGIS geoinformation model is…

ArcGIS uses a layer abstraction system based on a cascading configuration model (similar to CSS) that lets you override default service configurations with an extended schema. This extended schema includes options such as chart configurations, graphical parameters, and other advanced customizations.

This approach makes services more flexible and reusable across multiple apps and platforms with minimal code, saving significant development time. It also ensures greater consistency (apps look and behave similarly by default), reducing the likelihood of human-introduced errors.

Learn more about this in “The ArcGIS geoinformation model video. A helpful tool for exploring how this model works is ArcGIS Assistant; however, it is not an official Esri product and is not covered by Esri Support. Be sure to read the warning page carefully before using it.

Note: In this section, we focus on graphical tools, given the nature of this work. Everything shown here can also be automated through code, as already explained. Styling options in client SDKs will be covered in a separate article on “Visualization and Interactivity Differences.

Map tile services

As explained in the previous article, map tile service definitions do not store style information. Styles are applied before the tiles are cached, so changing the appearance requires restyling the source data and republishing the service. When a map tile service is published from a hosted feature service, the style is inherited from the feature service at the time of publication.

You can style map tile services with tools such as ArcGIS Pro, or with Map Viewer when publishing from a hosted feature service, as explained in this tutorial.

Vector tile services

Vector tile services work differently. In this case, the style is not baked into the cached tiles. Instead, the style is stored as a separate resource within the service. That resource itself cannot be modified directly, but you can edit the style JSON in the Vector Tile Style Editor (or, for advanced users, by editing the JSON manually), then save the result as a new style item that references the same vector tile service, allowing client applications to load it.

If you need to change the style resource of the service itself, the service must be republished.

Note: If you’ve wondered whether you can import styles from third-party tools like Maputnik into Esri vector tile layers, the answer is that it is not officially supported. So, styles need to be created or edited with Esri tools such as ArcGIS Pro and the Vector Tile Style Editor.

Feature services

Feature services are a different case. As explained earlier (Service definition management tools), each layer in a feature service includes a drawingInfo property in its JSON service definition.

This property defines the layer’s symbology, labels, transparency, and related settings.

When you change the style directly from Map Viewer, or on the item’s Visualization tab, the drawingInfo is saved at the item level. This means the style will only be applied when the service is loaded using the item’s identifier.

If you want to overwrite its contents directly in the service definition (at the layer level), the only way to do so is through code, doing a REST API call.

💡 Pro Tip: Apply your drawingInfo changes directly to the service definition

Next steps

We hope this article has clarified the wide range of options for managing these services. While the variety of tools and workflows can feel overwhelming, our goal has been to give you the context needed to decide which approach best fits your needs.

Next, we will cover “Behind the scenes and SDK trade-offs“, with a focus on what application developers need to know when consuming these services.

If you have questions, join the conversation in Esri Community > Developers > ArcGIS REST APIs and Services > ArcGIS Location Service. If you find something confusing or believe you’ve spotted an error or inconsistency in this article, reach out to us at developers@esri.com. Your input helps us improve the clarity and accuracy of this content.

Looking for more tutorials? Check: ArcGIS Online data management tutorials and ArcGIS Pro data management tutorials.

And if you found this article useful and believe others in your professional network may benefit from it, we would greatly appreciate it if you could share or engage with the post on LinkedIn, Bluesky, or X.

Thank you to everyone who contributed to the content of this article. You rock! Extra special thanks to Matt George, Chris Wesson, and Yue (Nathan) Wu.

Share this article

Leave a Reply