skillfed

arcgis

ArcGIS API for Python

arcgis v2.4.3 229.3K downloads/30d#9,135 on PyPI
License unclear Esri Master License Agreement (MLA) - http://www.esri.com/LEGAL/pdfs/mla_e204_e300/english.pdf Active released

What it is and what it does

The ArcGIS API for Python is Esri's official library for working with ArcGIS services and geospatial data in Python. It provides tools for vector and raster analysis, geocoding, routing, map visualization, and GIS administration—all backed by Esri's Web GIS infrastructure and curated geographic datasets. The library integrates with the scientific Python ecosystem (numpy, pandas, matplotlib, dask) and supports Jupyter notebooks for interactive exploration.

You use it to query and analyze maps and spatial data, create web-based visualizations, perform geocoding and routing operations, and manage GIS resources like users, groups, and data items. It works with both Esri's ready-to-use datasets and your own data, making it suitable for spatial data science, cartography, and enterprise GIS administration workflows.

Use it for:

  • Perform vector and raster spatial analysis on geographic datasets using Esri's curated data sources.
  • Build interactive web maps and visualizations in Jupyter notebooks with rich geospatial rendering.
  • Geocode addresses and compute routes and directions programmatically.
  • Administer GIS resources—users, groups, and information items—in an ArcGIS organization.
  • Integrate spatial analysis into data science pipelines using pandas and dask for large-scale processing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Access Esri's ArcGIS services and geospatial data through Python, enabling vector and raster analysis, geocoding, mapping, and GIS administration from a single library.

Yes, if you work with ArcGIS services or Esri data and need programmatic access from Python. The library is actively maintained, has low install friction, and integrates well with the scientific Python stack. However, review the Esri MLA license terms carefully before use in commercial or redistributed contexts, and be aware that the 25 runtime dependencies create a substantial environment footprint.

Install

arcgis on PyPI

pip

pip install arcgis

uv

uv add arcgis

poetry

poetry add arcgis

Installing arcgis

Before you install

Low install friction with a pure-wheel distribution. Active maintenance status and support for current Python versions (3.11–3.14). Heavy dependency footprint (25 runtime packages including numpy, pandas, matplotlib, dask) means a substantial environment; verify compatibility with your existing stack.

License in practice

Licensed under Esri Master License Agreement (MLA), not an open-source license. License treatment is unclear in the system; review the MLA terms directly before use in commercial or redistributed contexts.

Quickstart

pip install arcgis

from arcgis.gis import GIS
gis = GIS()
map_widget = gis.map()

Requires Python 3.11–3.14; ArcGIS services may require authentication or API credentials for full functionality.

Verify before relying

  • Whether Esri MLA permits commercial use or redistribution without additional licensing.
  • Whether the 25 runtime dependencies can coexist peacefully in environments with conflicting versions of numpy, pandas, or matplotlib.
  • Specific performance or memory overhead of the full dependency tree in production deployments.

Package facts

License Esri Master License Agreement (MLA) - http://www.esri.com/LEGAL/pdfs/mla_e204_e300/english.pdf (unclear)
Python support supports the current Python release (<3.15,>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 25 — pillow, urllib3, cachetools, lxml, cryptography, pandas, numpy, matplotlib, keyring, pylerc, ujson, truststore, pywin32, geomet, requests, requests-oauthlib, requests_toolbelt, pyspnego, dask, matplotlib-inline, pyarrow, puremagic, pydantic, networkx, websocket-client
Maintenance actively maintained — 115 days since the last release
First released
Downloads 229,270/month — #9,135 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: arcgis-2.4.3-py3-none-any.whl

Keywords: gis, arcgis, geographic, spatial, spatial-data, spatial-data-analysis, spatial-analysis, data-science, maps, mapping, web-mapping, python, native-development

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: Other/Proprietary LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTP :: Site ManagementTopic :: Scientific/Engineering :: GISTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: VisualizationTopic :: Software Development :: Libraries :: Python Modules

Tags

arcgis python apigeospatial analysis pythonweb gis mappinggeocoding and routingesri arcgis pythonspatial data analysisgis administration python
geospatialweb-gisesri

More Python Modules packages