ArcGIS Developer
APIs and SDKs
5_ENTRIES- ArcGIS Core APIs & Libraries
ArcGIS Core APIs & Libraries:ArcGIS API for Python - Guides, sample notebooks, and API reference to do mapping, spatial analysis, data science, geospatial AI, and automation using Python.ArcGIS REST APIs - General documentation about ArcGIS REST APIs: location services, content management, portal administration, and more.ArcGIS REST APIs collections - Postman collections…
- Esri Client-side SDKs
Esri Client-side SDKs:ArcGIS Maps SDK for .NET - Guides, sample codes, and API reference to build desktop and mobile apps using .NET.ArcGIS Maps SDK for Flutter - Guides, sample codes, and API reference to build desktop and mobile apps using Flutter.ArcGIS Maps SDK for JavaScript - Guides, sample code, API references, and showcase to build 2D and 3D interactive web…
- Integrations & Plugins (third-party l...
Integrations & Plugins (third-party libraries):ArcGIS integrations with CesiumJS - Guide and tutorials to help you start build mapping applications with CesiumJS and ArcGIS.ArcGIS integrations with MapLibre GL JS - Learn how to connect MapLibre GL JS apps with ArcGIS services using the Esri-maintained ArcGIS MapLibre plugin and ArcGIS REST JS, including tutorials, API references, a…
- SDKs for Extending ArcGIS Products
SDKs for Extending ArcGIS Products:ArcGIS CityEngine SDKs (C++) - C++ APIs, documentation, and examples for the Procedural Runtime (PRT).ArcGIS CityEngine SDKs (Python) - Python bindings for the Procedural Runtime (PRT) of CityEngine.ArcGIS Earth Automation API - Guide, API reference, and samples to communicate with ArcGIS Earth.[ArcGIS Enterprise…
- Legacy SDKs
Legacy SDKs:ArcGIS Maps SDK for Java - Guides, sample codes, and API reference to build desktop apps.ArcObjects SDK for .NET - Documentation about the .NET SDK for the library of Component Object Model (COM) components that make up the foundation of ArcGIS.[ArcObjects SDK for Java](https://desktop.arcgis.com/en/arcobjects/latest/java/#80146cac-6b50-4c82-a9f…
Application generators and CLIs
3_ENTRIES- @arcgis/cli
Quickly scaffold various applications for the ArcGIS API for JavaScript.
- generator-esri-appbuilder-js
Yeoman generator to help customize Esri's Web AppBuilder.
- koop-cli
Tool to scaffold Koop applications and plugins.
ArcGIS location services
12_ENTRIES- ArcGIS location services Postman Workspace
Postman collections to facilitate work with many of the location services.
- Basemap styles service (v1)
Access streets, satellite, and other basemap styles for maps and scenes.
- Basemap styles service (v2)
Access multiple map styles, add places of interest, set label languages, word views, and more.
- Places service
Search for businesses and geographic locations around the world with detailed information about each place.
- Elevation service
Get the vertical distance (height) of a location above or below the mean sea level or ground level.
- Hydrology analysis service
Trace water flow and generate watersheds.
- Geocoding service
Search for addresses, businesses, and places around the world.
- GeoEnrichment service
Find facts and demographic information about a location or area.
- Routing service
Get turn-by-turn directions and solve advanced routing problems.
- Printing tools service
Generate static maps (png, jpg, pdf, etc.) from advanced web maps.
- Spatial analysis service
Process spatial datasets to discover relationships and patterns.
- Offline packaging service
Create and manage preplanned map areas for generating offline maps.
Code samples and snippets
12_ENTRIES- ArcGIS Code Sharing
Search, browse, and use code, scripts, models, add-ins, widgets, and more.
- Esri/developer-support
Community samples to help be successful with all ArcGIS developer products (Python, .NET, JavaScript, Android…).
- esrinederland/CoolScripts
Esri Netherlands scripts and snippets for reuse.
- .NET
.NET:ArcGIS Maps SDK for .NET MAUI samples - Esri's official ArcGIS Maps SDK MAUI product team samples.ArcGIS Maps SDK for .NET UWP samples - Esri's official ArcGIS Maps SDK for .NET product team samples.ArcGIS Maps SDK for .NET WinUI samples - Esri's official ArcGIS Maps SDK for .NET product team samples.[ArcGIS Maps SDK for .NET W…
- Android
Android:ArcGIS Maps SDK for Kotlin samples - Esri's official ArcGIS Maps SDK for Kotlin product team samples for Kotlin.
- Arcade
Arcade:ArcGIS Arcade Expression Templates - Collection of reusable Arcade expressions across all supported profiles.
- iOS
iOS:ArcGIS Maps SDK for iOS sample code - Esri's official ArcGIS Maps SDK for iOS product team samples.
- JavaScript
JavaScript:ArcGIS API for JavaScript Sample Code - Esri's official JavaScript API product team samples.ArcGIS REST JS demos - Demo apps built by Esri's REST JS maintainers.arcgis-js-api-starter-apps - Collection of boilerplates to get started with the ArcGIS API for JavaScript 4.x.[Esri/arcgis-js-vscode-snippets](http…
- Python
Python:ArcGIS API for Python Sample Notebooks - Esri's official Python API product team samples.esrinederland/CoolMaps - Shows cool example maps you can use.
- Qt
Qt:ArcGIS Maps SDK for Qt C++ sample code - Esri's official ArcGIS Maps SDK for Qt product team samples for C++.
- Unity
Unity:ArcGIS Maps SDK for Unity samples - Esri's official ArcGIS Maps SDK for Unity product team samples.
- Unreal
Unreal:ArcGIS Maps SDK for Unreal Engine samples - Esri's official ArcGIS Maps SDK for Unreal Engine product team samples.
Data conversion tools
3_ENTRIES- Core geospatial processing libraries
Core geospatial processing libraries:ArcPy - Python interface to the ArcGIS geoprocessing framework for automating spatial analysis, data management, and mapping.gdal - Translator library for raster and vector geospatial data formats.loam - JavaScript wrapper for GDAL in the browser.
- Format conversion
Format conversion:arcgis-json-to-geojson - Convert layer in ArcGIS JSON spec to GeoJSON spec.csv2geojson - Convert points from CSV format to GeoJSON.geojson2svg - Render GeoJSON into SVG using an inline or external stylesheet.geojsonio - Convert many data formats to and from GeoJSON and TopoJSON.[gtf…
- Simplification and generalization
Simplification and generalization:Distillery - Web application to simplify and project TopoJSON.Feature Service Layer - Use the
maxAllowableOffsetparameter to return generalized geometries with thequeryoperation.[Generalize method](https://esri-es.github.io/arcgis-search/?search=geometryEngine.generalize#gsc.tab=0&gsc.q=%22generalize%22%20site:de…
Data integration tools
7_ENTRIES- ArcGIS Data Interoperability Extension
Desktop tool to transform +400 data formats.
- FME Server
ETL allowing to easily transform almost any dataset into an ArcGIS compatible format and vice-versa. Support for 500+ formats and technologies.
- Koop
JavaScript toolkit for connecting spatial APIs. Transform geospatial data on the fly and serve as GeoJSON, vector tiles, feature services, and more.
- Make.com
iPaaS to automate repetitive tasks involved in using Survey123 and make your work easier.
- node-red-contrib-arcgis-rest
Query, delete, update, or insert data with low-code programming for event-driven applications of the JS Foundation.
- Zapier for ArcGIS
iPaaS to automate integrations without writing any code.
- Tray.io
Manual, scheduled, and webhook triggers to apply edits, get features, layers, etc. using Tray Platform's ArcGIS connector.
Debugging tools
7_ENTRIES- cors-test.codehappy.dev
App to test CORS requests.
- Fiddler Classic
Windows tool that logs HTTP(s) network traffic.
- GeoJSONLint
Validate and view your GeoJSON.
- json-schema.org
Vocabulary that allows you to annotate and validate JSON documents (including multiple validators).
- mapbox/geojson-vt/debug
Validate GeoJSON or TopoJSON.
- Postman interceptor
Interceptor enables you to sync cookies from your browser and capture network requests directly from Chrome.
- netbalancer.com
Windows application for local network traffic control and monitoring.
Design and styling
3_ENTRIES- Best practices, books, videos, and tr...
Best practices, books, videos, and training:Cartography and Making Stunning Maps - Short video showing some examples of what can be achieved using different blend modes effects.How to style using ArcGIS Online - Playlist with a collection of short videos showcasing some ArcGIS styling capabilities.[Photoshop-style Graphics Effects for Your Layers and Data](https:…
- Developer tools
Developer tools:Calcite Design System - Collection of mapping icons, web components, and good practices.Calcite Intellisense Visual Studio Code Extension - Injects HTML IntelliSense (completion, hover, documentation) for Esri Calcite Design System web components, using Esri's official custom-data JSON.[Calcite Snippets Visual Studio Code Extension](https://ma…
- GUIs
GUIs:ArcGIS Vector Tile Style Editor - Style vector tile basemap layers for applications.arcgis-vectortile-style-editor - Minimalistic tool to update the styles of Esri Vector Basemaps through JSON.EsriUK mapstyler - Quickly style an Esri vector tile layer using an image.
Developer guides
9_ENTRIES- Content management
Store, manage, and access private and public content.
- Data hosting
Store, manage, and access your data as data services.
- Demographics
Discover local facts and demographic information with the GeoEnrichment service.
- Geocoding
Search for addresses, businesses, and places of interest (POIs) with the geocoding service.
- Maps
Display 2D maps and 3D scenes using the basemap layer service and data services.
- Offline
Display, analyze, and edit data while disconnected.
- Routing
Find routes and directions with the routing service.
- Security and authentication
Access services and content using API keys and OAuth 2.0.
- Visualization
Style layers to visualize data in 2D and 3D.
Helpers
14_ENTRIES- arcgis-geometry-calculations
Web application to create and grab ArcGIS geometry calculations.
- arcgis-js-api-camera-helper
Web application to get the camera position JSON object for 3D web apps in the ArcGIS API for JavaScript 4.x.
- arcgis-js-api-extent-helper
Web application to get the map extent JSON object for web apps in the ArcGIS API for JavaScript 4.x.
- ArcGIS JS API Module Butler
VSCode extension for quickly adding ES import statements for the @arcgis/core package without leaving your current code context.
- epsg.io
Website to discover and transform coordinate systems from all over the world.
- esri-loader
A tiny library to help you lazy-load the ArcGIS API for JavaScript (i.e., from the CDN) in applications built with popular JavaScript frameworks and bundlers.
- esri-loader-hooks
Custom React hooks for using the ArcGIS API for JavaScript with esri-loader.
- geojson-random-generator
Generate and download random GeoJSON quickly for testing.
- reducegeojson
A tool to reduce the file size of GeoJSON files for web optimization.
- histogrand
Random value generator according to customized histograms.
- mercator-geographic-converter
Simple coordinate converter between Geographic units (latitude, longitude) and Mercator units (x, y).
- react-sceneview
A simple Esri SceneView React component that builds on the ArcGIS API for JavaScript.
- bboxfinder
Simple web application to get the coordinates of a bounding box drawn on the map.
- snippets client side raster functions
The client-side raster functions are operations that apply processing directly to the source image pixels.
Map and data exploration
9_ENTRIES- ArcGIS Map Viewer
Web application to create, explore, and share web maps for 2D applications.
- ArcGIS Map Viewer (classic version)
Web application to create, explore, and share web maps for 2D applications.
- ArcGIS Scene Viewer
Web application to create, explore, and share web maps for 3D applications.
- Geo Data Viewer
VSCode extension for Geo Data Analytics. Support to generate and view maps.
- geojson.io
Web application to visualize, generate, and edit geospatial vector data. Supports GeoJSON, TopoJSON, CSV, KML, WKT, and Shapefile.
- gpxstudio
Online and open source GPX file editor.
- Mapshaper
Web application to simplify shapes, edit attribute data, clip, erase, dissolve, filter, etc. Supported file formats: Shapefile, GeoJSON, TopoJSON, and CSV files.
- Smart Mapping
It is built into the Map and Scene viewer, but some APIs like JavaScript and Python also provide utilities to help build data exploration tools.
- VSCode Map Preview
Extension for visually previewing geospatial file content (GeoJSON, KML, etc) on a map.
Playgrounds
7_ENTRIES- arcgis-arcade-playground
Try the portable scripting language for creating ArcGIS custom visualizations and labeling expressions.
- cim-symbol-builder
Generate CIM symbols to work with ArcGIS client APIs and feature services.
- geometry-inspector
Quickly show EsriJSON, GeoJSON, or WKT on a map, or draw on a map to get EsriJSON, GeoJSON, or WKT.
- js-symbol-playground 3.x
Generate symbols to work with the ArcGIS API for JavaScript 3.x.
- js-symbol-playground 4.x
Generate symbols to work with the ArcGIS API for JavaScript 4.x.
- Postman workspaces
Postman collections to experiment with location services and authentication.
- Firefly Symbols Generator
Firefly symbol generation.
Spatial Analysis
5_ENTRIES- ArcGIS Analysis services
Spatial, raster, elevation, hydrology, and utility network analysis.
- Esri/gis-tools-for-hadoop
Collection of GIS tools for spatial analysis of big data.
- Esri/spatial-framework-for-hadoop
Allows developers and data scientists to use the Hadoop data processing system for spatial data analysis.
- Client-side Geometry Engine
Allows you to test spatial relationships, calculate new geometries, and measure lengths, areas, distances, etc.ArcGIS API for JavaScript
geometryEngine- Works for browsers and Node.js.ArcGIS API for Pythonarcgis.geometry[ArcGIS Maps SDK for .NETGeometryEngine](https://developers.arcgis.com/net/api-reference/api/net… - Turf.js
Geospatial analysis for browsers and Node.js.
Specifications
21_ENTRIESRelated awesome lists
Issues
Any open issues are fair game. Even just telling us what you want to see would be extremely helpful!
You can file an issue to request or suggest a specific resource.
Contributing
Esri welcomes contributions from anyone and everyone. You can issue a pull request to propose an update, but before doing it, please:
-
Check the contributing guidelines for this repo.
-
Take a look at previously logged issues.
For more information, please see Esri's guidelines for contributing.
Footnotes
Copyright 2025 Esri
- Cartographic Information Model spec
Map content specification used to persist and transfer cartographic descriptions of GIS datasets represented in JSON.
- Common data types
JSON formats of the geometry and spatial reference objects as returned by ArcGIS REST API: Point, Multipoint, Polyline, Polygon and Envelope.
- GeoServices spec
Open Web Foundation REST-based API that provides complete access to structured geospatial data used by Esri.
- Indexed 3D Scene Layers
Service and package standard of containers for arbitrarily large amounts of geographic data.
- Shapefile Format
Spec for the geospatial vector data format for GIS software.
- Spatial reference specifications
List of Well-Known ID (WKID) integer value or a text string definition referred to as Well-Known Text (WKT) to define a spatial reference.
- Tile Package Specification
Compressed file containing a set of tiles and a tiling scheme, which can be used as a basemap in ArcGIS applications.
- Web Map spec
Sharable 2D maps. It describes the JSON object that defines a web map.
- Web Scene spec
A JSON structure that defines the contents (viewpoint, camera, basemap layer, layers, styles, etc.) for a shareable 3D scene.
- awesome-arcgis
Awesome list with a wiki flavor with resources about Esri and ArcGIS, organized by: products, industries, file formats, content providers, etc.
- awesome-earthobservation-code
Tools, tutorials, code, helpful projects, and links about Earth Observation and Geospatial stuff.
- awesome-geojson
GeoJSON utilities: operations,editors & viewers, validation, services, conversion, etc.
- awesome-geospatial
Databases, radar, lidar, web map development, etc.
- awesome-gis
GIS, remote sensing, 3D apps, Web Map Servers, Geospatial libraries, Open Standards, data, etc.
- awesome-json-datasets
JSON datasets that don't require authentication about: climate, crime, government, NASA, travel, etc.
- awesome-open-geoscience
Curated from repositories that make our lives as geoscientists, hackers, and data wranglers easier or just more awesome.
- awesome-public-datasets
A topic-centric list of high-quality open datasets.
- awesome-remote-sensing-change-detection
List of datasets, codes, and contests related to remote sensing change detection.
- awesome-satellite-imagery-datasets
List of satellite image training datasets with annotations for computer vision and deep learning.
- awesome-semantic-segmentation
Networks by architecture (semantic segmentation, instance aware segmentation, etc.), RNN, GANS, datasets, and more.
- awesome-vector-tiles
Implementations of the Mapbox Vector Tile specification: parsers & generators, clients, apps, and command line tools, CLI utilities, servers, etc.