{
  "data": {
    "similar": [
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/mapbox.json",
        "name": "Mapbox APIs + MCP",
        "score": 75,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.routing",
          "geo.tiles"
        ],
        "slug": "mapbox"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/amazon-location.json",
        "name": "Amazon Location Service",
        "score": 74.1,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.routing",
          "geo.tiles"
        ],
        "slug": "amazon-location"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/google-maps-platform.json",
        "name": "Google Maps Platform + Grounding Lite MCP",
        "score": 68.2,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.routing",
          "geo.tiles"
        ],
        "slug": "google-maps-platform"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/arcgis.json",
        "name": "ArcGIS Location Platform",
        "score": 65.4,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.routing",
          "geo.tiles"
        ],
        "slug": "arcgis"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/stadia-maps.json",
        "name": "Stadia Maps",
        "score": 65.2,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.routing",
          "geo.tiles"
        ],
        "slug": "stadia-maps"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/locationiq.json",
        "name": "LocationIQ",
        "score": 60.3,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.routing",
          "geo.tiles"
        ],
        "slug": "locationiq"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 81,
            "points": 16.2,
            "reason": "Hosted reading. Azure status page with a history of post-incident reviews (20). The history lists three incidents in the last 90 days, West US network connectivity on 23 July 2026 (14:44 to 19:41 UTC), Azure OpenAI and Cognitive Services in Sweden Central on 29 September, and gateway services in several regions on 30 September. None names Azure Maps. The page lists only broad incidents, so there is no service-level history for Maps, and we count the record as minor (20 of 30). Default limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing (15). The service answers 429 over the limit and doesn't bill 429, 408 or 5xx responses, and data-plane calls are reads, so a retry is safe. No Retry-After header or backoff guidance was found in the reviewed documentation (6 of 15). The SLA for Online Services of 1 October 2026 commits to 99.9 per cent per API, with 10 and 25 per cent credits (10). Search 2026-01-01 and Route 2025-01-01 are stable versions. The REST index still labels autocomplete a preview (10)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 83,
            "points": 13.49,
            "reason": "OpenAPI 2.0 documents for each service are public in `Azure/azure-rest-api-specs`, generated from TypeSpec since April 2026 (25). learn.microsoft.com returns each page as Markdown when `?accept=text/markdown` is added, though `llms.txt` returns 404 (10). Operation descriptions state purpose, and the geocoding and migration pages say when to use geocoding, autocomplete or batch and when not to (16 of 20). Typed parameters with ranges such as `top` from 1 to 20, 18 enums in the Search document and 48 in Route, and required fields marked (13 of 15). Examples on all 16 Search and Route operations, but errors are one default response with an `x-ms-error-code` header and no list of codes found (10 of 15). Dated `api-version` values and migration guides for Search, Route, Render and Traffic 1.0, but no API changelog page. The release notes cover the Web SDK only (9 of 15)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 73,
            "points": 11.86,
            "reason": "API reading of the checklist. Geocoding returns five results by default and `top` caps them at 20, but there is no field selection and each response is a full GeoJSON collection (18 of 25). `bbox`, `countryRegion`, `coordinates` and `resultTypes` filters, and Search 1.0 adds `limit`, `ofs`, `categorySet` and `brandSet` (17 of 20). Errors follow the Azure shape with `code`, `message`, `target` and `details`, and batch responses carry an error per item. No list of codes was found (13 of 20). Every data-plane call is a read, route POSTs have no side effects, and failed calls are not billed. No retry guidance for 429 was found (15 of 20). Geocoding needs only `api-version` and a query. Client libraries exist for Python, JavaScript, .NET and Java, all beta (10 of 15)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 66,
            "points": 11.55,
            "reason": "Microsoft Entra ID OAuth tokens with Azure roles, SAS tokens limited to 24 hours with a rate cap and allowed regions, and two subscription keys that can be regenerated in turn (30). Less 10 because the authentication guide tells callers to add the subscription key as a URL parameter, and Search 1.0 declares the key as a query parameter (20). Built-in reader roles, custom roles down to one service such as `Microsoft.Maps/accounts/services/search/read`, and `disableLocalAuth` to turn keys off. The data-plane APIs only read. A subscription key reaches every API on the account (18 of 20). Place names, addresses and traffic incident text come from third parties, and no prompt-injection guidance was found (5 of 15). Azure Monitor metrics show usage, errors and availability for 93 days. Per-request logs were not found in the Azure Maps docs (6 of 15). MSRC coordinated disclosure and bounty policies, and Azure Maps is on the FedRAMP High audit scope list dated 21 September 2026. The microsoft.com security.txt passed its Expires date on 23 September 2026, and we did not confirm Maps on a SOC 2 scope list (17 of 20)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 20,
            "points": 2.5,
            "reason": "No x402, MPP or L402 (0). Per-1,000-transaction prices are public without a login through the Azure Retail Prices API, $4.50 on each Gen2 meter. The pricing page showed our reader the free amounts but no dollar figures (20). Free monthly transactions exist, 5,000 for search and 1,000 for routing, but an Azure account asks for a card to verify identity (0). A person signs up in a browser and creates the Maps account (0)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 67,
            "points": 5.86,
            "reason": "Read as a closed service with official SDKs. The spec repository's newest Maps commits are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types (30). Seven dated Maps commits since 28 July 2026, plus the Gen1 pricing retirement on 15 September. Most are description changes and retirements, not new operations (20). No API changelog. Microsoft Q\u0026A and a feedback forum are linked from each docs page, which we did not read (8 of 15). The REST client libraries are all beta and lag the service, `azure-maps-search` 2.0.0b2 on PyPI from 12 December 2024 and `@azure-rest/maps-search` 2.0.0-beta.4 on npm from 22 August 2025, with npm's `latest` tag still on beta.3 (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 74,
            "points": 6.48,
            "note": "editorial 69, provenance 78",
            "reason": "Closed service under Microsoft's Product Terms, which carry a section of Azure Maps rules on storage, navigation and attribution, with MIT client libraries (15 of 30). The docs say requests and input data are stored only in the chosen geography and that queries go to TomTom without a link to the customer. No retention period for request data was found, and we did not read the Data Protection Addendum (22 of 30). The Modern Lifecycle Policy promises 12 months' notice before support ends. Gen1 pricing and Render 1.0 retired on stated dates in September 2026, while Search 1.0 is superseded with no date (16 of 20). TomTom is named as a subprocessor, and European and United States endpoints fix the data location. The full sub-processor list sits on the Service Trust Portal, which we did not read (16 of 20)."
          }
        ],
        "assessment": {
          "date": "2026-10-08",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "API reading of the checklist. Geocoding returns five results by default and `top` caps them at 20, but there is no field selection and each response is a full GeoJSON collection (18 of 25). `bbox`, `countryRegion`, `coordinates` and `resultTypes` filters, and Search 1.0 adds `limit`, `ofs`, `categorySet` and `brandSet` (17 of 20). Errors follow the Azure shape with `code`, `message`, `target` and `details`, and batch responses carry an error per item. No list of codes was found (13 of 20). Every data-plane call is a read, route POSTs have no side effects, and failed calls are not billed. No retry guidance for 429 was found (15 of 20). Geocoding needs only `api-version` and a query. Client libraries exist for Python, JavaScript, .NET and Java, all beta (10 of 15).",
            "maintenance": "Read as a closed service with official SDKs. The spec repository's newest Maps commits are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types (30). Seven dated Maps commits since 28 July 2026, plus the Gen1 pricing retirement on 15 September. Most are description changes and retirements, not new operations (20). No API changelog. Microsoft Q\u0026A and a feedback forum are linked from each docs page, which we did not read (8 of 15). The REST client libraries are all beta and lag the service, `azure-maps-search` 2.0.0b2 on PyPI from 12 December 2024 and `@azure-rest/maps-search` 2.0.0-beta.4 on npm from 22 August 2025, with npm's `latest` tag still on beta.3 (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10).",
            "payments": "No x402, MPP or L402 (0). Per-1,000-transaction prices are public without a login through the Azure Retail Prices API, $4.50 on each Gen2 meter. The pricing page showed our reader the free amounts but no dollar figures (20). Free monthly transactions exist, 5,000 for search and 1,000 for routing, but an Azure account asks for a card to verify identity (0). A person signs up in a browser and creates the Maps account (0).",
            "reliability": "Hosted reading. Azure status page with a history of post-incident reviews (20). The history lists three incidents in the last 90 days, West US network connectivity on 23 July 2026 (14:44 to 19:41 UTC), Azure OpenAI and Cognitive Services in Sweden Central on 29 September, and gateway services in several regions on 30 September. None names Azure Maps. The page lists only broad incidents, so there is no service-level history for Maps, and we count the record as minor (20 of 30). Default limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing (15). The service answers 429 over the limit and doesn't bill 429, 408 or 5xx responses, and data-plane calls are reads, so a retry is safe. No Retry-After header or backoff guidance was found in the reviewed documentation (6 of 15). The SLA for Online Services of 1 October 2026 commits to 99.9 per cent per API, with 10 and 25 per cent credits (10). Search 2026-01-01 and Route 2025-01-01 are stable versions. The REST index still labels autocomplete a preview (10).",
            "schema": "OpenAPI 2.0 documents for each service are public in `Azure/azure-rest-api-specs`, generated from TypeSpec since April 2026 (25). learn.microsoft.com returns each page as Markdown when `?accept=text/markdown` is added, though `llms.txt` returns 404 (10). Operation descriptions state purpose, and the geocoding and migration pages say when to use geocoding, autocomplete or batch and when not to (16 of 20). Typed parameters with ranges such as `top` from 1 to 20, 18 enums in the Search document and 48 in Route, and required fields marked (13 of 15). Examples on all 16 Search and Route operations, but errors are one default response with an `x-ms-error-code` header and no list of codes found (10 of 15). Dated `api-version` values and migration guides for Search, Route, Render and Traffic 1.0, but no API changelog page. The release notes cover the Web SDK only (9 of 15).",
            "security": "Microsoft Entra ID OAuth tokens with Azure roles, SAS tokens limited to 24 hours with a rate cap and allowed regions, and two subscription keys that can be regenerated in turn (30). Less 10 because the authentication guide tells callers to add the subscription key as a URL parameter, and Search 1.0 declares the key as a query parameter (20). Built-in reader roles, custom roles down to one service such as `Microsoft.Maps/accounts/services/search/read`, and `disableLocalAuth` to turn keys off. The data-plane APIs only read. A subscription key reaches every API on the account (18 of 20). Place names, addresses and traffic incident text come from third parties, and no prompt-injection guidance was found (5 of 15). Azure Monitor metrics show usage, errors and availability for 93 days. Per-request logs were not found in the Azure Maps docs (6 of 15). MSRC coordinated disclosure and bounty policies, and Azure Maps is on the FedRAMP High audit scope list dated 21 September 2026. The microsoft.com security.txt passed its Expires date on 23 September 2026, and we did not confirm Maps on a SOC 2 scope list (17 of 20).",
            "transparency": "Closed service under Microsoft's Product Terms, which carry a section of Azure Maps rules on storage, navigation and attribution, with MIT client libraries (15 of 30). The docs say requests and input data are stored only in the chosen geography and that queries go to TomTom without a link to the customer. No retention period for request data was found, and we did not read the Data Protection Addendum (22 of 30). The Modern Lifecycle Policy promises 12 months' notice before support ends. Gen1 pricing and Render 1.0 retired on stated dates in September 2026, while Search 1.0 is superseded with no date (16 of 20). TomTom is named as a subprocessor, and European and United States endpoints fix the data location. The full sub-processor list sits on the Service Trust Portal, which we did not read (16 of 20)."
          },
          "sources": [
            {
              "what": "REST API index and services",
              "url": "https://learn.microsoft.com/en-us/rest/api/maps/",
              "seen": "2026-10-08"
            },
            {
              "what": "Search 2026-01-01 operations and geocoding reference",
              "url": "https://learn.microsoft.com/en-us/rest/api/maps/search/get-geocoding",
              "seen": "2026-10-08"
            },
            {
              "what": "Search 1.0 operations (place search)",
              "url": "https://learn.microsoft.com/en-us/rest/api/maps/search?view=rest-maps-1.0",
              "seen": "2026-10-08"
            },
            {
              "what": "Route 2025-01-01 operations",
              "url": "https://learn.microsoft.com/en-us/rest/api/maps/route",
              "seen": "2026-10-08"
            },
            {
              "what": "authentication (keys, Entra ID, SAS, roles)",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-authentication",
              "seen": "2026-10-08"
            },
            {
              "what": "key rotation",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-authentication",
              "seen": "2026-10-08"
            },
            {
              "what": "rate limits",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-qps-rate-limits",
              "seen": "2026-10-08"
            },
            {
              "what": "transactions and billing rules",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/understanding-azure-maps-transactions",
              "seen": "2026-10-08"
            },
            {
              "what": "retail prices for Azure Maps meters",
              "url": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20%27Azure%20Maps%27%20and%20armRegionName%20eq%20%27Global%27",
              "seen": "2026-10-08"
            },
            {
              "what": "pricing page (free amounts)",
              "url": "https://azure.microsoft.com/en-us/pricing/details/azure-maps/",
              "seen": "2026-10-08"
            },
            {
              "what": "Gen1 pricing retirement",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-pricing-tier",
              "seen": "2026-10-08"
            },
            {
              "what": "Search 1.0 migration guide",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/migrate-search-v1-api",
              "seen": "2026-10-08"
            },
            {
              "what": "Render 1.0 retirement",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/migrate-render-v1-api",
              "seen": "2026-10-08"
            },
            {
              "what": "geographic scope and data location",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/geographic-scope",
              "seen": "2026-10-08"
            },
            {
              "what": "overview, TomTom data sharing",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/about-azure-maps",
              "seen": "2026-10-08"
            },
            {
              "what": "usage metrics",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/how-to-view-api-usage",
              "seen": "2026-10-08"
            },
            {
              "what": "REST SDK guide",
              "url": "https://learn.microsoft.com/en-us/azure/azure-maps/rest-sdk-developer-guide",
              "seen": "2026-10-08"
            },
            {
              "what": "OpenAPI documents and commit history (shallow clone)",
              "url": "https://github.com/Azure/azure-rest-api-specs/tree/main/specification/maps/data-plane",
              "seen": "2026-10-08"
            },
            {
              "what": "Azure status history",
              "url": "https://azure.status.microsoft/en-us/status/history/",
              "seen": "2026-10-08"
            },
            {
              "what": "SLA for Online Services, 1 October 2026",
              "url": "https://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services",
              "seen": "2026-10-08"
            },
            {
              "what": "Product Terms, Azure Maps section",
              "url": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA",
              "seen": "2026-10-08"
            },
            {
              "what": "privacy statement",
              "url": "https://www.microsoft.com/en-us/privacy/privacystatement",
              "seen": "2026-10-08"
            },
            {
              "what": "Azure free account card requirement",
              "url": "https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account",
              "seen": "2026-10-08"
            },
            {
              "what": "Modern Lifecycle Policy",
              "url": "https://learn.microsoft.com/en-us/lifecycle/policies/modern",
              "seen": "2026-10-08"
            },
            {
              "what": "FedRAMP audit scope",
              "url": "https://learn.microsoft.com/en-us/azure/azure-government/compliance/azure-services-in-fedramp-auditscope",
              "seen": "2026-10-08"
            },
            {
              "what": "security.txt",
              "url": "https://www.microsoft.com/.well-known/security.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "PyPI azure-maps-search",
              "url": "https://pypi.org/pypi/azure-maps-search/json",
              "seen": "2026-10-08"
            },
            {
              "what": "npm @azure-rest/maps-search",
              "url": "https://registry.npmjs.org/@azure-rest%2fmaps-search",
              "seen": "2026-10-08"
            }
          ],
          "openQuestions": [
            "unchecked: the Azure updates feed for Azure Maps, which the docs link in place of an API changelog. We did not open it.",
            "unchecked: the Microsoft Products and Services Data Protection Addendum and the sub-processor list on the Service Trust Portal.",
            "unchecked: whether Azure Maps is on a current SOC 2 or ISO 27001 scope list. Only the FedRAMP audit scope page was read.",
            "unchecked: GitHub issue response times for the Maps client libraries, and their CI.",
            "The pricing page showed our reader no dollar figures, so unit prices come from the Azure Retail Prices API, which lists one $4.50 tier and no volume steps.",
            "When Search 1.0 retires, and whether place search will move to a newer version. The migration guide gives no date.",
            "`lastRelease` is the date of the newest Maps commit in the spec repository (30 September 2026), since no API changelog exists.",
            "The lead was right on the facts checked, with one gap. The current Search version has no place search."
          ]
        },
        "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"
      ],
      "notable": [
        "Search 2026-01-01 has six operations (`/geocode`, `/geocode:autocomplete`, `/geocode:batch`, `/reverseGeocode`, `/reverseGeocode:batch`, `/search/polygon`) and no place search. Points of interest by name, category or nearby remain in Search 1.0 (https://learn.microsoft.com/en-us/rest/api/maps/search?view=rest-maps-1.0)",
        "The migration guide says Search 1.0 is superseded and still works, with no retirement date (https://learn.microsoft.com/en-us/azure/azure-maps/migrate-search-v1-api, dated 30 September 2026)",
        "The product terms forbid turn-by-turn navigation, use with a vehicle's dashboard, combining results with a third-party map database and storing results to serve several users. Geocodes may be stored while the Azure account is active (https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA)",
        "Azure Maps shares address and location queries with TomTom, which Microsoft names as a subprocessor, and says the queries are not linked to a customer or end user (https://learn.microsoft.com/en-us/azure/azure-maps/about-azure-maps)",
        "Render 1.0 retired on 17 September 2026 and the Gen1 pricing tier on 15 September 2026, with accounts converted to Gen2 without new keys (https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-pricing-tier)",
        "learn.microsoft.com returns each docs and reference page as Markdown when `?accept=text/markdown` is added to the URL. https://learn.microsoft.com/llms.txt returns 404",
        "No MCP server for Azure Maps appears in the Azure Maps documentation contents (https://learn.microsoft.com/en-us/azure/azure-maps/toc.json)"
      ],
      "area": "everyday",
      "details": [
        {
          "label": "Services",
          "value": "Search (2026-01-01 and 1.0), Route (2025-01-01), Render (2024-04-01), Traffic (2025-01-01), Weather (1.1), Timezone and Geolocation (1.0)"
        },
        {
          "label": "Search 2026-01-01",
          "value": "Geocoding, geocode autocomplete, reverse geocoding, batch forms of up to 100 queries and boundary polygons. GeoJSON responses. `top` from 1 to 20, default 5"
        },
        {
          "label": "Place search",
          "value": "Search 1.0 only. POI by name, by category, nearby, along a route and inside a geometry, with `limit` up to 100 and `ofs` paging"
        },
        {
          "label": "Route 2025-01-01",
          "value": "Directions for car, truck and walking, matrix (sync and async), reachable range and snap to roads, with batches of up to 100"
        },
        {
          "label": "Rate limits",
          "value": "Per second, per account. Search 500, reverse geocoding 250, autocomplete 100, routing 50, batch 10, road tiles 500, satellite tiles 250, static maps 50, traffic 50, weather 50. No daily cap"
        },
        {
          "label": "Credentials",
          "value": "Subscription key (two per account), SAS token (24 hours at most, rate cap, allowed regions) or Microsoft Entra ID with Azure roles"
        },
        {
          "label": "Roles",
          "value": "Azure Maps Search and Render Data Reader, Data Reader, Data Contributor, Data Read and Batch, or a custom role per service such as `Microsoft.Maps/accounts/services/search/read`"
        },
        {
          "label": "Free amount",
          "value": "Each month 5,000 transactions for Search, Geolocation, Timezone, base map tiles and traffic tiles, and 1,000 for Routing, Traffic, Weather, imagery tiles and static images"
        },
        {
          "label": "Billing rules",
          "value": "15 tiles, 4 matrix cells or 10 autocomplete requests make one transaction. 5xx, 401, 403, 408 and 429 responses are not billed"
        },
        {
          "label": "Storage terms",
          "value": "Geocodes may be stored while the Azure account is active. Other results for the header's validity period or six months, whichever is shorter, and only to cut latency"
        },
        {
          "label": "Data location",
          "value": "`eu.atlas.microsoft.com` and `us.atlas.microsoft.com` keep requests in that geography. Korean addresses need consent to processing in Korea Central"
        },
        {
          "label": "SLA",
          "value": "99.9 per cent per API, with 10 per cent credit below that and 25 per cent below 99 per cent (SLA for Online Services, 1 October 2026)"
        },
        {
          "label": "Client libraries",
          "value": "Python `azure-maps-search` 2.0.0b2 (12 December 2024), JavaScript `@azure-rest/maps-search` 2.0.0-beta.4 (22 August 2025), .NET `Azure.Maps.Search` 2.0.0-beta.5 and Java. All beta"
        },
        {
          "label": "Usage records",
          "value": "Azure Monitor metrics for usage, errors and availability, kept 93 days"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Microsoft Corporation",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "microsoft.com, registered 1991-05-02 (35 years)",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "atlas.microsoft.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 4 of the 7 things a reader expects, and has 1 clause that costs points",
            "points": 5.4,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 8 of the 8 things a reader expects, and has 1 clause that costs points",
            "points": 8,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "azure.status.microsoft/en-us/status",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "published but past its Expires date",
            "points": 5,
            "max": 10,
            "state": "part"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA",
            "state": "read",
            "readAt": "2026-10-08",
            "words": 17227,
            "points": 5.4,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": false
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "Limitation of Liability and Exclusion of Damages: Customer will disclaim liability and exclude damages in a way that is consistent with the provisions of any applicable agreement(s) between Customer and Microsoft."
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "Upon expiration of an Azure Capacity Block, Customer will be evicted from the applicable capacity, and Microsoft will stop or suspend Customer’s use of the applicable Microsoft Azure Services."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": false
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "Customer will not be refunded payment (paid or scheduled) for unused Azure reservations."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "For each User SL (or equivalent Subscription License Suite) Customer assigns to a user, Customer may also permit up to five additional External Users to access the corresponding Microsoft Entra ID service level."
              }
            ],
            "toKnow": [
              {
                "key": "terms.benchmark",
                "label": "Restricts benchmarking or competitive use",
                "found": true,
                "quote": "Customer will not use and will not allow third parties to use Foundry Tools or data from Foundry Tools to create, train, or improve (directly or indirectly) a similar or competing product or service.",
                "costsPoints": true
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "For Foundry Models sold by Azure, authorised Microsoft employees may review stored input and output content that the automated abuse monitoring has flagged.",
                "quote": "Authorized Microsoft employees may review such data that has triggered our automated systems to investigate and verify potential abuse."
              },
              {
                "date": "2026-10-08",
                "text": "Azure pricing can change at any time under the Microsoft Customer Agreement.",
                "quote": "As stated in the Microsoft Customer Agreement (MCA), Azure pricing is subject to change at any time."
              },
              {
                "date": "2026-10-08",
                "text": "Results from the Bing Search Services may be used only in Internet Search Experiences and may not be cached or copied.",
                "quote": "Customer must use results it obtains from the Bing Search Services only in Internet Search Experiences (as defined in the use and display requirements) and must not cache or copy results."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.microsoft.com/en-us/privacy/privacystatement",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2026-09-01",
            "words": 33580,
            "points": 8,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last Updated: September 2026",
                "says": "Last updated 2026-09-01"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "The data we collect depends on the context of your interactions with Microsoft and the choices you make, including your privacy settings and the products and features you use."
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "When you delete an email or item from a mailbox in Outlook.com, the item generally goes into your Deleted Items folder where it remains for approximately 7 days unless you move it back to your inbox, you empty the folder, or the service empties the folder automatically, whichever comes first.",
                "says": "Names a period of 7 days"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "Service providers that help us determine your device’s location."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "not use or share student personal data for advertising or similar commercial purposes, such as providing personalized advertising to students;"
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "State Data Privacy Notice (including notice at collection details) and the Consumer Health Data Privacy Policy for additional information about your rights and the processing of your personal data."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "If you have a privacy concern, complaint, or question for the Microsoft privacy team or Data Protection Officer, please visit our privacy support and requests page and click on “Contact the Microsoft privacy team or the Microsoft Data Protection Officer” menu.",
                "says": "Names a data protection officer"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "In such cases, we implement legal safeguards-such as standard contractual clauses approved by the European Commission – to help protect your rights and ensure your data remains protected.",
                "says": "Relies on standard contractual clauses"
              }
            ],
            "toKnow": [
              {
                "key": "training",
                "label": "Says it may use customer content to train or improve models, and no opt-out was found",
                "found": true,
                "quote": "As part of our efforts to improve and develop our products, we may use your data to develop and train our AI models.",
                "costsPoints": true
              },
              {
                "key": "privacy.sells",
                "label": "Says it sells personal data or shares it for advertising",
                "found": true,
                "quote": "We also disclose personal data for digital advertising purposes."
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "For enterprise and developer products, the customer's agreement with Microsoft takes precedence over this privacy statement where the two conflict.",
                "quote": "In the event of a conflict between our privacy statement and the terms of any agreement(s) between a customer and Microsoft for Enterprise and Developer Products, the terms of those agreement(s) will control."
              },
              {
                "date": "2026-10-08",
                "text": "Prompts and related data sent to the consumer Microsoft Copilot are used to improve services and for relevant advertising.",
                "quote": "Microsoft Copilot also uses prompts and related data to provide and improve services, including relevant advertising."
              },
              {
                "date": "2026-10-08",
                "text": "Microsoft staff manually review some results of its automated systems, including AI, against the source data.",
                "quote": "For example, to build, train, and improve the accuracy of our automated systems – such as AI - we manually review some of the results against the underlying data."
              }
            ]
          }
        ]
      },
      "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"
      }
    },
    "verify": {
      "accepts": "a page on microsoft.com or one of its subdomains, or the README of github.com/Azure/azure-rest-api-specs",
      "badgeUrl": "https://www.anchorterminal.com/badges/azure-maps.svg",
      "body": {
        "slug": "azure-maps",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/azure-maps",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/azure-maps\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/azure-maps.svg\" alt=\"Azure Maps on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Azure Maps on Anchor Terminal](https://www.anchorterminal.com/badges/azure-maps.svg)](https://www.anchorterminal.com/tools/azure-maps)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/azure-maps\"\u003eAzure Maps on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/azure-maps",
    "json": "https://www.anchorterminal.com/tools/azure-maps.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/azure-maps.md",
    "slim": "https://www.anchorterminal.com/tools/azure-maps.min.md"
  },
  "markdown": "## Overview\n\n**Grade B · 67.9/100 · rank #196 of 722 · #5 in Maps, geocoding \u0026 places · not agent-ready · confidence medium**\n\n\nMore from Microsoft Azure, listed separately because each is its own product: [Microsoft Foundry fine-tuning (Azure OpenAI)](https://www.anchorterminal.com/tools/azure-foundry-fine-tuning.md) (Fine-tuning), [Azure AI Content Safety (Prompt Shields)](https://www.anchorterminal.com/tools/azure-ai-content-safety.md) (Guardrails \u0026 safety filters), [Azure AI Speech speech-to-text](https://www.anchorterminal.com/tools/azure-speech-to-text.md) (Speech-to-text), [Azure AI Speech text-to-speech](https://www.anchorterminal.com/tools/azure-text-to-speech.md) (Text-to-speech), [Microsoft Agent Framework](https://www.anchorterminal.com/tools/microsoft-agent-framework.md) (Agent frameworks \u0026 SDKs), [Microsoft Execution Containers](https://www.anchorterminal.com/tools/microsoft-execution-containers.md) (Code execution sandboxes), [Microsoft Entra Agent ID](https://www.anchorterminal.com/tools/microsoft-entra-agent-id.md) (Agent auth \u0026 delegated access), [Azure Key Vault](https://www.anchorterminal.com/tools/azure-key-vault.md) (Secrets \u0026 credential vaults), [Azure DevOps MCP Server](https://www.anchorterminal.com/tools/azure-devops-mcp.md) (Code \u0026 developer platforms), [Microsoft Learn MCP Server](https://www.anchorterminal.com/tools/microsoft-learn-mcp.md) (Code \u0026 developer platforms), [Playwright MCP](https://www.anchorterminal.com/tools/playwright-mcp.md) (Browser automation), [Azure MCP Server](https://www.anchorterminal.com/tools/azure-mcp.md) (Cloud \u0026 infrastructure), [Azure Translator](https://www.anchorterminal.com/tools/azure-translator.md) (Translation), [Microsoft Graph Calendar API](https://www.anchorterminal.com/tools/microsoft-graph-calendar.md) (Calendars \u0026 scheduling), [Microsoft Teams (Microsoft Graph)](https://www.anchorterminal.com/tools/microsoft-teams.md) (Work \u0026 productivity), [Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/tools/dynamics-365-sales.md) (CRM \u0026 customer platforms), [Microsoft Power Automate](https://www.anchorterminal.com/tools/power-automate.md) (Workflow automation), [Microsoft Advertising API](https://www.anchorterminal.com/tools/microsoft-advertising-api.md) (Advertising \u0026 campaign operations), [Microsoft Excel (Microsoft Graph workbook API)](https://www.anchorterminal.com/tools/microsoft-excel-graph.md) (Spreadsheets \u0026 operational tables), [Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/tools/outlook-mail-graph.md) (Mailbox access).\n\n## Assessment\n\nAzure 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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Microsoft Azure (https://azure.microsoft.com/en-us/products/azure-maps) |\n| Kind | HTTP API |\n| Category | Maps, geocoding \u0026 places (https://www.anchorterminal.com/categories/maps) |\n| Transport | HTTP |\n| Endpoint | `https://atlas.microsoft.com` |\n| Auth | OAuth or key · 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. |\n| Pricing | Freemium ($4.50 / 1k req) · $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. |\n| x402 | No · No x402, MPP or L402 in the Azure Maps docs, the OpenAPI documents or the pricing page (checked 2026-10-08). |\n| Licence | Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT |\n| Packages | pypi: `azure-maps-search`; pypi: `azure-maps-route`; npm: `@azure-rest/maps-search`; npm: `@azure-rest/maps-route` |\n| Source | https://github.com/Azure/azure-rest-api-specs |\n| Docs | https://learn.microsoft.com/en-us/rest/api/maps/ |\n| llms.txt | not found |\n| Last release | 2026-09-30 |\n| npm downloads / week | 9,084 |\n| PyPI downloads / week | 24,564 |\n| Services | Search (2026-01-01 and 1.0), Route (2025-01-01), Render (2024-04-01), Traffic (2025-01-01), Weather (1.1), Timezone and Geolocation (1.0) |\n| Search 2026-01-01 | Geocoding, geocode autocomplete, reverse geocoding, batch forms of up to 100 queries and boundary polygons. GeoJSON responses. `top` from 1 to 20, default 5 |\n| Place search | Search 1.0 only. POI by name, by category, nearby, along a route and inside a geometry, with `limit` up to 100 and `ofs` paging |\n| Route 2025-01-01 | Directions for car, truck and walking, matrix (sync and async), reachable range and snap to roads, with batches of up to 100 |\n| Rate limits | Per second, per account. Search 500, reverse geocoding 250, autocomplete 100, routing 50, batch 10, road tiles 500, satellite tiles 250, static maps 50, traffic 50, weather 50. No daily cap |\n| Credentials | Subscription key (two per account), SAS token (24 hours at most, rate cap, allowed regions) or Microsoft Entra ID with Azure roles |\n| Roles | Azure Maps Search and Render Data Reader, Data Reader, Data Contributor, Data Read and Batch, or a custom role per service such as `Microsoft.Maps/accounts/services/search/read` |\n| Free amount | Each month 5,000 transactions for Search, Geolocation, Timezone, base map tiles and traffic tiles, and 1,000 for Routing, Traffic, Weather, imagery tiles and static images |\n| Billing rules | 15 tiles, 4 matrix cells or 10 autocomplete requests make one transaction. 5xx, 401, 403, 408 and 429 responses are not billed |\n| Storage terms | Geocodes may be stored while the Azure account is active. Other results for the header's validity period or six months, whichever is shorter, and only to cut latency |\n| Data location | `eu.atlas.microsoft.com` and `us.atlas.microsoft.com` keep requests in that geography. Korean addresses need consent to processing in Korea Central |\n| SLA | 99.9 per cent per API, with 10 per cent credit below that and 25 per cent below 99 per cent (SLA for Online Services, 1 October 2026) |\n| Client libraries | Python `azure-maps-search` 2.0.0b2 (12 December 2024), JavaScript `@azure-rest/maps-search` 2.0.0-beta.4 (22 August 2025), .NET `Azure.Maps.Search` 2.0.0-beta.5 and Java. All beta |\n| Usage records | Azure Monitor metrics for usage, errors and availability, kept 93 days |\n| Capabilities | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles, weather.current, weather.forecast |\n| Tags | hosted, closed-source, freemium, free-tier, card-required, openapi, oauth, python, typescript, dotnet, java, enterprise, sla, eu |\n| JSON | https://www.anchorterminal.com/api/v1/tools/azure-maps.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 81 | 16.2 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 83 | 13.5 |\n| Agent ergonomics | 13% | 16.2 | 73 | 11.9 |\n| Security \u0026 auth | 14% | 17.5 | 66 | 11.6 |\n| Payments \u0026 pricing | 10% | 12.5 | 20 | 2.5 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 67 | 5.9 |\n| Transparency \u0026 trust (editorial 69, provenance 78) | 7% | 8.8 | 74 | 6.5 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **67.9 → B** |\n\n### Why each score\n\n- Reliability 81: Hosted reading. Azure status page with a history of post-incident reviews (20). The history lists three incidents in the last 90 days, West US network connectivity on 23 July 2026 (14:44 to 19:41 UTC), Azure OpenAI and Cognitive Services in Sweden Central on 29 September, and gateway services in several regions on 30 September. None names Azure Maps. The page lists only broad incidents, so there is no service-level history for Maps, and we count the record as minor (20 of 30). Default limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing (15). The service answers 429 over the limit and doesn't bill 429, 408 or 5xx responses, and data-plane calls are reads, so a retry is safe. No Retry-After header or backoff guidance was found in the reviewed documentation (6 of 15). The SLA for Online Services of 1 October 2026 commits to 99.9 per cent per API, with 10 and 25 per cent credits (10). Search 2026-01-01 and Route 2025-01-01 are stable versions. The REST index still labels autocomplete a preview (10).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 83: OpenAPI 2.0 documents for each service are public in `Azure/azure-rest-api-specs`, generated from TypeSpec since April 2026 (25). learn.microsoft.com returns each page as Markdown when `?accept=text/markdown` is added, though `llms.txt` returns 404 (10). Operation descriptions state purpose, and the geocoding and migration pages say when to use geocoding, autocomplete or batch and when not to (16 of 20). Typed parameters with ranges such as `top` from 1 to 20, 18 enums in the Search document and 48 in Route, and required fields marked (13 of 15). Examples on all 16 Search and Route operations, but errors are one default response with an `x-ms-error-code` header and no list of codes found (10 of 15). Dated `api-version` values and migration guides for Search, Route, Render and Traffic 1.0, but no API changelog page. The release notes cover the Web SDK only (9 of 15).\n- Agent ergonomics 73: API reading of the checklist. Geocoding returns five results by default and `top` caps them at 20, but there is no field selection and each response is a full GeoJSON collection (18 of 25). `bbox`, `countryRegion`, `coordinates` and `resultTypes` filters, and Search 1.0 adds `limit`, `ofs`, `categorySet` and `brandSet` (17 of 20). Errors follow the Azure shape with `code`, `message`, `target` and `details`, and batch responses carry an error per item. No list of codes was found (13 of 20). Every data-plane call is a read, route POSTs have no side effects, and failed calls are not billed. No retry guidance for 429 was found (15 of 20). Geocoding needs only `api-version` and a query. Client libraries exist for Python, JavaScript, .NET and Java, all beta (10 of 15).\n- Security \u0026 auth 66: Microsoft Entra ID OAuth tokens with Azure roles, SAS tokens limited to 24 hours with a rate cap and allowed regions, and two subscription keys that can be regenerated in turn (30). Less 10 because the authentication guide tells callers to add the subscription key as a URL parameter, and Search 1.0 declares the key as a query parameter (20). Built-in reader roles, custom roles down to one service such as `Microsoft.Maps/accounts/services/search/read`, and `disableLocalAuth` to turn keys off. The data-plane APIs only read. A subscription key reaches every API on the account (18 of 20). Place names, addresses and traffic incident text come from third parties, and no prompt-injection guidance was found (5 of 15). Azure Monitor metrics show usage, errors and availability for 93 days. Per-request logs were not found in the Azure Maps docs (6 of 15). MSRC coordinated disclosure and bounty policies, and Azure Maps is on the FedRAMP High audit scope list dated 21 September 2026. The microsoft.com security.txt passed its Expires date on 23 September 2026, and we did not confirm Maps on a SOC 2 scope list (17 of 20).\n- Payments \u0026 pricing 20: No x402, MPP or L402 (0). Per-1,000-transaction prices are public without a login through the Azure Retail Prices API, $4.50 on each Gen2 meter. The pricing page showed our reader the free amounts but no dollar figures (20). Free monthly transactions exist, 5,000 for search and 1,000 for routing, but an Azure account asks for a card to verify identity (0). A person signs up in a browser and creates the Maps account (0).\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 67: Read as a closed service with official SDKs. The spec repository's newest Maps commits are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types (30). Seven dated Maps commits since 28 July 2026, plus the Gen1 pricing retirement on 15 September. Most are description changes and retirements, not new operations (20). No API changelog. Microsoft Q\u0026A and a feedback forum are linked from each docs page, which we did not read (8 of 15). The REST client libraries are all beta and lag the service, `azure-maps-search` 2.0.0b2 on PyPI from 12 December 2024 and `@azure-rest/maps-search` 2.0.0-beta.4 on npm from 22 August 2025, with npm's `latest` tag still on beta.3 (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10).\n- Transparency \u0026 trust 74: Closed service under Microsoft's Product Terms, which carry a section of Azure Maps rules on storage, navigation and attribution, with MIT client libraries (15 of 30). The docs say requests and input data are stored only in the chosen geography and that queries go to TomTom without a link to the customer. No retention period for request data was found, and we did not read the Data Protection Addendum (22 of 30). The Modern Lifecycle Policy promises 12 months' notice before support ends. Gen1 pricing and Render 1.0 retired on stated dates in September 2026, while Search 1.0 is superseded with no date (16 of 20). TomTom is named as a subprocessor, and European and United States endpoints fix the data location. The full sub-processor list sits on the Service Trust Portal, which we did not read (16 of 20).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (19 items): https://www.anchorterminal.com/fixes/azure-maps.md (JSON https://www.anchorterminal.com/fixes/azure-maps.json)\n\n### What we couldn't check\n\n- unchecked: the Azure updates feed for Azure Maps, which the docs link in place of an API changelog. We did not open it.\n- unchecked: the Microsoft Products and Services Data Protection Addendum and the sub-processor list on the Service Trust Portal.\n- unchecked: whether Azure Maps is on a current SOC 2 or ISO 27001 scope list. Only the FedRAMP audit scope page was read.\n- unchecked: GitHub issue response times for the Maps client libraries, and their CI.\n- The pricing page showed our reader no dollar figures, so unit prices come from the Azure Retail Prices API, which lists one $4.50 tier and no volume steps.\n- When Search 1.0 retires, and whether place search will move to a newer version. The migration guide gives no date.\n- `lastRelease` is the date of the newest Maps commit in the spec repository (30 September 2026), since no API changelog exists.\n- The lead was right on the facts checked, with one gap. The current Search version has no place search.\n\n### Sources\n\n- REST API index and services: \u003chttps://learn.microsoft.com/en-us/rest/api/maps/\u003e (seen 2026-10-08)\n- Search 2026-01-01 operations and geocoding reference: \u003chttps://learn.microsoft.com/en-us/rest/api/maps/search/get-geocoding\u003e (seen 2026-10-08)\n- Search 1.0 operations (place search): \u003chttps://learn.microsoft.com/en-us/rest/api/maps/search?view=rest-maps-1.0\u003e (seen 2026-10-08)\n- Route 2025-01-01 operations: \u003chttps://learn.microsoft.com/en-us/rest/api/maps/route\u003e (seen 2026-10-08)\n- authentication (keys, Entra ID, SAS, roles): \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-authentication\u003e (seen 2026-10-08)\n- key rotation: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-authentication\u003e (seen 2026-10-08)\n- rate limits: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-qps-rate-limits\u003e (seen 2026-10-08)\n- transactions and billing rules: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/understanding-azure-maps-transactions\u003e (seen 2026-10-08)\n- retail prices for Azure Maps meters: \u003chttps://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20%27Azure%20Maps%27%20and%20armRegionName%20eq%20%27Global%27\u003e (seen 2026-10-08)\n- pricing page (free amounts): \u003chttps://azure.microsoft.com/en-us/pricing/details/azure-maps/\u003e (seen 2026-10-08)\n- Gen1 pricing retirement: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-pricing-tier\u003e (seen 2026-10-08)\n- Search 1.0 migration guide: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/migrate-search-v1-api\u003e (seen 2026-10-08)\n- Render 1.0 retirement: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/migrate-render-v1-api\u003e (seen 2026-10-08)\n- geographic scope and data location: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/geographic-scope\u003e (seen 2026-10-08)\n- overview, TomTom data sharing: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/about-azure-maps\u003e (seen 2026-10-08)\n- usage metrics: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/how-to-view-api-usage\u003e (seen 2026-10-08)\n- REST SDK guide: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/rest-sdk-developer-guide\u003e (seen 2026-10-08)\n- OpenAPI documents and commit history (shallow clone): \u003chttps://github.com/Azure/azure-rest-api-specs/tree/main/specification/maps/data-plane\u003e (seen 2026-10-08)\n- Azure status history: \u003chttps://azure.status.microsoft/en-us/status/history/\u003e (seen 2026-10-08)\n- SLA for Online Services, 1 October 2026: \u003chttps://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services\u003e (seen 2026-10-08)\n- Product Terms, Azure Maps section: \u003chttps://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA\u003e (seen 2026-10-08)\n- privacy statement: \u003chttps://www.microsoft.com/en-us/privacy/privacystatement\u003e (seen 2026-10-08)\n- Azure free account card requirement: \u003chttps://azure.microsoft.com/en-us/pricing/purchase-options/azure-account\u003e (seen 2026-10-08)\n- Modern Lifecycle Policy: \u003chttps://learn.microsoft.com/en-us/lifecycle/policies/modern\u003e (seen 2026-10-08)\n- FedRAMP audit scope: \u003chttps://learn.microsoft.com/en-us/azure/azure-government/compliance/azure-services-in-fedramp-auditscope\u003e (seen 2026-10-08)\n- security.txt: \u003chttps://www.microsoft.com/.well-known/security.txt\u003e (seen 2026-10-08)\n- PyPI azure-maps-search: \u003chttps://pypi.org/pypi/azure-maps-search/json\u003e (seen 2026-10-08)\n- npm @azure-rest/maps-search: \u003chttps://registry.npmjs.org/@azure-rest%2fmaps-search\u003e (seen 2026-10-08)\n\n## Who's behind it (provenance 78/100, checked 2026-10-08)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Microsoft Corporation | 20/20 |\n| Domain age | microsoft.com, registered 1991-05-02 (35 years) | 15/15 |\n| Endpoint on the vendor's domain | atlas.microsoft.com | 15/15 |\n| Terms of service | read, states 4 of the 7 things a reader expects, and has 1 clause that costs points | 5.4/10 |\n| Privacy policy | read, states 8 of the 8 things a reader expects, and has 1 clause that costs points | 8/10 |\n| Status page | azure.status.microsoft/en-us/status | 10/10 |\n| Changelog | not found | 0/10 |\n| security.txt | published but past its Expires date | 5/10 |\n\nThe 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.\n\nThe 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.\n\nThe 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.\n\nNo 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.\n\nhttps://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.\n\nRDAP for microsoft.com gives a registration date of 1991-05-02.\n\nThe Azure status page is shared by all Azure services and its history lists only broad incidents.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA), read 2026-10-08, gives no date, states 4 of the 7 things a reader expects.\n\n- To know. Restricts benchmarking or competitive use (costs points). \"Customer will not use and will not allow third parties to use Foundry Tools or data from Foundry Tools to create, train, or improve (directly or indirectly) a similar or competing product or service.\"\n- Not found in the text. Gives the date it was last updated.\n- Not found in the text. Names the governing law or courts.\n- Not found in the text. Says how changes to the terms are announced.\n- Also in the text (2026-10-08). For Foundry Models sold by Azure, authorised Microsoft employees may review stored input and output content that the automated abuse monitoring has flagged. \"Authorized Microsoft employees may review such data that has triggered our automated systems to investigate and verify potential abuse.\"\n- Also in the text (2026-10-08). Azure pricing can change at any time under the Microsoft Customer Agreement. \"As stated in the Microsoft Customer Agreement (MCA), Azure pricing is subject to change at any time.\"\n- Also in the text (2026-10-08). Results from the Bing Search Services may be used only in Internet Search Experiences and may not be cached or copied. \"Customer must use results it obtains from the Bing Search Services only in Internet Search Experiences (as defined in the use and display requirements) and must not cache or copy results.\"\n\n**Privacy policy** (https://www.microsoft.com/en-us/privacy/privacystatement), read 2026-10-08, dated 2026-09-01, states 8 of the 8 things a reader expects.\n\n- To know. Says it may use customer content to train or improve models, and no opt-out was found (costs points). \"As part of our efforts to improve and develop our products, we may use your data to develop and train our AI models.\"\n- To know. Says it sells personal data or shares it for advertising. \"We also disclose personal data for digital advertising purposes.\"\n- Gives the date it was last updated. Last updated 2026-09-01.\n- Says how long data is kept. Names a period of 7 days.\n- Gives a privacy contact. Names a data protection officer.\n- Says where data is transferred or stored. Relies on standard contractual clauses.\n- Also in the text (2026-10-08). For enterprise and developer products, the customer's agreement with Microsoft takes precedence over this privacy statement where the two conflict. \"In the event of a conflict between our privacy statement and the terms of any agreement(s) between a customer and Microsoft for Enterprise and Developer Products, the terms of those agreement(s) will control.\"\n- Also in the text (2026-10-08). Prompts and related data sent to the consumer Microsoft Copilot are used to improve services and for relevant advertising. \"Microsoft Copilot also uses prompts and related data to provide and improve services, including relevant advertising.\"\n- Also in the text (2026-10-08). Microsoft staff manually review some results of its automated systems, including AI, against the source data. \"For example, to build, train, and improve the accuracy of our automated systems – such as AI - we manually review some of the results against the underlying data.\"\n\n## Live (updated 2026-10-08 21:12 UTC)\n\n- Right now: up, HTTP 200, 552 ms, checked 2026-10-08 21:12 UTC (get on `https://atlas.microsoft.com`)\n- Uptime 24h 85.71% (21 probes) · 30 days 85.71% (21 probes) · p50 391 ms · p95 825 ms\n- Always current: https://www.anchorterminal.com/api/v1/live/azure-maps.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Search (geocoding, reverse geocoding, places) | $4.50 | per 1,000 requests | 5,000 free a month. Ten autocomplete requests count as one |\n| Routing | $4.50 | per 1,000 requests | 1,000 free a month. Four matrix cells count as one |\n| Base map tiles | $4.50 | per 1,000 requests | 5,000 free a month. One transaction is 15 tiles |\n| Traffic | $4.50 | per 1,000 requests | 1,000 free a month |\n| Weather | $4.50 | per 1,000 requests | 1,000 free a month |\n| Static map images | $4.50 | per 1,000 requests | 1,000 free a month |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- Public OpenAPI documents for Search, Route, Render, Traffic, Weather, Timezone and Geolocation in `Azure/azure-rest-api-specs`, with examples on every operation\n- 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\n- Default rate limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing\n- 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\n- Responses with 5xx, 401, 403, 408 and 429 are not billed, and the October 2026 SLA commits to 99.9 per cent\n\n## Weaknesses\n\n- 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- Every REST client library is a beta. `azure-maps-search` on PyPI was last released on 12 December 2024\n- The authentication guide tells callers to put the subscription key in the URL, and the key reaches every REST API on the account\n- An Azure account needs a card and a browser signup before the free monthly transactions apply\n- No Retry-After header or backoff guidance for 429 was found in the reviewed documentation, and no API changelog page\n\n## Before you call it (notes for agents)\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## Connect\n\nInstall:\n\n```bash\npip install azure-maps-search   # or: npm i @azure-rest/maps-search\n```\n\nFirst request:\n\n```bash\ncurl \"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\"\n```\n\nThrough letme (picks today, calling later): https://letme.dev/azure-maps (letme picks it for weather.current, the top-graded tool for the job, letme picks it for weather.forecast, the top-graded tool for the job). letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Mapbox APIs + MCP | BB | 75 | 51 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | no | https://www.anchorterminal.com/tools/mapbox.md |\n| Amazon Location Service | BB | 74.1 | 68 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | no | https://www.anchorterminal.com/tools/amazon-location.md |\n| Google Maps Platform + Grounding Lite MCP | B | 68.2 | 189 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | no | https://www.anchorterminal.com/tools/google-maps-platform.md |\n| ArcGIS Location Platform | B | 65.4 | 259 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | no | https://www.anchorterminal.com/tools/arcgis.md |\n| Stadia Maps | B | 65.2 | 261 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | no | https://www.anchorterminal.com/tools/stadia-maps.md |\n| LocationIQ | C | 60.3 | 405 | geo.geocode, geo.reverse, geo.places, geo.routing, geo.tiles | no | https://www.anchorterminal.com/tools/locationiq.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- Search 2026-01-01 has six operations (`/geocode`, `/geocode:autocomplete`, `/geocode:batch`, `/reverseGeocode`, `/reverseGeocode:batch`, `/search/polygon`) and no place search. Points of interest by name, category or nearby remain in Search 1.0 (source: \u003chttps://learn.microsoft.com/en-us/rest/api/maps/search?view=rest-maps-1.0\u003e)\n- The migration guide says Search 1.0 is superseded and still works, with no retirement date (source: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/migrate-search-v1-api, dated 30 September 2026\u003e)\n- The product terms forbid turn-by-turn navigation, use with a vehicle's dashboard, combining results with a third-party map database and storing results to serve several users. Geocodes may be stored while the Azure account is active (source: \u003chttps://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA\u003e)\n- Azure Maps shares address and location queries with TomTom, which Microsoft names as a subprocessor, and says the queries are not linked to a customer or end user (source: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/about-azure-maps\u003e)\n- Render 1.0 retired on 17 September 2026 and the Gen1 pricing tier on 15 September 2026, with accounts converted to Gen2 without new keys (source: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-pricing-tier\u003e)\n- learn.microsoft.com returns each docs and reference page as Markdown when `?accept=text/markdown` is added to the URL. https://learn.microsoft.com/llms.txt returns 404\n- No MCP server for Azure Maps appears in the Azure Maps documentation contents (source: \u003chttps://learn.microsoft.com/en-us/azure/azure-maps/toc.json\u003e)\n\n## Compare\n\n- [Amazon Location Service vs Azure Maps](https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps.md): BB 74.1 vs B 67.9\n- [ArcGIS Location Platform vs Azure Maps](https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.md): B 65.4 vs B 67.9\n- [Azure Maps vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.md): B 67.9 vs C 55.3\n- [Azure Maps vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform.md): B 67.9 vs B 68.2\n- [Azure Maps vs LocationIQ](https://www.anchorterminal.com/compare/azure-maps-vs-locationiq.md): B 67.9 vs C 60.3\n- [Azure Maps vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-mapbox.md): B 67.9 vs BB 75\n- [Azure Maps vs MapQuest](https://www.anchorterminal.com/compare/azure-maps-vs-mapquest.md): B 67.9 vs F 35.1\n- [Azure Maps vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/azure-maps-vs-opencage.md): B 67.9 vs B 69.2\n- [Azure Maps vs Stadia Maps](https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps.md): B 67.9 vs B 65.2\n- [Azure Maps vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.md): B 67.9 vs C 54.9\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on microsoft.com or one of its subdomains, or the README of github.com/Azure/azure-rest-api-specs. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"azure-maps\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/azure-maps\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/azure-maps.svg\" alt=\"Azure Maps on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Azure Maps on Anchor Terminal](https://www.anchorterminal.com/badges/azure-maps.svg)](https://www.anchorterminal.com/tools/azure-maps)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/azure-maps\"\u003eAzure Maps on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Azure Maps is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/azure-maps-dark.png\n- Light: https://www.anchorterminal.com/assets/share/azure-maps-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Maps, geocoding \u0026 places",
        "url": "https://www.anchorterminal.com/categories/maps"
      },
      {
        "name": "Azure Maps",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #196 of 722",
      "OAuth or key auth",
      "0 desk reviews"
    ],
    "h1": "Azure Maps",
    "image": "https://www.anchorterminal.com/assets/og/tools-azure-maps.png",
    "path": "/tools/azure-maps",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Maps review for AI agents, grade B (67.9/100) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/tools/azure-maps"
  },
  "tokens": {
    "markdown": 9100,
    "slim": 1880
  },
  "version": 1
}
