{
  "data": {
    "a": {
      "slug": "arcgis",
      "name": "ArcGIS Location Platform",
      "vendor": "Esri",
      "vendorUrl": "https://location.arcgis.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/arcgis",
      "markdownUrl": "https://www.anchorterminal.com/tools/arcgis.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/arcgis.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/arcgis.json",
      "repo": "https://github.com/Esri/arcgis-rest-js",
      "license": "Proprietary service under the ArcGIS Location Platform Agreement. The ArcGIS REST JS client library is Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://geocode-api.arcgis.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@esri/arcgis-rest-geocoding"
        },
        {
          "registry": "npm",
          "name": "@esri/arcgis-rest-request"
        },
        {
          "registry": "pypi",
          "name": "arcgis"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A free ArcGIS Location Platform account created in a browser issues API key credentials with selected privileges, an expiry date of up to one year, optional referrer limits and two tokens for rotation. OAuth 2.0 user authentication and app authentication (client ID and secret, short-lived tokens) are also supported. Requests take the token as a `token` parameter or in an `X-Esri-Authorization` or `Authorization` header. Accounts are for one person and may not be shared.",
      "pricing": "freemium",
      "pricingNotes": "Usage-based in US dollars with a monthly free tier and no contract. Free each month are 20,000 unstored geocodes, 20,000 routes, 500 place searches, 2 million basemap tiles, 1,000 static maps and 50,000 elevation points. A payment method (card, purchase order or voucher) is needed only to turn on pay-as-you-go, which services without a free tier, among them stored geocodes, require. The sign-up form is drawn by script and we couldn't read whether it asks for a card.",
      "priceSummary": "$0.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the billing help or the REST and MCP documentation (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": 392,
        "npmWeekly": 65286,
        "pypiWeekly": 32974,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.arcgis.com/rest/location-based-services/",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "maps",
        "geocoding",
        "routing",
        "places",
        "api-key",
        "oauth",
        "mcp",
        "beta-mcp",
        "free-tier",
        "usage-priced",
        "sla",
        "status-page",
        "typescript",
        "python"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.4,
        "grade": "B",
        "agentReady": false,
        "rank": 259,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 61,
          "security": 64,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Organisations already on Esri software, and work that needs demographic enrichment, service areas or fleet routing beside geocoding.",
        "strengths": [
          "Every service has a public unit price and most have a monthly free tier, such as 20,000 geocodes, 20,000 routes and 2 million basemap tiles (https://location.arcgis.com/pricing/).",
          "API key credentials carry selected privileges, an expiry date of up to one year, optional referrer limits and two tokens for rotation. OAuth 2.0 user and app authentication are also supported.",
          "A published SLA commits to 99.9 per cent monthly uptime for ten services, with credits of 10 or 20 per cent of the monthly bill for the affected service (document G632a, 23 December 2025).",
          "The agreement promises 90 days' notice for deprecations of SDKs, APIs and location services (ArcGIS Location Platform Agreement, revised 21 November 2025, section 4.1).",
          "An Esri-hosted MCP server at `https://location-services-mcp.arcgis.com/beta/mcp` has eight tools, filters them by the token's privileges and adds no charge on top of service rates."
        ],
        "weaknesses": [
          "The agreement bars benchmarking availability, performance or functionality, and publishing benchmark results, without prior written permission from Esri and its licensors (sections 3.1.b.6 and 3.1.c.6.F).",
          "No request rate limits, 429 behaviour or retry guidance were found in the geocoding, places or routing reference pages we read.",
          "No OpenAPI description or llms.txt was found. `/llms.txt` returns 404 on developers.arcgis.com and location.arcgis.com.",
          "Storing a geocode needs `forStorage=true` at $4 per 1,000 with no free tier, against $0.50 per 1,000 for results that may not be kept. The MCP geocoding tools bill at the stored rate.",
          "The MCP server is a beta under an Early Access programme, and the SLA excludes beta, evaluation and free services. Technical support is sold separately."
        ],
        "agentNotes": [
          "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.",
          "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.",
          "Cap geocoding output with `maxLocations` (default and maximum 50) and `outFields`, because billing counts results returned and the default returns every field.",
          "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.",
          "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."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 61,
          "security": 64,
          "transparency": 54
        },
        "provenanceScore": 89
      },
      "connect": {
        "install": "npm install @esri/arcgis-rest-request @esri/arcgis-rest-geocoding",
        "http": "curl https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates \\\n  -d \"f=pjson\" \\\n  -d \"address=1600 Pennsylvania Ave NW, DC\" \\\n  -d \"token=\u003cACCESS_TOKEN\u003e\"",
        "config": {
          "servers": {
            "mcpArcGISLocationServices": {
              "headers": {
                "Authorization": "Bearer ${input:esriApiKey}"
              },
              "type": "http",
              "url": "https://location-services-mcp.arcgis.com/beta/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/arcgis"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Geocodes, not stored (after 20,000 free a month)",
          "unit": "1k-requests",
          "usd": 0.5
        },
        {
          "item": "Geocodes, stored (`forStorage=true`, no free tier)",
          "unit": "1k-requests",
          "usd": 4
        },
        {
          "item": "Places nearby and extent search (after 500 free a month)",
          "unit": "1k-requests",
          "usd": 8
        },
        {
          "item": "Routes (after 20,000 free a month)",
          "unit": "1k-requests",
          "usd": 0.5
        },
        {
          "item": "Routes, stop-optimised (no free tier)",
          "unit": "1k-requests",
          "usd": 50
        },
        {
          "item": "Service areas (after 5,000 free a month)",
          "unit": "1k-requests",
          "usd": 50
        },
        {
          "item": "Basemap tiles (after 2 million free a month)",
          "unit": "1k-requests",
          "usd": 0.15
        },
        {
          "item": "Static maps (after 1,000 free a month)",
          "unit": "1k-requests",
          "usd": 0.9
        },
        {
          "item": "Elevation, per 1,000 points (after 50,000 free a month)",
          "unit": "1k-requests",
          "usd": 1
        }
      ],
      "provenance": {
        "legalEntity": "Environmental Systems Research Institute, Inc.",
        "domain": "arcgis.com",
        "domainRegistered": "1999-06-09",
        "endpointOnVendorDomain": true,
        "terms": "https://www.esri.com/content/dam/esrisites/en-us/media/legal/platform/platform-legal.pdf",
        "privacy": "https://www.esri.com/en-us/privacy/privacy-statements/privacy-statement",
        "statusPage": "https://status.location.arcgis.com",
        "changelog": "https://location.arcgis.com/help/release-notes/2026-07/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The ArcGIS Location Platform Agreement (E204 Platform Legal, revised 21 November 2025) is between the customer and Environmental Systems Research Institute, Inc., a California corporation at 380 New York Street, Redlands, California 92373-8100.",
          "The privacy statement (revised 31 July 2026) is the one the product's pages link. Esri also publishes a Products \u0026 Services Privacy Statement Supplement (9 September 2025) and a Data Processing Addendum (12 March 2024). Neither names ArcGIS Location Platform. The agreement's section 11.5 points to the addendum.",
          "The services answer on arcgis.com subdomains, among them geocode-api.arcgis.com, places-api.arcgis.com and location-services-mcp.arcgis.com.",
          "`/.well-known/security.txt` returns 404 on www.esri.com, developers.arcgis.com, location.arcgis.com and www.arcgis.com. The trust centre takes reports through a form, with a PGP key and a safe harbour statement.",
          "RDAP gives 1999-06-09 for arcgis.com and 1990-04-18 for esri.com, both registered through MarkMonitor Inc.",
          "The status page is Esri's own. Its event history is drawn by script, so we read the RSS feed it links, whose newest entry is dated 16 June 2026."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/arcgis.json",
      "live": {
        "slug": "arcgis",
        "probe": {
          "target": "https://geocode-api.arcgis.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:15.891018608Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 134,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 134,
          "p95ms24h": 386,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.location.arcgis.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:14.482657019Z"
        },
        "updatedAt": "2026-10-08T21:53:15.891018608Z"
      }
    },
    "answer": "ArcGIS Location Platform and Stadia Maps score within a point of each other on agent readiness, 65.4 (B) and 65.2 (B). Stadia Maps leads on schema \u0026 documentation.",
    "b": {
      "slug": "stadia-maps",
      "name": "Stadia Maps",
      "vendor": "Stadia Maps",
      "vendorUrl": "https://stadiamaps.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocoding, reverse geocoding, autocomplete and place details, routing, matrix, isochrones, static maps and hosted vector, raster and satellite tiles, sold in credits on plans from $20 a month.",
      "url": "https://www.anchorterminal.com/tools/stadia-maps",
      "markdownUrl": "https://www.anchorterminal.com/tools/stadia-maps.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/stadia-maps.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/stadia-maps.json",
      "repo": "https://github.com/stadiamaps/stadiamaps-mcp-server-ts",
      "license": "BSD-3-Clause (MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.stadiamaps.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@stadiamaps/api"
        },
        {
          "registry": "pypi",
          "name": "stadiamaps"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key as the api_key query parameter or in an `Authorization: Stadia-Auth \u003ckey\u003e` header. Browser apps can use domain-based auth with no key, checked against the Origin and Referer headers. The MCP server reads API_KEY.",
      "pricing": "freemium",
      "pricingNotes": "Free 200,000 credits a month for development, testing and demos only, no commercial use. Starter $20 a month (1 million credits), Standard $80 (7.5 million), Professional $250 (25 million), with overage at $0.03, $0.02 and $0.015 per 1,000 credits. A forward, reverse or structured geocode, a place lookup, an Autocomplete v1 search or a route is 20 credits, Autocomplete v2 is 1, a matrix element 10, a map tile 1 and a satellite tile 4, so Starter covers 50,000 geocodes. New accounts get a 14-day Professional trial with no card (https://stadiamaps.com/pricing/). When credits run out you get 429 until the next cycle unless pay-as-you-go is on (https://stadiamaps.com/faqs/).",
      "priceSummary": "$20 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 23,
        "npmWeekly": 6058,
        "pypiWeekly": 192,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.stadiamaps.com",
      "llmsTxt": "https://docs.stadiamaps.com/llms.txt",
      "openapi": "https://api.stadiamaps.com/openapi.yaml",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "official",
        "typescript",
        "python",
        "free-tier",
        "no-card",
        "open-data"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.2,
        "grade": "B",
        "agentReady": false,
        "rank": 261,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 80,
          "payments": 40,
          "reliability": 63,
          "schema": 86,
          "security": 40,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs. Free plan is for development, testing and demos only.",
        "bestFor": "Cost-sensitive geocoding, routing and tiles on OpenStreetMap data, with traffic-influenced routing since April 2026.",
        "strengths": [
          "Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs",
          "Published credit costs, with 50,000 geocodes for $20 a month on Starter",
          "Header auth keeps the key out of URLs, and keys rotate through an API",
          "Server logs kept about 7 to 14 days, and a DPA",
          "14 dated changelog entries between June and September 2026"
        ],
        "weaknesses": [
          "Free plan is for development, testing and demos only",
          "The same 429 signals a burst or a spent month of credits, with no Retry-After",
          "No SLA, no security.txt and no disclosure policy found",
          "MCP server has no release, no CI and no commits since 29 July 2025",
          "The terms forbid benchmarking against competitors without written permission"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Stadia-Auth \u003ckey\u003e` rather than in the URL",
          "Try Autocomplete v2 (1 credit) before a full geocode (20 credits) when a name is enough",
          "Check the dashboard's credit balance before retrying a 429, since it may mean the month is spent",
          "Don't write geocodes to a database on Free or Starter",
          "Use bulk-geocode for addresses only, not POI names"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.2
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 80,
          "payments": 40,
          "reliability": 63,
          "schema": 86,
          "security": 40,
          "transparency": 72
        },
        "provenanceScore": 79
      },
      "connect": {
        "http": "curl -H \"Authorization: Stadia-Auth $STADIA_API_KEY\" \"https://api.stadiamaps.com/geocoding/v1/search?text=10%20Downing%20Street%2C%20London\u0026size=1\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/stadia-maps"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 20,
          "note": "1 million credits, about 50,000 geocodes"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 80,
          "note": "7.5 million credits, permanent geocode storage"
        },
        {
          "item": "Professional plan",
          "unit": "month",
          "usd": 250,
          "note": "25 million credits"
        },
        {
          "item": "Geocoding within Starter",
          "unit": "1k-requests",
          "usd": 0.4,
          "note": "20 credits each, $20 for 1 million credits"
        },
        {
          "item": "Geocoding overage on Starter",
          "unit": "1k-requests",
          "usd": 0.6,
          "note": "20 credits each at $0.03 per 1,000 credits"
        }
      ],
      "provenance": {
        "legalEntity": "Stadia Maps, Inc.",
        "domain": "stadiamaps.com",
        "domainRegistered": "2016-11-30",
        "endpointOnVendorDomain": true,
        "terms": "https://stadiamaps.com/terms-of-service/",
        "privacy": "https://stadiamaps.com/privacy/privacy-policy/",
        "statusPage": "https://status.stadiamaps.com",
        "changelog": "https://stadiamaps.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms name Stadia Maps, Inc., a Delaware corporation with an address in East Lansing, Michigan, under Delaware law. Last updated 18 March 2026.",
          "Pages showing Traffic Products must carry \"© Stadia Maps © TomTom\".",
          "stadiamaps.com/.well-known/security.txt returns 404."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/stadia-maps.json",
      "live": {
        "slug": "stadia-maps",
        "probe": {
          "target": "https://api.stadiamaps.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:34.844718142Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 36,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 43,
          "p95ms24h": 75,
          "samples24h": 270,
          "samples30d": 1962,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 246,
              "ok": 246
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.stadiamaps.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:13.675830614Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@stadiamaps/api",
            "version": "9.1.0",
            "seenAt": "2026-10-08T16:30:17.728868157Z"
          },
          {
            "registry": "pypi",
            "name": "stadiamaps",
            "version": "8.1.0",
            "released": "2026-04-27",
            "seenAt": "2026-10-08T16:30:18.529642748Z"
          }
        ],
        "githubStars": 23,
        "npmWeekly": 7449,
        "pypiWeekly": 272,
        "securityTxt": {
          "url": "https://stadiamaps.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:41.547092705Z"
        },
        "llmsTxt": {
          "url": "https://docs.stadiamaps.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:54.676650391Z"
        },
        "domain": {
          "domain": "stadiamaps.com",
          "registered": "2016-11-30",
          "source": "https://rdap.verisign.com/com/v1/domain/stadiamaps.com",
          "checkedAt": "2026-10-04T13:06:24.947269949Z"
        },
        "pages": [
          {
            "url": "https://stadiamaps.com/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:45.357903234Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fb379c6fd6fb"
          },
          {
            "url": "https://stadiamaps.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:47.445598266Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "aeba9483f45f"
          },
          {
            "url": "https://stadiamaps.com/privacy/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:49.394695387Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "22f042b735db"
          },
          {
            "url": "https://stadiamaps.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:51.381996532Z",
            "changedAt": "2026-10-08T18:24:51.381996532Z",
            "fingerprint": "44e2e273da24"
          }
        ],
        "updatedAt": "2026-10-08T21:53:34.844718142Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Esri",
        "b": "Stadia Maps",
        "name": "Vendor"
      },
      {
        "a": "https://geocode-api.arcgis.com",
        "b": "https://api.stadiamaps.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$0.50 per 1,000 requests",
        "b": "$0.40 per 1,000 requests",
        "name": "Price for geo geocode"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the ArcGIS Location Platform Agreement. The ArcGIS REST JS client library is Apache-2.0",
        "b": "BSD-3-Clause (MCP server)",
        "name": "Licence"
      },
      {
        "a": "8",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-29",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "2026-03-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-31",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "392 stars, 65k npm/wk, 33k PyPI/wk",
        "b": "23 stars, 6.1k npm/wk, 192 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ArcGIS Location Platform and Stadia Maps score within a point of each other on agent readiness, 65.4 (B) and 65.2 (B). Stadia Maps leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, ArcGIS Location Platform or Stadia Maps?"
      },
      {
        "answer": "Stadia Maps, at $0.40 per 1,000 requests against $0.50 per 1,000 requests for ArcGIS Location Platform. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for geo geocode, ArcGIS Location Platform or Stadia Maps?"
      },
      {
        "answer": "ArcGIS Location Platform takes an API key or an OAuth sign-in. Stadia Maps needs an API key.",
        "question": "Do ArcGIS Location Platform and Stadia Maps need an API key?"
      },
      {
        "answer": "Yes. ArcGIS Location Platform has a hosted endpoint at https://geocode-api.arcgis.com and Stadia Maps at https://api.stadiamaps.com.",
        "question": "Can an agent call ArcGIS Location Platform and Stadia Maps without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 64 against 40"
        ],
        "also": null,
        "goodFor": "Organisations already on Esri software, and work that needs demographic enrichment, service areas or fleet routing beside geocoding.",
        "slug": "arcgis",
        "watchFor": "The agreement bars benchmarking availability, performance or functionality, and publishing benchmark results, without prior written permission from Esri and its licensors (sections 3.1.b.6 and 3.1.c.6.F)."
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 61"
        ],
        "also": [
          "Cheaper for geo geocode, $0.40 against $0.50 per 1,000 requests",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Cost-sensitive geocoding, routing and tiles on OpenStreetMap data, with traffic-influenced routing since April 2026.",
        "slug": "stadia-maps",
        "watchFor": "Free plan is for development, testing and demos only"
      }
    ],
    "job": {
      "capability": "geo.geocode",
      "name": "Geo geocode"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-arcgis.json",
        "title": "Amazon Location Service vs ArcGIS Location Platform",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-arcgis"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-stadia-maps.json",
        "title": "Amazon Location Service vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.json",
        "title": "ArcGIS Location Platform vs Azure Maps",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-azure-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-geoapify.json",
        "title": "ArcGIS Location Platform vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-geoapify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-google-maps-platform.json",
        "title": "ArcGIS Location Platform vs Google Maps Platform + Grounding Lite MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-google-maps-platform"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-locationiq.json",
        "title": "ArcGIS Location Platform vs LocationIQ",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-locationiq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-mapbox.json",
        "title": "ArcGIS Location Platform vs Mapbox APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-mapbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-mapquest.json",
        "title": "ArcGIS Location Platform vs MapQuest",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-mapquest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-opencage.json",
        "title": "ArcGIS Location Platform vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-tomtom.json",
        "title": "ArcGIS Location Platform vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps.json",
        "title": "Azure Maps vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.json",
        "title": "Geoapify Location Platform + MCP vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-maps-platform-vs-stadia-maps.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/locationiq-vs-stadia-maps.json",
        "title": "LocationIQ vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps.json",
        "title": "Mapbox APIs + MCP vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapquest-vs-stadia-maps.json",
        "title": "MapQuest vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencage-vs-stadia-maps.json",
        "title": "OpenCage Geocoding API vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/opencage-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom.json",
        "title": "Stadia Maps vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom"
      }
    ],
    "scores": [
      {
        "arcgis": 65,
        "by": 2,
        "edge": "arcgis",
        "key": "reliability",
        "name": "Reliability",
        "stadia-maps": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "arcgis": 61,
        "by": 25,
        "edge": "stadia-maps",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "stadia-maps": 86,
        "weight": 13
      },
      {
        "arcgis": 78,
        "by": 2,
        "edge": "stadia-maps",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "stadia-maps": 80,
        "weight": 13
      },
      {
        "arcgis": 64,
        "by": 24,
        "edge": "arcgis",
        "key": "security",
        "name": "Security \u0026 auth",
        "stadia-maps": 40,
        "weight": 14
      },
      {
        "arcgis": 40,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "stadia-maps": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "arcgis": 83,
        "by": 3,
        "edge": "arcgis",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "stadia-maps": 80,
        "weight": 7
      },
      {
        "arcgis": 72,
        "by": 4,
        "edge": "stadia-maps",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "stadia-maps": 76,
        "weight": 7
      }
    ],
    "summary": "ArcGIS Location Platform and Stadia Maps score within a point of each other on agent readiness, 65.4 (B) and 65.2 (B). Stadia Maps leads on schema \u0026 documentation. Both do geo geocode. Stadia Maps is cheaper for geo geocode, $0.40 against $0.50 per 1,000 requests.",
    "verdicts": {
      "arcgis": "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.",
      "stadia-maps": "Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs. Free plan is for development, testing and demos only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps",
    "json": "https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps.md",
    "slim": "https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps.min.md"
  },
  "markdown": "ArcGIS Location Platform and Stadia Maps score within a point of each other on agent readiness, 65.4 (B) and 65.2 (B). Stadia Maps leads on schema \u0026 documentation. Both do geo geocode. Stadia Maps is cheaper for geo geocode, $0.40 against $0.50 per 1,000 requests.\n\n- ArcGIS Location Platform: grade B, 65.4/100, rank #259 of 722. Markdown https://www.anchorterminal.com/tools/arcgis.md · JSON https://www.anchorterminal.com/api/v1/tools/arcgis.json\n- Stadia Maps: grade B, 65.2/100, rank #261 of 722. Markdown https://www.anchorterminal.com/tools/stadia-maps.md · JSON https://www.anchorterminal.com/api/v1/tools/stadia-maps.json\n\n## Which one, for what\n\n### ArcGIS Location Platform (B)\n\nGood for: Organisations already on Esri software, and work that needs demographic enrichment, service areas or fleet routing beside geocoding.\n\nAhead on:\n- Security \u0026 auth, 64 against 40\n\nWatch for: The agreement bars benchmarking availability, performance or functionality, and publishing benchmark results, without prior written permission from Esri and its licensors (sections 3.1.b.6 and 3.1.c.6.F).\n\n### Stadia Maps (B)\n\nGood for: Cost-sensitive geocoding, routing and tiles on OpenStreetMap data, with traffic-influenced routing since April 2026.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 61\n\nAlso in its favour:\n- Cheaper for geo geocode, $0.40 against $0.50 per 1,000 requests\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Free plan is for development, testing and demos only\n\n\n## Score by category\n\n| Category | Weight | ArcGIS Location Platform | Stadia Maps | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 63 | ArcGIS Location Platform +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 61 | 86 | Stadia Maps +25 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 80 | Stadia Maps +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 40 | ArcGIS Location Platform +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 80 | ArcGIS Location Platform +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 76 | Stadia Maps +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **65.4 · B** | **65.2 · B** | |\n\n## Facts side by side\n\n| Fact | ArcGIS Location Platform | Stadia Maps |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Esri | Stadia Maps |\n| Hosted endpoint | `https://geocode-api.arcgis.com` | `https://api.stadiamaps.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| Price for geo geocode | $0.50 per 1,000 requests | $0.40 per 1,000 requests |\n| x402 | no | no |\n| Licence | Proprietary service under the ArcGIS Location Platform Agreement. The ArcGIS REST JS client library is Apache-2.0 | BSD-3-Clause (MCP server) |\n| Tools exposed | 8 | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-29 | 2026-09-30 |\n| Terms last updated |  | 2026-03-18 |\n| Privacy policy last updated | 2026-07-31 | 2026-10-01 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 392 stars, 65k npm/wk, 33k PyPI/wk | 23 stars, 6.1k npm/wk, 192 PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\n\n**ArcGIS Location Platform.** 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.\n\n**Stadia Maps.** Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs. Free plan is for development, testing and demos only.\n\n## Before you call either\n\n### ArcGIS Location Platform\n\n1. 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.\n2. 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.\n3. Cap geocoding output with `maxLocations` (default and maximum 50) and `outFields`, because billing counts results returned and the default returns every field.\n4. 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.\n5. 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.\n\n### Stadia Maps\n\n1. Send the key as `Authorization: Stadia-Auth \u003ckey\u003e` rather than in the URL\n2. Try Autocomplete v2 (1 credit) before a full geocode (20 credits) when a name is enough\n3. Check the dashboard's credit balance before retrying a 429, since it may mean the month is spent\n4. Don't write geocodes to a database on Free or Starter\n5. Use bulk-geocode for addresses only, not POI names\n\n## Questions\n\n### Which is better for AI agents, ArcGIS Location Platform or Stadia Maps?\n\nArcGIS Location Platform and Stadia Maps score within a point of each other on agent readiness, 65.4 (B) and 65.2 (B). Stadia Maps leads on schema \u0026 documentation.\n\n### Which is cheaper for geo geocode, ArcGIS Location Platform or Stadia Maps?\n\nStadia Maps, at $0.40 per 1,000 requests against $0.50 per 1,000 requests for ArcGIS Location Platform. These are the vendors' published prices for the job.\n\n### Do ArcGIS Location Platform and Stadia Maps need an API key?\n\nArcGIS Location Platform takes an API key or an OAuth sign-in. Stadia Maps needs an API key.\n\n### Can an agent call ArcGIS Location Platform and Stadia Maps without installing anything?\n\nYes. ArcGIS Location Platform has a hosted endpoint at https://geocode-api.arcgis.com and Stadia Maps at https://api.stadiamaps.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps.json, and with the fewest tokens: https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"arcgis\", \"b\": \"stadia-maps\"}`. From a terminal: `anchor compare arcgis stadia-maps`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/arcgis.json and https://www.anchorterminal.com/api/v1/tools/stadia-maps.json\n\n## Other comparisons with ArcGIS Location Platform or Stadia Maps\n\n- [Amazon Location Service vs ArcGIS Location Platform](https://www.anchorterminal.com/compare/amazon-location-vs-arcgis.md)\n- [Amazon Location Service vs Stadia Maps](https://www.anchorterminal.com/compare/amazon-location-vs-stadia-maps.md)\n- [ArcGIS Location Platform vs Azure Maps](https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.md)\n- [ArcGIS Location Platform vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/arcgis-vs-geoapify.md)\n- [ArcGIS Location Platform vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/arcgis-vs-google-maps-platform.md)\n- [ArcGIS Location Platform vs LocationIQ](https://www.anchorterminal.com/compare/arcgis-vs-locationiq.md)\n- [ArcGIS Location Platform vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/arcgis-vs-mapbox.md)\n- [ArcGIS Location Platform vs MapQuest](https://www.anchorterminal.com/compare/arcgis-vs-mapquest.md)\n- [ArcGIS Location Platform vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/arcgis-vs-opencage.md)\n- [ArcGIS Location Platform vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/arcgis-vs-tomtom.md)\n- [Azure Maps vs Stadia Maps](https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps.md)\n- [Geoapify Location Platform + MCP vs Stadia Maps](https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.md)\n- [Google Maps Platform + Grounding Lite MCP vs Stadia Maps](https://www.anchorterminal.com/compare/google-maps-platform-vs-stadia-maps.md)\n- [LocationIQ vs Stadia Maps](https://www.anchorterminal.com/compare/locationiq-vs-stadia-maps.md)\n- [Mapbox APIs + MCP vs Stadia Maps](https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps.md)\n- [MapQuest vs Stadia Maps](https://www.anchorterminal.com/compare/mapquest-vs-stadia-maps.md)\n- [OpenCage Geocoding API vs Stadia Maps](https://www.anchorterminal.com/compare/opencage-vs-stadia-maps.md)\n- [Stadia Maps vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ArcGIS Location Platform vs Stadia Maps",
        "url": ""
      }
    ],
    "description": "ArcGIS Location Platform and Stadia Maps score within a point of each other on agent readiness, 65.4 (B) and 65.2 (B). Stadia Maps leads on schema \u0026 documentation. Both do geo geocode. Stadia Maps is cheaper for geo geocode, $0.40 against $0.50 per 1,000 requests. Category…",
    "facts": [
      "ArcGIS Location Platform B 65.4",
      "Stadia Maps B 65.2",
      "scores"
    ],
    "h1": "ArcGIS Location Platform vs Stadia Maps",
    "image": "https://www.anchorterminal.com/assets/og/compare-arcgis-vs-stadia-maps.png",
    "path": "/compare/arcgis-vs-stadia-maps",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ArcGIS Location Platform vs Stadia Maps for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/arcgis-vs-stadia-maps"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 730
  },
  "version": 1
}
