{
  "data": {
    "a": {
      "slug": "azure-maps",
      "name": "Azure Maps",
      "vendor": "Microsoft Azure",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/azure-maps",
      "kind": "http-api",
      "category": "maps",
      "summary": "Microsoft Azure's mapping service. Its REST APIs at `atlas.microsoft.com` cover geocoding, reverse geocoding, place search, routing with traffic, map tiles, time zones and weather, with access by subscription key, SAS token or Microsoft Entra ID.",
      "url": "https://www.anchorterminal.com/tools/azure-maps",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-maps.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-maps.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-maps.json",
      "repo": "https://github.com/Azure/azure-rest-api-specs",
      "license": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://atlas.microsoft.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-maps-search"
        },
        {
          "registry": "pypi",
          "name": "azure-maps-route"
        },
        {
          "registry": "npm",
          "name": "@azure-rest/maps-search"
        },
        {
          "registry": "npm",
          "name": "@azure-rest/maps-route"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A person creates an Azure subscription and an Azure Maps account in the portal, which issues a primary and a secondary subscription key. The key goes in the `subscription-key` header or as a URL parameter and reaches every REST API on the account. Microsoft Entra ID tokens (scope `https://atlas.microsoft.com/.default`, with the `x-ms-client-id` header) are authorised by Azure roles such as Azure Maps Data Reader or a custom role for one service. SAS tokens (`Authorization: jwt-sas`) last 24 hours at most and carry a rate cap and allowed regions. `disableLocalAuth` turns keys and SAS tokens off.",
      "pricing": "freemium",
      "pricingNotes": "$4.50 per 1,000 transactions on every Gen2 meter, after a free monthly amount of 5,000 transactions for Search, Geolocation, Timezone and base map tiles and 1,000 for Routing, Traffic, Weather, imagery tiles and static images (https://prices.azure.com/api/retail/prices, read 8 October 2026). Fifteen tiles count as one transaction, four route matrix cells as one, and ten autocomplete requests as one. The pricing page says discounts start at 100,000 transactions a month through sales. An Azure account needs a card for identity checks, so there is no card-free start. Gen1 pricing retired on 15 September 2026.",
      "priceSummary": "$4.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Azure Maps docs, the OpenAPI documents or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 9084,
        "pypiWeekly": 24564,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/rest/api/maps/",
      "openapi": "https://github.com/Azure/azure-rest-api-specs/blob/main/specification/maps/data-plane/Search/stable/2026-01-01/search.json",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles",
        "weather.current",
        "weather.forecast"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "freemium",
        "free-tier",
        "card-required",
        "openapi",
        "oauth",
        "python",
        "typescript",
        "dotnet",
        "java",
        "enterprise",
        "sla",
        "eu"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.9,
        "grade": "B",
        "agentReady": false,
        "rank": 196,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 67,
          "payments": 20,
          "reliability": 81,
          "schema": 83,
          "security": 66,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Azure Maps publishes OpenAPI documents for every service, per-service rate limits, a 99.9 per cent SLA and written rules on storing results, and Entra ID roles can limit a caller to one service. Place search exists only in Search 1.0, which the newer version has superseded, and the REST client libraries are all beta.",
        "bestFor": "Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.",
        "strengths": [
          "Public OpenAPI documents for Search, Route, Render, Traffic, Weather, Timezone and Geolocation in `Azure/azure-rest-api-specs`, with examples on every operation",
          "Three credential types. Entra ID with built-in and custom roles, SAS tokens with a 24-hour limit, a rate cap and allowed regions, and two rotatable keys",
          "Default rate limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing",
          "The product terms state storage rules in writing. Geocodes may be kept while the Azure account is active, other results for six months at most",
          "Responses with 5xx, 401, 403, 408 and 429 are not billed, and the October 2026 SLA commits to 99.9 per cent"
        ],
        "weaknesses": [
          "Place and category search exist only in Search 1.0. Search 2026-01-01, which supersedes it, has geocoding, autocomplete, reverse geocoding and polygons",
          "Every REST client library is a beta. `azure-maps-search` on PyPI was last released on 12 December 2024",
          "The authentication guide tells callers to put the subscription key in the URL, and the key reaches every REST API on the account",
          "An Azure account needs a card and a browser signup before the free monthly transactions apply",
          "No Retry-After header or backoff guidance for 429 was found in the reviewed documentation, and no API changelog page"
        ],
        "agentNotes": [
          "Send the key in the `subscription-key` header, or use `Authorization: Bearer` with `x-ms-client-id`. The key also works as a URL parameter, which leaks into logs.",
          "Call `GET /geocode?api-version=2026-01-01` for addresses. It can return 200 with no results, so check `confidence`, `matchCodes` and the entity type before use.",
          "Use Search 1.0 (`/search/poi/json`, `/search/nearby/json`, `/search/fuzzy/json`) for places. The 2026-01-01 version has no place search.",
          "Use `eu.atlas.microsoft.com` or `us.atlas.microsoft.com` to keep request data in that geography.",
          "Don't store route or tile results beyond six months, and never for serving several users. The product terms allow keeping geocodes while the account is active."
        ],
        "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": 67.9
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 67,
          "payments": 20,
          "reliability": 81,
          "schema": 83,
          "security": 66,
          "transparency": 69
        },
        "provenanceScore": 78
      },
      "connect": {
        "install": "pip install azure-maps-search   # or: npm i @azure-rest/maps-search",
        "http": "curl \"https://atlas.microsoft.com/geocode?api-version=2026-01-01\u0026query=15127%20NE%2024th%20Street%2C%20Redmond%2C%20WA\" \\\n  -H \"subscription-key: $AZURE_MAPS_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/azure-maps"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Search (geocoding, reverse geocoding, places)",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "5,000 free a month. Ten autocomplete requests count as one"
        },
        {
          "item": "Routing",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month. Four matrix cells count as one"
        },
        {
          "item": "Base map tiles",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "5,000 free a month. One transaction is 15 tiles"
        },
        {
          "item": "Traffic",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month"
        },
        {
          "item": "Weather",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month"
        },
        {
          "item": "Static map images",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The API answers at atlas.microsoft.com, with eu.atlas.microsoft.com and us.atlas.microsoft.com for a chosen geography. Docs are on learn.microsoft.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA",
        "privacy": "https://www.microsoft.com/en-us/privacy/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The Product Terms page for Microsoft Azure carries the Azure Maps service-specific terms (navigation, database, caching and storage, attribution, print and broadcast rules) and points to the Data Protection Addendum and the SLA. Our reader saw no effective date on the page.",
          "The privacy statement (last updated September 2026) names Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052, and Microsoft Ireland Operations Limited in Dublin. It lists Microsoft Azure among the enterprise online services and says the customer's agreement controls where the two conflict.",
          "No changelog for the REST APIs was found in the Azure Maps docs. The release notes there cover the Web SDK map control, drawing tools and spatial module only, and the docs link to the general Azure updates page.",
          "https://www.microsoft.com/.well-known/security.txt shows Expires 2026-09-23T16:00:00.000Z. It points to the MSRC researcher portal, the bounty policy and the coordinated disclosure policy.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02.",
          "The Azure status page is shared by all Azure services and its history lists only broad incidents."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-maps.json",
      "live": {
        "slug": "azure-maps",
        "probe": {
          "target": "https://atlas.microsoft.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:04.826843978Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 552,
          "authRequired": false,
          "uptime24h": 85.71,
          "uptime30d": 85.71,
          "p50ms24h": 391,
          "p95ms24h": 825,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 18
            }
          ]
        },
        "updatedAt": "2026-10-08T21:12:04.826843978Z"
      }
    },
    "answer": "Azure Maps scores 67.9 (B) on agent readiness against TomTom Maps APIs + MCP's 54.9 (C), and leads in 4 of 7 scored categories. TomTom Maps APIs + MCP leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "tomtom",
      "name": "TomTom Maps APIs + MCP",
      "vendor": "TomTom",
      "vendorUrl": "https://developer.tomtom.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Search, Geocoding and Reverse Geocoding, Routing, Matrix Routing, Reachable Range, EV routing and live traffic, plus map tiles.",
      "url": "https://www.anchorterminal.com/tools/tomtom",
      "markdownUrl": "https://www.anchorterminal.com/tools/tomtom.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tomtom.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tomtom.json",
      "repo": "https://github.com/tomtom-international/tomtom-mcp",
      "license": "Apache-2.0 (MCP server)",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.tomtom.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@tomtom-org/tomtom-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key, passed as the key query parameter on REST calls. The hosted MCP takes it in a tomtom-api-key header and defaults to the Orbis backend. The local server defaults to the older TomTom Maps backend unless MAPS=tomtom-orbis-maps is set. Unreleased changes merged on 30 September 2026 drop the older backend, the tomtom-maps-backend header and the MAPS variable.",
      "pricing": "freemium",
      "pricingNotes": "Free monthly allowance with no card. 2,500 Search, 20,000 Geocoding, 20,000 Routing, 2,500 Matrix Routing, 200,000 vector and 200,000 raster tiles and 20,000 non-tile map requests. Past that it's pay as you grow in euros at volume tiers, worked out by an estimator on the pricing page. The per-request rates sit behind per-API detail links we couldn't read, so no rate is quoted here (https://docs.tomtom.com/pricing).",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 15,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": 996,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.tomtom.com",
      "llmsTxt": "https://docs.tomtom.com/llms.txt",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "official",
        "typescript",
        "free-tier",
        "no-card",
        "enterprise",
        "eu",
        "closed-source"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.9,
        "grade": "C",
        "agentReady": false,
        "rank": 524,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 86,
          "payments": 25,
          "reliability": 30,
          "schema": 71,
          "security": 51,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month. Terms, rate limits and deprecation policy render client-side, so storage rules and notice periods are unverified.",
        "bestFor": "Drive planning with live traffic, EV charging and reachable range.",
        "strengths": [
          "No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month",
          "Live traffic, EV routing and search, reachable range and search along a route as MCP tools",
          "All 18 MCP tools annotated read-only, idempotent and non-destructive",
          "Five MCP releases between 14 July and 23 September 2026, with Veracode scanning and end-to-end tests in CI",
          "HackerOne disclosure programme with a 3 business day first response"
        ],
        "weaknesses": [
          "Terms, rate limits and deprecation policy render client-side, so storage rules and notice periods are unverified",
          "Status page keeps only five days of history",
          "Paid prices only through a euro estimator",
          "Hosted MCP in public preview and missing from the MCP registry",
          "Only 2,500 free Search and Matrix calls a month"
        ],
        "agentNotes": [
          "Use tomtom-geocode (20,000 free) rather than tomtom-fuzzy-search (2,500 free) when you have a full address",
          "Don't send tomtom-maps-backend in new configs, since the next release stops reading it and Orbis is already the hosted default",
          "Read a 403 'missing permissions' as the key lacking Orbis or EV products, and enable them in the developer portal",
          "Pass show_ui false when the client can't render MCP Apps, or you'll get a JSON summary instead of a map",
          "Redact the key parameter before logging REST URLs"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.9
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 86,
          "payments": 25,
          "reliability": 30,
          "schema": 71,
          "security": 51,
          "transparency": 41
        },
        "provenanceScore": 74
      },
      "connect": {
        "http": "curl \"https://api.tomtom.com/search/2/geocode/10%20Downing%20Street%2C%20London.json?limit=1\u0026key=$TOMTOM_API_KEY\"",
        "claudeCode": "claude mcp add --transport http tomtom https://mcp.tomtom.com/maps --header \"tomtom-api-key: $TOMTOM_API_KEY\"",
        "config": {
          "mcpServers": {
            "tomtom": {
              "args": [
                "-y",
                "@tomtom-org/tomtom-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "TOMTOM_API_KEY": "${TOMTOM_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/tomtom"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "TomTom International BV",
        "domain": "tomtom.com",
        "domainRegistered": "1996-02-23",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.tomtom.com/legal/terms-and-conditions",
        "privacy": "https://www.tomtom.com/privacy/",
        "statusPage": "https://tomtom.service-now.com/status",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-02",
        "notes": [
          "The privacy policy names TomTom International BV and was last edited 1 August 2024. Subprocessors and storage locations are on https://www.tomtom.com/en-gb/privacy/more-information/.",
          "The terms page renders client-side and returned no readable text to our fetcher on 30 September, 1 October or 2 October, and developer.tomtom.com/legal redirects to it, so storage and caching rules are unverified.",
          "www.tomtom.com/.well-known/security.txt returns 404. Vulnerabilities go to TomTom's HackerOne programme, per the security policy in the tomtom-international GitHub organisation.",
          "The status page shows current status per API and only the last five days of history.",
          "A deprecation policy page is linked from docs.tomtom.com/llms.txt but renders client-side, and its .md twin returns 404."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tomtom.json",
      "live": {
        "slug": "tomtom",
        "probe": {
          "target": "https://api.tomtom.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:23.763083861Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 141,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 174,
          "p95ms24h": 402,
          "samples24h": 271,
          "samples30d": 1955,
          "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": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://tomtom.service-now.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:16.776326806Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "tomtom-international/tomtom-mcp",
            "version": "v1.6.11",
            "released": "2026-10-05",
            "seenAt": "2026-10-08T16:32:33.085009115Z"
          },
          {
            "registry": "npm",
            "name": "@tomtom-org/tomtom-mcp",
            "version": "1.6.11",
            "seenAt": "2026-10-08T16:32:32.173474546Z"
          }
        ],
        "githubStars": 56,
        "npmWeekly": 633,
        "securityTxt": {
          "url": "https://tomtom.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:02.112536049Z"
        },
        "llmsTxt": {
          "url": "https://docs.tomtom.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:56.781511967Z"
        },
        "domain": {
          "domain": "tomtom.com",
          "registered": "1996-02-23",
          "source": "https://rdap.verisign.com/com/v1/domain/tomtom.com",
          "checkedAt": "2026-10-04T13:05:44.956685546Z"
        },
        "pages": [
          {
            "url": "https://docs.tomtom.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:40.589393441Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9f426a4be50f"
          },
          {
            "url": "https://www.tomtom.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:01.446679763Z",
            "changedAt": "2026-10-08T18:31:01.446679763Z",
            "fingerprint": "b77d548785dc"
          },
          {
            "url": "https://docs.tomtom.com/legal/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:38.500477859Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "68f5b7cd1e5c"
          }
        ],
        "updatedAt": "2026-10-08T21:12:23.763083861Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft Azure",
        "b": "TomTom",
        "name": "Vendor"
      },
      {
        "a": "https://atlas.microsoft.com",
        "b": "https://api.tomtom.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$4.50 per 1,000 requests",
        "b": "not published",
        "name": "Price for geo geocode"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
        "b": "Apache-2.0 (MCP server)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "15",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-09-23",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.1k npm/wk, 25k PyPI/wk",
        "b": "55 stars, 996 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure Maps scores 67.9 (B) on agent readiness against TomTom Maps APIs + MCP's 54.9 (C), and leads in 4 of 7 scored categories. TomTom Maps APIs + MCP leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Azure Maps or TomTom Maps APIs + MCP?"
      },
      {
        "answer": "Azure Maps takes an API key or an OAuth sign-in. TomTom Maps APIs + MCP needs an API key.",
        "question": "Do Azure Maps and TomTom Maps APIs + MCP need an API key?"
      },
      {
        "answer": "Yes. Azure Maps has a hosted endpoint at https://atlas.microsoft.com and TomTom Maps APIs + MCP at https://api.tomtom.com.",
        "question": "Can an agent call Azure Maps and TomTom Maps APIs + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 30",
          "Schema \u0026 documentation, 83 against 71",
          "Security \u0026 auth, 66 against 51",
          "Transparency \u0026 trust, 74 against 58"
        ],
        "also": null,
        "goodFor": "Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.",
        "slug": "azure-maps",
        "watchFor": "Place and category search exist only in Search 1.0. Search 2026-01-01, which supersedes it, has geocoding, autocomplete, reverse geocoding and polygons"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 78 against 73",
          "Payments \u0026 pricing, 25 against 20",
          "Maintenance \u0026 community, 86 against 67"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Drive planning with live traffic, EV charging and reachable range.",
        "slug": "tomtom",
        "watchFor": "Terms, rate limits and deprecation policy render client-side, so storage rules and notice periods are unverified"
      }
    ],
    "job": {
      "capability": "geo.geocode",
      "name": "Geo geocode"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps.json",
        "title": "Amazon Location Service vs Azure Maps",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-tomtom.json",
        "title": "Amazon Location Service vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-tomtom"
      },
      {
        "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-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-geoapify.json",
        "title": "Azure Maps vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform.json",
        "title": "Azure Maps vs Google Maps Platform + Grounding Lite MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-locationiq.json",
        "title": "Azure Maps vs LocationIQ",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-locationiq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-mapbox.json",
        "title": "Azure Maps vs Mapbox APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-mapbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-mapquest.json",
        "title": "Azure Maps vs MapQuest",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-mapquest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-opencage.json",
        "title": "Azure Maps vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-opencage"
      },
      {
        "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-tomtom.json",
        "title": "Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-maps-platform-vs-tomtom.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/locationiq-vs-tomtom.json",
        "title": "LocationIQ vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapbox-vs-tomtom.json",
        "title": "Mapbox APIs + MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapquest-vs-tomtom.json",
        "title": "MapQuest vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencage-vs-tomtom.json",
        "title": "OpenCage Geocoding API vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/opencage-vs-tomtom"
      },
      {
        "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": [
      {
        "azure-maps": 81,
        "by": 51,
        "edge": "azure-maps",
        "key": "reliability",
        "name": "Reliability",
        "tomtom": 30,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-maps": 83,
        "by": 12,
        "edge": "azure-maps",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tomtom": 71,
        "weight": 13
      },
      {
        "azure-maps": 73,
        "by": 5,
        "edge": "tomtom",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tomtom": 78,
        "weight": 13
      },
      {
        "azure-maps": 66,
        "by": 15,
        "edge": "azure-maps",
        "key": "security",
        "name": "Security \u0026 auth",
        "tomtom": 51,
        "weight": 14
      },
      {
        "azure-maps": 20,
        "by": 5,
        "edge": "tomtom",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tomtom": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-maps": 67,
        "by": 19,
        "edge": "tomtom",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tomtom": 86,
        "weight": 7
      },
      {
        "azure-maps": 74,
        "by": 16,
        "edge": "azure-maps",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tomtom": 58,
        "weight": 7
      }
    ],
    "summary": "Azure Maps scores 67.9 (B) on agent readiness against TomTom Maps APIs + MCP's 54.9 (C), and leads in 4 of 7 scored categories. TomTom Maps APIs + MCP leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do geo geocode.",
    "verdicts": {
      "azure-maps": "Azure Maps publishes OpenAPI documents for every service, per-service rate limits, a 99.9 per cent SLA and written rules on storing results, and Entra ID roles can limit a caller to one service. Place search exists only in Search 1.0, which the newer version has superseded, and the REST client libraries are all beta.",
      "tomtom": "No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month. Terms, rate limits and deprecation policy render client-side, so storage rules and notice periods are unverified."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom",
    "json": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.md",
    "slim": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.min.md"
  },
  "markdown": "Azure Maps scores 67.9 (B) on agent readiness against TomTom Maps APIs + MCP's 54.9 (C), and leads in 4 of 7 scored categories. TomTom Maps APIs + MCP leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do geo geocode.\n\n- Azure Maps: grade B, 67.9/100, rank #196 of 722. Markdown https://www.anchorterminal.com/tools/azure-maps.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-maps.json\n- TomTom Maps APIs + MCP: grade C, 54.9/100, rank #524 of 722. Markdown https://www.anchorterminal.com/tools/tomtom.md · JSON https://www.anchorterminal.com/api/v1/tools/tomtom.json\n\n## Which one, for what\n\n### Azure Maps (B)\n\nGood for: Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.\n\nAhead on:\n- Reliability, 81 against 30\n- Schema \u0026 documentation, 83 against 71\n- Security \u0026 auth, 66 against 51\n- Transparency \u0026 trust, 74 against 58\n\nWatch for: Place and category search exist only in Search 1.0. Search 2026-01-01, which supersedes it, has geocoding, autocomplete, reverse geocoding and polygons\n\n### TomTom Maps APIs + MCP (C)\n\nGood for: Drive planning with live traffic, EV charging and reachable range.\n\nAhead on:\n- Agent ergonomics, 78 against 73\n- Payments \u0026 pricing, 25 against 20\n- Maintenance \u0026 community, 86 against 67\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Terms, rate limits and deprecation policy render client-side, so storage rules and notice periods are unverified\n\n\n## Score by category\n\n| Category | Weight | Azure Maps | TomTom Maps APIs + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 30 | Azure Maps +51 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 71 | Azure Maps +12 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 78 | TomTom Maps APIs + MCP +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 51 | Azure Maps +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 25 | TomTom Maps APIs + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 67 | 86 | TomTom Maps APIs + MCP +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 58 | Azure Maps +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.9 · B** | **54.9 · C** | |\n\n## Facts side by side\n\n| Fact | Azure Maps | TomTom Maps APIs + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft Azure | TomTom |\n| Hosted endpoint | `https://atlas.microsoft.com` | `https://api.tomtom.com` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| Price for geo geocode | $4.50 per 1,000 requests | not published |\n| x402 | no | no |\n| Licence | Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT | Apache-2.0 (MCP server) |\n| Tools exposed | none | 15 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-09-30 | 2026-09-23 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2026-09-01 | couldn't be read |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 9.1k npm/wk, 25k PyPI/wk | 55 stars, 996 npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**Azure Maps.** Azure Maps publishes OpenAPI documents for every service, per-service rate limits, a 99.9 per cent SLA and written rules on storing results, and Entra ID roles can limit a caller to one service. Place search exists only in Search 1.0, which the newer version has superseded, and the REST client libraries are all beta.\n\n**TomTom Maps APIs + MCP.** No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month. Terms, rate limits and deprecation policy render client-side, so storage rules and notice periods are unverified.\n\n## Before you call either\n\n### Azure Maps\n\n1. Send the key in the `subscription-key` header, or use `Authorization: Bearer` with `x-ms-client-id`. The key also works as a URL parameter, which leaks into logs.\n2. Call `GET /geocode?api-version=2026-01-01` for addresses. It can return 200 with no results, so check `confidence`, `matchCodes` and the entity type before use.\n3. Use Search 1.0 (`/search/poi/json`, `/search/nearby/json`, `/search/fuzzy/json`) for places. The 2026-01-01 version has no place search.\n4. Use `eu.atlas.microsoft.com` or `us.atlas.microsoft.com` to keep request data in that geography.\n5. Don't store route or tile results beyond six months, and never for serving several users. The product terms allow keeping geocodes while the account is active.\n\n### TomTom Maps APIs + MCP\n\n1. Use tomtom-geocode (20,000 free) rather than tomtom-fuzzy-search (2,500 free) when you have a full address\n2. Don't send tomtom-maps-backend in new configs, since the next release stops reading it and Orbis is already the hosted default\n3. Read a 403 'missing permissions' as the key lacking Orbis or EV products, and enable them in the developer portal\n4. Pass show_ui false when the client can't render MCP Apps, or you'll get a JSON summary instead of a map\n5. Redact the key parameter before logging REST URLs\n\n## Questions\n\n### Which is better for AI agents, Azure Maps or TomTom Maps APIs + MCP?\n\nAzure Maps scores 67.9 (B) on agent readiness against TomTom Maps APIs + MCP's 54.9 (C), and leads in 4 of 7 scored categories. TomTom Maps APIs + MCP leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Azure Maps and TomTom Maps APIs + MCP need an API key?\n\nAzure Maps takes an API key or an OAuth sign-in. TomTom Maps APIs + MCP needs an API key.\n\n### Can an agent call Azure Maps and TomTom Maps APIs + MCP without installing anything?\n\nYes. Azure Maps has a hosted endpoint at https://atlas.microsoft.com and TomTom Maps APIs + MCP at https://api.tomtom.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-maps\", \"b\": \"tomtom\"}`. From a terminal: `anchor compare azure-maps tomtom`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-maps.json and https://www.anchorterminal.com/api/v1/tools/tomtom.json\n\n## Other comparisons with Azure Maps or TomTom Maps APIs + MCP\n\n- [Amazon Location Service vs Azure Maps](https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps.md)\n- [Amazon Location Service vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/amazon-location-vs-tomtom.md)\n- [ArcGIS Location Platform vs Azure Maps](https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.md)\n- [ArcGIS Location Platform vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/arcgis-vs-tomtom.md)\n- [Azure Maps vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.md)\n- [Azure Maps vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform.md)\n- [Azure Maps vs LocationIQ](https://www.anchorterminal.com/compare/azure-maps-vs-locationiq.md)\n- [Azure Maps vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-mapbox.md)\n- [Azure Maps vs MapQuest](https://www.anchorterminal.com/compare/azure-maps-vs-mapquest.md)\n- [Azure Maps vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/azure-maps-vs-opencage.md)\n- [Azure Maps vs Stadia Maps](https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps.md)\n- [Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-tomtom.md)\n- [Google Maps Platform + Grounding Lite MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/google-maps-platform-vs-tomtom.md)\n- [LocationIQ vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/locationiq-vs-tomtom.md)\n- [Mapbox APIs + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/mapbox-vs-tomtom.md)\n- [MapQuest vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/mapquest-vs-tomtom.md)\n- [OpenCage Geocoding API vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/opencage-vs-tomtom.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": "Azure Maps vs TomTom Maps APIs + MCP",
        "url": ""
      }
    ],
    "description": "Azure Maps scores 67.9 (B) on agent readiness against TomTom Maps APIs + MCP's 54.9 (C), and leads in 4 of 7 scored categories. TomTom Maps APIs + MCP leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do geo geocode. Category scores, facts, verdicts…",
    "facts": [
      "Azure Maps B 67.9",
      "TomTom Maps APIs + MCP C 54.9",
      "scores"
    ],
    "h1": "Azure Maps vs TomTom Maps APIs + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-maps-vs-tomtom.png",
    "path": "/compare/azure-maps-vs-tomtom",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Maps vs TomTom Maps APIs + MCP for AI agents, B 67.9 vs C 54.9",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 780
  },
  "version": 1
}
