# ArcGIS Location Platform (slim) > Esri's pay-as-you-go location services for developers. REST APIs cover geocoding, reverse and batch geocoding, place search, routing, basemap tiles, static maps, elevation and demographic enrichment, with an Esri-hosted MCP server in beta. - Full: https://www.anchorterminal.com/tools/arcgis.md (~8,700 tokens) · this version ~2,530 tokens · JSON https://www.anchorterminal.com/tools/arcgis.json · canonical https://www.anchorterminal.com/tools/arcgis - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-08 **B · 65.4/100 · rank #259 of 722 · #6 in Maps, geocoding & places · not agent-ready · confidence medium** Assessment: Per-unit prices are public for every service, with a monthly free tier of 20,000 geocodes and 20,000 routes, keys limited to chosen privileges and a 99.9 per cent SLA. No rate limits or OpenAPI description were found, results may not be stored unless the dearer stored geocode is bought, and the agreement bars benchmarking without written permission. ## Facts - Kind: HTTP API · vendor: Esri · category: Maps, geocoding & places · legal entity: Environmental Systems Research Institute, Inc. · provenance 89/100 - Endpoint: `https://geocode-api.arcgis.com` (HTTP, Streamable HTTP) - Auth: OAuth or key · pricing: Freemium · x402: no · licence: Proprietary service under the ArcGIS Location Platform Agreement. The ArcGIS REST JS client library is Apache-2.0 - Probe metrics: not measured yet (probes haven't run) - Services: Geocoding (`findAddressCandidates`, `reverseGeocode`, `suggest`, `geocodeAddresses`, a batch job), Places (`/places/near-point`, `/places/within-extent`, `/places/{placeId}`, categories), Routing (routes, service areas, closest facility, fleet routing, travel cost matrix, snap to roads), Basemap Styles, Static Basemap Tiles, Static Maps, Elevation and GeoEnrichment - Base URLs: https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer and https://places-api.arcgis.com/arcgis/rest/services/places-service/v1. The geocoding docs also list an Enhanced endpoint on geocode.arcgis.com that adds the batch file job - Credentials: API key credentials (selected privileges, expiry up to one year, optional referrers, two tokens for rotation), OAuth 2.0 user authentication, and app authentication with a client ID and secret for short-lived tokens. API keys (legacy) were retired in the July 2026 release - Token placement: `token` request parameter in the docs' examples, or an `X-Esri-Authorization: Bearer` or `Authorization` header - MCP server: MCP for ArcGIS Location Services (beta), Esri-hosted, Streamable HTTP only, at https://location-services-mcp.arcgis.com/beta/mcp. Version 1.0.0-beta.1.7 of 29 September 2026. API key as a Bearer header or OAuth 2.0. The key needs the Allow beta access privilege - MCP tools: find_address_candidates, reverse_geocode, solve_route, elevation_at_locations, map_with_overlay, get_topic_fields, describe_location, buffer. Tools are filtered by the token's privileges. No places tool - Output controls: Geocoding has `maxLocations` (default and maximum 50), `outFields`, `searchExtent`, `sourceCountry`, `category` and `langCode`. Places has `pageSize` (maximum 20), `offset`, `categoryIds` (up to 10) and `searchText` - Errors: A JSON `error` object with `code`, `message` and `details`. The geocoding output page lists 400, 403, 498 and 499 with extended codes and causes, and a 60-second timeout. An unauthenticated places request answered HTTP 401 with code 499 and a `WWW-Authenticate` header - Rate limits: None found in the reviewed documentation - SLA: 99.9 per cent monthly uptime per covered service, measured in one-minute intervals. Credit of 10 per cent of that service's monthly bill below 99.9 and 20 per cent below 95, with a $100 minimum threshold and a 30-day claim window. Excludes beta, evaluation and free services - Storage terms: Results may be pre-cached only as the HTTP caching headers allow. Geocodes may be stored only from the Geocode (stored) service. Routing output may be stored for personal and internal business use. One request may serve one application user - Benchmarking: The agreement bars benchmarking availability, performance or functionality, and publishing benchmark results, without prior written permission of Esri and its licensors - SDKs: ArcGIS REST JS (`@esri/arcgis-rest-geocoding`, `-places`, `-routing`, `-elevation` and nine more packages, 4.11.0 of 7 August 2026, Apache-2.0) and the ArcGIS API for Python (`arcgis` 2.4.3 of 21 April 2026, under Esri's master licence agreement), plus the ArcGIS Maps SDKs - Usage monitoring: A usage page with daily graphs by service and by developer credential, and a billing summary by service for each billing cycle - Account rules: Accounts are for one person and may not be shared. A subscription with no payment method and no non-storage usage in 12 months is treated as inactive, then suspended and deleted - Support: Technical support is not included and is sold as annual plans through sales. Esri Community and Stack Overflow are the free channels - Assurance: The trust centre says Esri's Online Services are covered by a FedRAMP moderate authorisation and ISO 27001 certification, and that Esri's SOC 2 covers internal systems, not products. The pages we read don't name ArcGIS Location Platform - Sub-processors: The Data Processing Addendum (12 March 2024) names Microsoft Corporation, Amazon Web Services, Inc., Salesforce, Inc. and Akamai Technologies, introduced with 'including, but not limited to' - Prices: Geocodes, not stored (after 20,000 free a month) $0.50 per 1,000 requests; Geocodes, stored (`forStorage=true`, no free tier) $4 per 1,000 requests; Places nearby and extent search (after 500 free a month) $8 per 1,000 requests; Routes (after 20,000 free a month) $0.50 per 1,000 requests; Routes, stop-optimised (no free tier) $50 per 1,000 requests; Service areas (after 5,000 free a month) $50 per 1,000 requests; Basemap tiles (after 2 million free a month) $0.15 per 1,000 requests; Static maps (after 1,000 free a month) $0.90 per 1,000 requests; Elevation, per 1,000 points (after 50,000 free a month) $1 per 1,000 requests - Scores: Reliability 65, Performance pending, Schema & documentation 61, Agent ergonomics 78, Security & auth 64, Payments & pricing 40, Task success pending, Maintenance & community 83, Transparency & trust 72 · total over the 7 assessed categories - Why: Reliability, Graded as a hosted service on the REST location services, which are generally available. · Schema & documentation, No OpenAPI description was found for geocoding, places or routing. · Agent ergonomics, Responses can be sized with `outFields` and `maxLocations` on geocoding and `pageSize` on places (20 of 25). · Security & auth, API key credentials carry selected privileges, an expiry date of at most one year, optional referrer limits and two tokens for rotation, and… · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, The latest dated change is MCP server 1.0.0-beta.1.7 on 29 September 2026, and the geocoding service has release notes for September 2026 (3… · Transparency & trust, A closed service with a dated agreement that states what may be stored, cached and shared, and an Apache-2.0 client library (15 of 30). - Sources: 39, open questions: 9, both in the full twin - Capabilities: geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles - JSON: https://www.anchorterminal.com/api/v1/tools/arcgis.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/arcgis.svg` or a link to https://www.anchorterminal.com/tools/arcgis from a page on arcgis.com or one of its subdomains, or the README of github.com/Esri/arcgis-rest-js, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Send the token in an `X-Esri-Authorization: Bearer` or `Authorization` header. The docs' examples put it in a `token` parameter, which Esri's own best-practice page calls less secure. 2. Set `forStorage=true` on `findAddressCandidates` or `reverseGeocode` only when results will be kept. It needs pay-as-you-go and the Geocode (stored) privilege, and costs eight times the unstored rate. 3. Cap geocoding output with `maxLocations` (default and maximum 50) and `outFields`, because billing counts results returned and the default returns every field. 4. Page place searches with `pageSize` (maximum 20) and `offset`. A nearby or extent search costs $8 per 1,000 requests after 500 free a month. 5. Check the JSON body for an `error` object with `code`, `message` and `details`. Code 499 means the token is missing and 403 means it lacks the privilege. ## Connect ```bash npm install @esri/arcgis-rest-request @esri/arcgis-rest-geocoding ``` ```bash curl https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates \ -d "f=pjson" \ -d "address=1600 Pennsylvania Ave NW, DC" \ -d "token=" ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/arcgis ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Mapbox APIs + MCP | BB | 75 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | https://www.anchorterminal.com/tools/mapbox.min.md | | Amazon Location Service | BB | 74.1 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | https://www.anchorterminal.com/tools/amazon-location.min.md | | Google Maps Platform + Grounding Lite MCP | B | 68.2 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | https://www.anchorterminal.com/tools/google-maps-platform.min.md | | Azure Maps | B | 67.9 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | https://www.anchorterminal.com/tools/azure-maps.min.md | | Stadia Maps | B | 65.2 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | https://www.anchorterminal.com/tools/stadia-maps.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)