> For the complete documentation index, see [llms.txt](https://help.felt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.felt.com/upload-anything/arcgis-services.md).

# ArcGIS services

Add ArcGIS MapServer, FeatureServer, and ImageServer services to Felt. Stream large services or use an API key for secured sources.

ArcGIS services are ESRI REST services, such as MapServers, FeatureServers, and ImageServers, hosted on ArcGIS Online, ArcGIS Enterprise, or any ESRI server. To add a public service, click **Upload Anything** ![](https://217108486-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmRfGitkyjOEMvVsEyGWN%2Fuploads%2FnwKMjNT6E1km4CtnHkqf%2F24.svg?alt=media\&token=9e98d9c4-35a3-416a-8802-b4e366c722cb) > **From URL** in the toolbar and enter the service's URL. For a service that needs a login, connect it as a data source with an ArcGIS API key.

## Add a public service from a URL

Add a public ArcGIS service with its REST URL, such as `https://services.arcgis.com/.../FeatureServer/0`.

1. In the toolbar, click **Upload Anything** ![](https://217108486-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmRfGitkyjOEMvVsEyGWN%2Fuploads%2FnwKMjNT6E1km4CtnHkqf%2F24.svg?alt=media\&token=9e98d9c4-35a3-416a-8802-b4e366c722cb) > **From URL**.
2. Enter the service's URL.
3. Optional: To make the layer refresh on a schedule, turn on **Live**. See [Refresh data](/upload-anything/refresh-data.md).
4. Click **Add to map**. The service's layers appear on the map.

The URL determines how many layers Felt adds:

* A URL that ends in a layer number, such as `/MapServer/0` or `/FeatureServer/2`, adds one layer.
* A URL that ends in `/MapServer`, `/FeatureServer`, or `/ImageServer` adds every layer in the service, as a layer group. One URL can add up to 50 layers. For a larger service, add its layers one at a time. See [Data limits](/upload-anything/data-limits.md).

Each type of service becomes a different kind of layer:

| Service         | URL ends in      | Becomes                                                                                                                                                                            |
| --------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Feature service | `/FeatureServer` | Vector layers you can style, filter, and analyze. The data stays read-only at the source.                                                                                          |
| Map service     | `/MapServer`     | Vector layers, like a feature service, for each layer that supports queries. A map service with cached tiles also adds its tiles as a raster layer when you add the whole service. |
| Image service   | `/ImageServer`   | Raster images, such as aerial imagery or elevation, that you can't restyle                                                                                                         |

A cached ArcGIS tile service, with a URL that ends in `/tile/{z}/{y}/{x}`, is added as an XYZ tile URL instead. See [XYZ raster tiles](/upload-anything/urls/xyz-raster-tiles.md).

### Stream large services

Streaming fetches only the features in view from the ArcGIS map or feature service each time the map loads. Use it for large or global services that are slow to load in full, or for data that changes often.

1. In the toolbar, click **Upload Anything** ![](https://217108486-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmRfGitkyjOEMvVsEyGWN%2Fuploads%2FnwKMjNT6E1km4CtnHkqf%2F24.svg?alt=media\&token=9e98d9c4-35a3-416a-8802-b4e366c722cb) > **From URL**.
2. Enter the service's URL.
3. Click **Advanced options**.
4. Turn on **Stream vector data**. The dialog shows **Streaming** at the bottom.
5. Click **Add to map**.

Streaming is set when you add a service. To stream a service that's already on your map, add it again with **Stream vector data** turned on. Services connected with an API key can't be streamed.

Streamed layers are styled like external vector tiles. See [Style external vector tiles](/upload-anything/urls/vector-tiles.md#style-external-vector-tiles).

{% hint style="warning" %}
Streamed layers don't support the data table, statistics, filters, or dashboard components. Add a service without streaming if you need those.
{% endhint %}

## Connect a service as a data source

Connecting an ArcGIS service as a source needs Edit access to the workspace. Connect one to use an API key or to share the server's layers with your workspace. Felt uses a long-lived [ArcGIS API key](https://developers.arcgis.com/documentation/security-and-authentication/api-key-authentication/api-key-credentials/), not an ArcGIS login or OAuth. API keys are available in ArcGIS Online, ArcGIS Location Platform, and ArcGIS Enterprise 11.4 and later.

1. On the workspace home page, click **+** next to **Data sources**. On a map, click **Data sources** in the toolbar, then click **New source**.
2. Click **ESRI ArcGIS Server**.
3. Enter a **Source name** to identify the source in Felt.
4. Enter the **URL** of your service. The URL ends in `/FeatureServer`, `/MapServer`, or `/ImageServer`, optionally followed by a layer number.
5. Optional: For a private service, enter the API key in **Token**.
6. Click **Connect**. The source opens with a catalog of the service's layers.
7. Select a layer and click **Create layer**. The layer appears on the map.

If you limit the API key to specific referrers, add `https://felt.com` to its allowed domains. For who can see and edit the source, see [Permissions](/administration/permissions.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.felt.com/upload-anything/arcgis-services.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
