{
  "data": {
    "a": {
      "slug": "azure-maps",
      "name": "Azure Maps",
      "vendor": "Microsoft Azure",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/azure-maps",
      "kind": "http-api",
      "category": "maps",
      "summary": "Microsoft Azure's mapping service. Its REST APIs at `atlas.microsoft.com` cover geocoding, reverse geocoding, place search, routing with traffic, map tiles, time zones and weather, with access by subscription key, SAS token or Microsoft Entra ID.",
      "url": "https://www.anchorterminal.com/tools/azure-maps",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-maps.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-maps.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-maps.json",
      "repo": "https://github.com/Azure/azure-rest-api-specs",
      "license": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://atlas.microsoft.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-maps-search"
        },
        {
          "registry": "pypi",
          "name": "azure-maps-route"
        },
        {
          "registry": "npm",
          "name": "@azure-rest/maps-search"
        },
        {
          "registry": "npm",
          "name": "@azure-rest/maps-route"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A person creates an Azure subscription and an Azure Maps account in the portal, which issues a primary and a secondary subscription key. The key goes in the `subscription-key` header or as a URL parameter and reaches every REST API on the account. Microsoft Entra ID tokens (scope `https://atlas.microsoft.com/.default`, with the `x-ms-client-id` header) are authorised by Azure roles such as Azure Maps Data Reader or a custom role for one service. SAS tokens (`Authorization: jwt-sas`) last 24 hours at most and carry a rate cap and allowed regions. `disableLocalAuth` turns keys and SAS tokens off.",
      "pricing": "freemium",
      "pricingNotes": "$4.50 per 1,000 transactions on every Gen2 meter, after a free monthly amount of 5,000 transactions for Search, Geolocation, Timezone and base map tiles and 1,000 for Routing, Traffic, Weather, imagery tiles and static images (https://prices.azure.com/api/retail/prices, read 8 October 2026). Fifteen tiles count as one transaction, four route matrix cells as one, and ten autocomplete requests as one. The pricing page says discounts start at 100,000 transactions a month through sales. An Azure account needs a card for identity checks, so there is no card-free start. Gen1 pricing retired on 15 September 2026.",
      "priceSummary": "$4.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Azure Maps docs, the OpenAPI documents or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 9084,
        "pypiWeekly": 24564,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/rest/api/maps/",
      "openapi": "https://github.com/Azure/azure-rest-api-specs/blob/main/specification/maps/data-plane/Search/stable/2026-01-01/search.json",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles",
        "weather.current",
        "weather.forecast"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "freemium",
        "free-tier",
        "card-required",
        "openapi",
        "oauth",
        "python",
        "typescript",
        "dotnet",
        "java",
        "enterprise",
        "sla",
        "eu"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.9,
        "grade": "B",
        "agentReady": false,
        "rank": 196,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 67,
          "payments": 20,
          "reliability": 81,
          "schema": 83,
          "security": 66,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Azure Maps publishes OpenAPI documents for every service, per-service rate limits, a 99.9 per cent SLA and written rules on storing results, and Entra ID roles can limit a caller to one service. Place search exists only in Search 1.0, which the newer version has superseded, and the REST client libraries are all beta.",
        "bestFor": "Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.",
        "strengths": [
          "Public OpenAPI documents for Search, Route, Render, Traffic, Weather, Timezone and Geolocation in `Azure/azure-rest-api-specs`, with examples on every operation",
          "Three credential types. Entra ID with built-in and custom roles, SAS tokens with a 24-hour limit, a rate cap and allowed regions, and two rotatable keys",
          "Default rate limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing",
          "The product terms state storage rules in writing. Geocodes may be kept while the Azure account is active, other results for six months at most",
          "Responses with 5xx, 401, 403, 408 and 429 are not billed, and the October 2026 SLA commits to 99.9 per cent"
        ],
        "weaknesses": [
          "Place and category search exist only in Search 1.0. Search 2026-01-01, which supersedes it, has geocoding, autocomplete, reverse geocoding and polygons",
          "Every REST client library is a beta. `azure-maps-search` on PyPI was last released on 12 December 2024",
          "The authentication guide tells callers to put the subscription key in the URL, and the key reaches every REST API on the account",
          "An Azure account needs a card and a browser signup before the free monthly transactions apply",
          "No Retry-After header or backoff guidance for 429 was found in the reviewed documentation, and no API changelog page"
        ],
        "agentNotes": [
          "Send the key in the `subscription-key` header, or use `Authorization: Bearer` with `x-ms-client-id`. The key also works as a URL parameter, which leaks into logs.",
          "Call `GET /geocode?api-version=2026-01-01` for addresses. It can return 200 with no results, so check `confidence`, `matchCodes` and the entity type before use.",
          "Use Search 1.0 (`/search/poi/json`, `/search/nearby/json`, `/search/fuzzy/json`) for places. The 2026-01-01 version has no place search.",
          "Use `eu.atlas.microsoft.com` or `us.atlas.microsoft.com` to keep request data in that geography.",
          "Don't store route or tile results beyond six months, and never for serving several users. The product terms allow keeping geocodes while the account is active."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.9
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 67,
          "payments": 20,
          "reliability": 81,
          "schema": 83,
          "security": 66,
          "transparency": 69
        },
        "provenanceScore": 78
      },
      "connect": {
        "install": "pip install azure-maps-search   # or: npm i @azure-rest/maps-search",
        "http": "curl \"https://atlas.microsoft.com/geocode?api-version=2026-01-01\u0026query=15127%20NE%2024th%20Street%2C%20Redmond%2C%20WA\" \\\n  -H \"subscription-key: $AZURE_MAPS_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/azure-maps"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Search (geocoding, reverse geocoding, places)",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "5,000 free a month. Ten autocomplete requests count as one"
        },
        {
          "item": "Routing",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month. Four matrix cells count as one"
        },
        {
          "item": "Base map tiles",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "5,000 free a month. One transaction is 15 tiles"
        },
        {
          "item": "Traffic",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month"
        },
        {
          "item": "Weather",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month"
        },
        {
          "item": "Static map images",
          "unit": "1k-requests",
          "usd": 4.5,
          "note": "1,000 free a month"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The API answers at atlas.microsoft.com, with eu.atlas.microsoft.com and us.atlas.microsoft.com for a chosen geography. Docs are on learn.microsoft.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA",
        "privacy": "https://www.microsoft.com/en-us/privacy/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The Product Terms page for Microsoft Azure carries the Azure Maps service-specific terms (navigation, database, caching and storage, attribution, print and broadcast rules) and points to the Data Protection Addendum and the SLA. Our reader saw no effective date on the page.",
          "The privacy statement (last updated September 2026) names Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052, and Microsoft Ireland Operations Limited in Dublin. It lists Microsoft Azure among the enterprise online services and says the customer's agreement controls where the two conflict.",
          "No changelog for the REST APIs was found in the Azure Maps docs. The release notes there cover the Web SDK map control, drawing tools and spatial module only, and the docs link to the general Azure updates page.",
          "https://www.microsoft.com/.well-known/security.txt shows Expires 2026-09-23T16:00:00.000Z. It points to the MSRC researcher portal, the bounty policy and the coordinated disclosure policy.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02.",
          "The Azure status page is shared by all Azure services and its history lists only broad incidents."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-maps.json",
      "live": {
        "slug": "azure-maps",
        "probe": {
          "target": "https://atlas.microsoft.com",
          "method": "get",
          "lastAt": "2026-10-08T22:39:41.770865287Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 184,
          "authRequired": false,
          "uptime24h": 88.89,
          "uptime30d": 88.89,
          "p50ms24h": 305,
          "p95ms24h": 683,
          "samples24h": 36,
          "samples30d": 36,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 36,
              "ok": 32
            }
          ]
        },
        "updatedAt": "2026-10-08T22:39:41.770865287Z"
      }
    },
    "answer": "Azure Maps scores 67.9 (B) on agent readiness against Geoapify Location Platform + MCP's 55.3 (C), and leads in 6 of 7 scored categories. Geoapify Location Platform + MCP leads on payments \u0026 pricing.",
    "b": {
      "slug": "geoapify",
      "name": "Geoapify Location Platform + MCP",
      "vendor": "Geoapify",
      "vendorUrl": "https://www.geoapify.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocoding, reverse geocoding, autocomplete, Places search by category, Routing, Route Matrix, isolines and map tiles, with OpenStreetMap attribution required on every plan.",
      "url": "https://www.anchorterminal.com/tools/geoapify",
      "markdownUrl": "https://www.anchorterminal.com/tools/geoapify.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/geoapify.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/geoapify.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.geoapify.com/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key as the apiKey query parameter or the x-api-key header, both defined in the OpenAPI specs. The hosted MCP takes x-api-key. api-eu.geoapify.com serves the same API on EU infrastructure.",
      "pricing": "freemium",
      "pricingNotes": "Free 3,000 credits a day at 5 requests a second, commercial and production use allowed, no card, with a Geoapify attribution link required. API 10 $59 a month (10,000 credits a day, 12 a second), API 25 $109 (25,000), API 50 $179 (50,000), API 100 $299 (100,000), API 250 $609 (250,000), Custom from $860. A simple geocoding, places or routing request costs 1 credit (https://www.geoapify.com/pricing/). Over MCP, initialize, tools/list and notifications cost nothing and each tools/call is billed as the Geoapify API operation behind it (https://apidocs.geoapify.com/how-to/api-tooling-ai/connect-ai-client-mcp/).",
      "priceSummary": "$59 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://apidocs.geoapify.com/docs",
      "openapi": "https://apidocs.geoapify.com/open-api/",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "official",
        "free-tier",
        "no-card",
        "open-data",
        "eu",
        "closed-source"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.3,
        "grade": "C",
        "agentReady": false,
        "rank": 510,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 61,
          "payments": 30,
          "reliability": 60,
          "schema": 74,
          "security": 29,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free plan allows commercial production use, 3,000 credits a day, no card. No security.txt, disclosure policy, bug bounty or certification found.",
        "bestFor": "Cheap geocoding, category place search, routing and isolines on OpenStreetMap data, with commercial use on the free plan and EU hosting.",
        "strengths": [
          "Free plan allows commercial production use, 3,000 credits a day, no card",
          "OpenAPI 3.1 specs for 22 APIs and one per MCP tool, with error examples",
          "Data for successful requests held no longer than 24 hours, hosted in the EU",
          "99.5 per cent monthly availability on paid plans, with discounts below it",
          "MCP tool descriptions say which tool to use instead"
        ],
        "weaknesses": [
          "No security.txt, disclosure policy, bug bounty or certification found",
          "No public changelog or deprecation policy, and the terms allow changes without notice",
          "Storage rights appear in the docs but not in the terms",
          "The specs recommend the apiKey query parameter for public APIs",
          "Credits are counted per day, so bursts hit the cap early"
        ],
        "agentNotes": [
          "Send the key as x-api-key, which the specs support, rather than apiKey in the URL",
          "Use api-eu.geoapify.com when the data has to stay on EU infrastructure",
          "Use calculate_route for geometry and directions, and calculate_route_matrix only for travel times between many points",
          "Read a 429 'Quota exceeded' as the day's credits being gone, not a burst, and wait for the daily reset",
          "Show OpenStreetMap attribution wherever you display results"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.3
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 61,
          "payments": 30,
          "reliability": 60,
          "schema": 74,
          "security": 29,
          "transparency": 52
        },
        "provenanceScore": 72
      },
      "connect": {
        "http": "curl \"https://api.geoapify.com/v1/geocode/search?text=10%20Downing%20Street%2C%20London\u0026limit=1\u0026format=json\u0026apiKey=$GEOAPIFY_API_KEY\"",
        "claudeCode": "claude mcp add --transport http geoapify https://api.geoapify.com/v1/mcp --header \"x-api-key: $GEOAPIFY_API_KEY\"",
        "config": {
          "mcpServers": {
            "geoapify": {
              "headers": {
                "x-api-key": "${GEOAPIFY_API_KEY}"
              },
              "type": "http",
              "url": "https://api.geoapify.com/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/geoapify"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "API 10 plan",
          "unit": "month",
          "usd": 59,
          "note": "10,000 credits a day, 12 requests a second"
        },
        {
          "item": "API 25 plan",
          "unit": "month",
          "usd": 109,
          "note": "25,000 credits a day"
        },
        {
          "item": "API 100 plan",
          "unit": "month",
          "usd": 299,
          "note": "100,000 credits a day, 25 requests a second"
        },
        {
          "item": "API 250 plan",
          "unit": "month",
          "usd": 609,
          "note": "250,000 credits a day"
        }
      ],
      "provenance": {
        "legalEntity": "KEPTAGO LTD",
        "domain": "geoapify.com",
        "domainRegistered": "2018-10-26",
        "endpointOnVendorDomain": true,
        "terms": "https://www.geoapify.com/terms-and-conditions/",
        "privacy": "https://www.geoapify.com/privacy-policy/",
        "statusPage": "https://status.geoapify.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms name KEPTAGO LTD, registered in Paphos, Cyprus, trading as Geoapify. Version 5, dated 2 February 2024.",
          "www.geoapify.com/.well-known/security.txt returns 404.",
          "status.geoapify.com redirects to an UptimeRobot status page.",
          "We found no public changelog. The OpenAPI specs repository on GitHub has dated commits.",
          "The privacy policy was last modified 1 April 2026."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/geoapify.json",
      "live": {
        "slug": "geoapify",
        "probe": {
          "target": "https://api.geoapify.com/v1",
          "method": "get",
          "lastAt": "2026-10-08T22:39:48.268628233Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 147,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 122,
          "p95ms24h": 200,
          "samples24h": 269,
          "samples30d": 1970,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 254,
              "ok": 254
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.geoapify.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:35.319090337Z"
        },
        "securityTxt": {
          "url": "https://geoapify.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:06.518497806Z"
        },
        "domain": {
          "domain": "geoapify.com",
          "registered": "2018-10-26",
          "source": "https://rdap.verisign.com/com/v1/domain/geoapify.com",
          "checkedAt": "2026-10-04T13:07:12.953394282Z"
        },
        "pages": [
          {
            "url": "https://www.geoapify.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:27:52.214592435Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f9a9f1600f52"
          },
          {
            "url": "https://www.geoapify.com/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:27:54.387212133Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "37eb22e1e50f"
          },
          {
            "url": "https://www.geoapify.com/terms-and-conditions/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:27:56.317196709Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c5c95d7b727d"
          }
        ],
        "updatedAt": "2026-10-08T22:39:48.268628233Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft Azure",
        "b": "Geoapify",
        "name": "Vendor"
      },
      {
        "a": "https://atlas.microsoft.com",
        "b": "https://api.geoapify.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$4.50 per 1,000 requests",
        "b": "not published",
        "name": "Price for geo geocode"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "11",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.1k npm/wk, 25k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure Maps scores 67.9 (B) on agent readiness against Geoapify Location Platform + MCP's 55.3 (C), and leads in 6 of 7 scored categories. Geoapify Location Platform + MCP leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure Maps or Geoapify Location Platform + MCP?"
      },
      {
        "answer": "Azure Maps takes an API key or an OAuth sign-in. Geoapify Location Platform + MCP needs an API key.",
        "question": "Do Azure Maps and Geoapify Location Platform + MCP need an API key?"
      },
      {
        "answer": "Yes. Azure Maps has a hosted endpoint at https://atlas.microsoft.com and Geoapify Location Platform + MCP at https://api.geoapify.com/v1.",
        "question": "Can an agent call Azure Maps and Geoapify Location Platform + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 60",
          "Schema \u0026 documentation, 83 against 74",
          "Security \u0026 auth, 66 against 29",
          "Maintenance \u0026 community, 67 against 61",
          "Transparency \u0026 trust, 74 against 62"
        ],
        "also": null,
        "goodFor": "Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.",
        "slug": "azure-maps",
        "watchFor": "Place and category search exist only in Search 1.0. Search 2026-01-01, which supersedes it, has geocoding, autocomplete, reverse geocoding and polygons"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 20"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Cheap geocoding, category place search, routing and isolines on OpenStreetMap data, with commercial use on the free plan and EU hosting.",
        "slug": "geoapify",
        "watchFor": "No security.txt, disclosure policy, bug bounty or certification found"
      }
    ],
    "job": {
      "capability": "geo.geocode",
      "name": "Geo geocode"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps.json",
        "title": "Amazon Location Service vs Azure Maps",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-geoapify.json",
        "title": "Amazon Location Service vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-geoapify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.json",
        "title": "ArcGIS Location Platform vs Azure Maps",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-azure-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-geoapify.json",
        "title": "ArcGIS Location Platform vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-geoapify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform.json",
        "title": "Azure Maps vs Google Maps Platform + Grounding Lite MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-locationiq.json",
        "title": "Azure Maps vs LocationIQ",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-locationiq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-mapbox.json",
        "title": "Azure Maps vs Mapbox APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-mapbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-mapquest.json",
        "title": "Azure Maps vs MapQuest",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-mapquest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-opencage.json",
        "title": "Azure Maps vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps.json",
        "title": "Azure Maps vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.json",
        "title": "Azure Maps vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-google-maps-platform.json",
        "title": "Geoapify Location Platform + MCP vs Google Maps Platform + Grounding Lite MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-google-maps-platform"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-locationiq.json",
        "title": "Geoapify Location Platform + MCP vs LocationIQ",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-locationiq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-mapbox.json",
        "title": "Geoapify Location Platform + MCP vs Mapbox APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-mapbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-mapquest.json",
        "title": "Geoapify Location Platform + MCP vs MapQuest",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-mapquest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-opencage.json",
        "title": "Geoapify Location Platform + MCP vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.json",
        "title": "Geoapify Location Platform + MCP vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-tomtom.json",
        "title": "Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-tomtom"
      }
    ],
    "scores": [
      {
        "azure-maps": 81,
        "by": 21,
        "edge": "azure-maps",
        "geoapify": 60,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-maps": 83,
        "by": 9,
        "edge": "azure-maps",
        "geoapify": 74,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "azure-maps": 73,
        "by": 1,
        "edge": "azure-maps",
        "geoapify": 72,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "azure-maps": 66,
        "by": 37,
        "edge": "azure-maps",
        "geoapify": 29,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "azure-maps": 20,
        "by": 10,
        "edge": "geoapify",
        "geoapify": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-maps": 67,
        "by": 6,
        "edge": "azure-maps",
        "geoapify": 61,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "azure-maps": 74,
        "by": 12,
        "edge": "azure-maps",
        "geoapify": 62,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Azure Maps scores 67.9 (B) on agent readiness against Geoapify Location Platform + MCP's 55.3 (C), and leads in 6 of 7 scored categories. Geoapify Location Platform + MCP leads on payments \u0026 pricing. Both do geo geocode.",
    "verdicts": {
      "azure-maps": "Azure Maps publishes OpenAPI documents for every service, per-service rate limits, a 99.9 per cent SLA and written rules on storing results, and Entra ID roles can limit a caller to one service. Place search exists only in Search 1.0, which the newer version has superseded, and the REST client libraries are all beta.",
      "geoapify": "Free plan allows commercial production use, 3,000 credits a day, no card. No security.txt, disclosure policy, bug bounty or certification found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify",
    "json": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.md",
    "slim": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.min.md"
  },
  "markdown": "Azure Maps scores 67.9 (B) on agent readiness against Geoapify Location Platform + MCP's 55.3 (C), and leads in 6 of 7 scored categories. Geoapify Location Platform + MCP leads on payments \u0026 pricing. Both do geo geocode.\n\n- Azure Maps: grade B, 67.9/100, rank #196 of 722. Markdown https://www.anchorterminal.com/tools/azure-maps.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-maps.json\n- Geoapify Location Platform + MCP: grade C, 55.3/100, rank #510 of 722. Markdown https://www.anchorterminal.com/tools/geoapify.md · JSON https://www.anchorterminal.com/api/v1/tools/geoapify.json\n\n## Which one, for what\n\n### Azure Maps (B)\n\nGood for: Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.\n\nAhead on:\n- Reliability, 81 against 60\n- Schema \u0026 documentation, 83 against 74\n- Security \u0026 auth, 66 against 29\n- Maintenance \u0026 community, 67 against 61\n- Transparency \u0026 trust, 74 against 62\n\nWatch for: Place and category search exist only in Search 1.0. Search 2026-01-01, which supersedes it, has geocoding, autocomplete, reverse geocoding and polygons\n\n### Geoapify Location Platform + MCP (C)\n\nGood for: Cheap geocoding, category place search, routing and isolines on OpenStreetMap data, with commercial use on the free plan and EU hosting.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 20\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No security.txt, disclosure policy, bug bounty or certification found\n\n\n## Score by category\n\n| Category | Weight | Azure Maps | Geoapify Location Platform + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 60 | Azure Maps +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 74 | Azure Maps +9 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 72 | Azure Maps +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 29 | Azure Maps +37 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Geoapify Location Platform + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 67 | 61 | Azure Maps +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 62 | Azure Maps +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.9 · B** | **55.3 · C** | |\n\n## Facts side by side\n\n| Fact | Azure Maps | Geoapify Location Platform + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft Azure | Geoapify |\n| Hosted endpoint | `https://atlas.microsoft.com` | `https://api.geoapify.com/v1` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| Price for geo geocode | $4.50 per 1,000 requests | not published |\n| x402 | no | no |\n| Licence | Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT | none |\n| Tools exposed | none | 11 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-09-30 | none |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 9.1k npm/wk, 25k PyPI/wk | none |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**Azure Maps.** Azure Maps publishes OpenAPI documents for every service, per-service rate limits, a 99.9 per cent SLA and written rules on storing results, and Entra ID roles can limit a caller to one service. Place search exists only in Search 1.0, which the newer version has superseded, and the REST client libraries are all beta.\n\n**Geoapify Location Platform + MCP.** Free plan allows commercial production use, 3,000 credits a day, no card. No security.txt, disclosure policy, bug bounty or certification found.\n\n## Before you call either\n\n### Azure Maps\n\n1. Send the key in the `subscription-key` header, or use `Authorization: Bearer` with `x-ms-client-id`. The key also works as a URL parameter, which leaks into logs.\n2. Call `GET /geocode?api-version=2026-01-01` for addresses. It can return 200 with no results, so check `confidence`, `matchCodes` and the entity type before use.\n3. Use Search 1.0 (`/search/poi/json`, `/search/nearby/json`, `/search/fuzzy/json`) for places. The 2026-01-01 version has no place search.\n4. Use `eu.atlas.microsoft.com` or `us.atlas.microsoft.com` to keep request data in that geography.\n5. Don't store route or tile results beyond six months, and never for serving several users. The product terms allow keeping geocodes while the account is active.\n\n### Geoapify Location Platform + MCP\n\n1. Send the key as x-api-key, which the specs support, rather than apiKey in the URL\n2. Use api-eu.geoapify.com when the data has to stay on EU infrastructure\n3. Use calculate_route for geometry and directions, and calculate_route_matrix only for travel times between many points\n4. Read a 429 'Quota exceeded' as the day's credits being gone, not a burst, and wait for the daily reset\n5. Show OpenStreetMap attribution wherever you display results\n\n## Questions\n\n### Which is better for AI agents, Azure Maps or Geoapify Location Platform + MCP?\n\nAzure Maps scores 67.9 (B) on agent readiness against Geoapify Location Platform + MCP's 55.3 (C), and leads in 6 of 7 scored categories. Geoapify Location Platform + MCP leads on payments \u0026 pricing.\n\n### Do Azure Maps and Geoapify Location Platform + MCP need an API key?\n\nAzure Maps takes an API key or an OAuth sign-in. Geoapify Location Platform + MCP needs an API key.\n\n### Can an agent call Azure Maps and Geoapify Location Platform + MCP without installing anything?\n\nYes. Azure Maps has a hosted endpoint at https://atlas.microsoft.com and Geoapify Location Platform + MCP at https://api.geoapify.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-maps\", \"b\": \"geoapify\"}`. From a terminal: `anchor compare azure-maps geoapify`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-maps.json and https://www.anchorterminal.com/api/v1/tools/geoapify.json\n\n## Other comparisons with Azure Maps or Geoapify Location Platform + MCP\n\n- [Amazon Location Service vs Azure Maps](https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps.md)\n- [Amazon Location Service vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/amazon-location-vs-geoapify.md)\n- [ArcGIS Location Platform vs Azure Maps](https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.md)\n- [ArcGIS Location Platform vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/arcgis-vs-geoapify.md)\n- [Azure Maps vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/azure-maps-vs-google-maps-platform.md)\n- [Azure Maps vs LocationIQ](https://www.anchorterminal.com/compare/azure-maps-vs-locationiq.md)\n- [Azure Maps vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-mapbox.md)\n- [Azure Maps vs MapQuest](https://www.anchorterminal.com/compare/azure-maps-vs-mapquest.md)\n- [Azure Maps vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/azure-maps-vs-opencage.md)\n- [Azure Maps vs Stadia Maps](https://www.anchorterminal.com/compare/azure-maps-vs-stadia-maps.md)\n- [Azure Maps vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.md)\n- [Geoapify Location Platform + MCP vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/geoapify-vs-google-maps-platform.md)\n- [Geoapify Location Platform + MCP vs LocationIQ](https://www.anchorterminal.com/compare/geoapify-vs-locationiq.md)\n- [Geoapify Location Platform + MCP vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-mapbox.md)\n- [Geoapify Location Platform + MCP vs MapQuest](https://www.anchorterminal.com/compare/geoapify-vs-mapquest.md)\n- [Geoapify Location Platform + MCP vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/geoapify-vs-opencage.md)\n- [Geoapify Location Platform + MCP vs Stadia Maps](https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.md)\n- [Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-tomtom.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Azure Maps vs Geoapify Location Platform + MCP",
        "url": ""
      }
    ],
    "description": "Azure Maps scores 67.9 (B) on agent readiness against Geoapify Location Platform + MCP's 55.3 (C), and leads in 6 of 7 scored categories. Geoapify Location Platform + MCP leads on payments \u0026 pricing. Both do geo geocode. Category scores, facts, verdicts and agent notes side by…",
    "facts": [
      "Azure Maps B 67.9",
      "Geoapify Location Platform + MCP C 55.3",
      "scores"
    ],
    "h1": "Azure Maps vs Geoapify Location Platform + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-maps-vs-geoapify.png",
    "path": "/compare/azure-maps-vs-geoapify",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Maps vs Geoapify Location Platform + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 680
  },
  "version": 1
}
