How to Download Data from ArcGIS REST Services
A comprehensive guide to extracting data from ArcGIS REST APIs. Learn how to query endpoints, handle pagination, and download complete datasets in various formats.
ArcGIS REST services are the backbone of the Esri geospatial ecosystem. They power everything from city zoning maps to global environmental datasets. However, downloading raw data from these services requires interacting with a REST API, which can be daunting for non-developers.
This tutorial breaks down the process of querying an ArcGIS REST service and downloading the data.
Understanding the Endpoint Structure
An ArcGIS REST FeatureServer or MapServer endpoint typically looks like this:
https://services.arcgis.com/[orgId]/arcgis/rest/services/[serviceName]/FeatureServer/[layerId]To download data, you must append the `/query` operation to the layer URL.
The Core Query Parameters
To extract data, you need three basic parameters:
- where=1=1 — This SQL clause asks for all records.
- outFields=* — This returns all attribute columns.
- f=geojson — This requests the output in GeoJSON format.
A basic query URL looks like this:
https://services.arcgis.com/.../FeatureServer/0/query?where=1%3D1&outFields=*&f=geojsonThe Pagination Problem
If you paste that URL into your browser, you will likely receive data — but probably not all of it. By default, ArcGIS servers limit the number of features returned in a single request (usually to 1,000 or 2,000).
To download a dataset with 50,000 features, you have to fetch it in batches.
The Automated Solution
Because managing pagination manually is tedious and prone to errors, the most efficient way to download data is using a specialized tool.
- Open Geo Server Data Downloader.
- Paste the FeatureServer URL.
- The tool automatically handles the ID chunking and pagination behind the scenes.
- Preview the layer on the map.
- Use the Bulk Export feature to save the complete dataset as a Shapefile, GeoPackage, or GeoJSON.
Handling Spatial Filters
Sometimes you do not want the entire dataset. You can filter the data spatially by passing a geometry or a bounding box (bbox) to the query.
&geometry=-95.99,36.15,-95.98,36.16&geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersectsThis returns only the features that fall within that specific bounding box in Texas.
Summary
Downloading data from ArcGIS REST services requires understanding the query syntax and pagination limits. While manual queries are great for small datasets, using a dedicated extraction tool ensures you get the complete dataset reliably.
Ready to try it yourself?
Export ArcGIS REST services, WFS endpoints, and ArcGIS Online datasets to Shapefile, GeoJSON, KML, or GeoPackage — all in your browser.
Open the Downloader