{
  "data": {
    "a": {
      "slug": "azure-maps",
      "name": "Azure Maps",
      "vendor": "Microsoft",
      "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",
      "dns": "azure-maps.grade.anchorterminal.com",
      "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.1,
        "grade": "B",
        "agentReady": false,
        "rank": 339,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 57,
          "payments": 20,
          "reliability": 81,
          "schema": 83,
          "security": 66,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "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` 2.0.0b2, the newest Python release, dates from 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": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.1
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 57,
          "payments": 20,
          "reliability": 81,
          "schema": 83,
          "security": 66,
          "transparency": 69
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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-openai",
        "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",
        "bing-grounding",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "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": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-maps.json",
      "live": {
        "slug": "azure-maps",
        "probe": {
          "target": "https://atlas.microsoft.com",
          "method": "get",
          "lastAt": "2026-11-07T22:55:47.106916128Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 455,
          "authRequired": false,
          "uptime24h": 89.34,
          "uptime30d": 89.79,
          "p50ms24h": 305,
          "p95ms24h": 759,
          "samples24h": 244,
          "samples30d": 7466,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 45
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 233
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 227
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 223
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 215
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 229
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 246
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 229
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 219
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 234
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 220
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 234
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 228
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 228
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 228
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 210
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 217
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 206
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 216
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 222
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 214
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 226
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 218
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 230
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 218
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 221
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 222
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 234
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 176
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 226
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 210
            }
          ],
          "outages": [
            {
              "start": "2026-11-06T23:38:49.41634389Z",
              "end": "2026-11-06T23:57:26.28502585Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-11-06T19:56:32.009507551Z",
              "end": "2026-11-06T20:50:07.414718035Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-11-03T04:17:57.523224864Z",
              "end": "2026-11-03T04:35:11.582236245Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-29T03:08:02.529899979Z",
              "end": "2026-10-29T03:25:39.740723735Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-27T11:12:49.143432695Z",
              "end": "2026-10-27T11:29:20.885602329Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-27T01:05:25.227867537Z",
              "end": "2026-10-27T01:22:54.298162675Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-25T13:54:00.847577794Z",
              "end": "2026-10-25T14:11:36.600193368Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-25T06:35:10.977191994Z",
              "end": "2026-10-25T06:53:12.996987294Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-25T01:29:12.94395092Z",
              "end": "2026-10-25T01:46:29.721056389Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-24T19:50:10.547657121Z",
              "end": "2026-10-24T20:07:10.880498447Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-23T03:59:50.926067071Z",
              "end": "2026-10-23T04:22:08.375456624Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-23T02:27:58.231896774Z",
              "end": "2026-10-23T02:45:07.857935828Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-23T01:13:24.148172267Z",
              "end": "2026-10-23T01:30:30.025360611Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-22T23:30:14.373107087Z",
              "end": "2026-10-22T23:53:27.153057679Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-18T21:01:46.561533935Z",
              "end": "2026-10-18T21:17:57.60912809Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-16T06:43:08.334148796Z",
              "end": "2026-10-16T06:59:53.121780705Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-12T23:39:57.205562741Z",
              "end": "2026-10-12T23:56:50.609463459Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-12T05:59:23.155877549Z",
              "end": "2026-10-12T06:28:35.303512395Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-11T14:41:50.607109515Z",
              "end": "2026-10-11T15:00:06.414603338Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-11T00:19:34.629724477Z",
              "end": "2026-10-11T00:41:36.334041072Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-10T18:39:25.188409923Z",
              "end": "2026-10-10T18:57:01.812075669Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-10T06:02:11.503108065Z",
              "end": "2026-10-10T06:19:56.319674553Z",
              "note": "HTTP 503 server error"
            },
            {
              "start": "2026-10-09T21:15:56.246049703Z",
              "end": "2026-10-09T21:34:12.491890137Z",
              "note": "HTTP 503 server error"
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@azure-rest/maps-route",
            "version": "1.0.0-beta.5",
            "seenAt": "2026-11-06T23:09:20.651075075Z"
          },
          {
            "registry": "npm",
            "name": "@azure-rest/maps-search",
            "version": "2.0.0-beta.3",
            "seenAt": "2026-11-06T23:09:20.391197685Z"
          },
          {
            "registry": "pypi",
            "name": "azure-maps-route",
            "version": "1.0.0b3",
            "released": "2024-12-12",
            "seenAt": "2026-11-06T23:09:18.512287526Z"
          },
          {
            "registry": "pypi",
            "name": "azure-maps-search",
            "version": "2.0.0b2",
            "released": "2024-12-12",
            "seenAt": "2026-11-06T23:09:18.297533897Z"
          }
        ],
        "githubStars": 3113,
        "npmWeekly": 8144,
        "pypiWeekly": 23750,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-11-01T14:14:19.336136409Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-pricing-tier",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:59.562562403Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "529cf7e7ea9e"
          },
          {
            "url": "https://learn.microsoft.com/en-us/rest/api/maps/route/get-route-directions?view=rest-maps-1.0",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:24.120195335Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5a5461c99de1"
          },
          {
            "url": "https://learn.microsoft.com/en-us/rest/api/maps/traffic/get-traffic-flow-tile?view=rest-maps-1.0",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:25.647542129Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2bcc9979ac01"
          },
          {
            "url": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftAzure/MCA",
            "kind": "terms",
            "status": 502,
            "checkedAt": "2026-11-07T14:31:48.305809075Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "github": {
          "repo": "azure/azure-rest-api-specs",
          "checkedAt": "2026-11-02T08:33:52.314773773Z",
          "stars": 3111,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:18:41Z",
          "openIssues": 1796,
          "openPRs": 315,
          "issuesOpened90d": 252,
          "issuesClosed90d": 839,
          "prsMerged90d": 1555,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 40,
            "failure": 10,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-10T02:09:14Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 22,
            "medianDays": 1.8
          }
        },
        "updatedAt": "2026-11-07T22:55:47.106916128Z"
      }
    },
    "answer": "Azure Maps scores 67.1 (B) on agent readiness against Woosmap's 59.4 (C), and leads in 5 of 7 scored categories. Woosmap leads on payments \u0026 pricing.",
    "b": {
      "slug": "woosmap",
      "name": "Woosmap",
      "vendor": "WOOSMAP SAS",
      "vendorUrl": "https://www.woosmap.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Woosmap is a French location platform with REST APIs for address autocomplete and geocoding (Localities), store search, distance and routing, geolocation, indoor maps and map display, plus a hosted MCP server for AI assistants.",
      "url": "https://www.anchorterminal.com/tools/woosmap",
      "markdownUrl": "https://www.anchorterminal.com/tools/woosmap.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/woosmap.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/woosmap.json",
      "dns": "woosmap.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.woosmap.com/mcp",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Keys from the Woosmap Console after a browser signup. Public keys (woos-...) are read-only and must be restricted to domains or IPs. Private keys are read-only or read and write, fixed at creation, restricted by IP, iOS or Android, and sent as the X-Api-Key header or the private_key query parameter. The MCP server takes a private key in the X-Api-Key header.",
      "pricing": "freemium",
      "pricingNotes": "Free plan up to 10,000 API requests a month with no credit card. Pro uses public volume tiers per API, shown in a calculator, and can be bought through AWS Marketplace. Enterprise is by quote with volume discounts, data caching options and a 99.9% SLA.",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI spec, llms.txt or pricing page (checked 2026-11-06). The spec documents a 402 response for billing, not a payment protocol.",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developers.woosmap.com/",
      "llmsTxt": "https://developers.woosmap.com/llms.txt",
      "openapi": "https://developers.woosmap.com/assets/woosmap-openapi3.json",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "api-key",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "openapi",
        "official",
        "status-page",
        "enterprise",
        "sla",
        "eu",
        "android",
        "ios",
        "closed-source"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.4,
        "grade": "C",
        "agentReady": false,
        "rank": 707,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 26,
          "payments": 30,
          "reliability": 78,
          "schema": 81,
          "security": 43,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Woosmap publishes an OpenAPI 3.1 spec, llms.txt with Markdown pages, per-endpoint rate limits and 429 retry rules, plus a hosted nine-tool MCP server. No changelog, security.txt, API data retention statement or readable per-request price was found, and private keys can travel in the query string.",
        "bestFor": "Store locators, address autocomplete and distance for retail and logistics teams that keep their own location data in the platform, with an MCP server for agents.",
        "strengths": [
          "OpenAPI 3.1 spec with 47 paths, llms.txt routing index and Markdown twins of every page",
          "Per-endpoint rate limits with RateLimit headers and explicit 429 retry rules and sample code",
          "Hosted MCP server at api.woosmap.com/mcp with nine tools, including search over the customer's own store data",
          "Read-only and read/write private keys with IP, iOS or Android restrictions and an X-Api-Key header",
          "Free plan of 10,000 requests a month with no card"
        ],
        "weaknesses": [
          "No public changelog or release notes for the APIs",
          "No security.txt, disclosure policy or certification found",
          "The privacy policy covers the website only, with nothing on API data retention",
          "Per-request prices aren't readable without the script-driven calculator",
          "`private_key` in the query string is documented and is the spec's default scheme"
        ],
        "agentNotes": [
          "Send the private key in the X-Api-Key header, not the private_key query parameter",
          "Use a read-only private key for the MCP server unless the task writes stores or datasets",
          "On 429 wait the `t` seconds from the RateLimit header, retry at most three times, and pause batches when `r` reaches 0",
          "Use find_stores_nearby for the customer's own locations and find_nearby for public POIs",
          "Read endpoint parameters from the /api-reference/ Markdown pages, which llms.txt marks as authoritative"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.4
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 26,
          "payments": 30,
          "reliability": 78,
          "schema": 81,
          "security": 43,
          "transparency": 31
        },
        "provenanceScore": 76,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"X-Api-Key: $WOOSMAP_PRIVATE_KEY\" \"https://api.woosmap.com/localities/geocode?address=Place+de+la+Comedie+Montpellier\"",
        "config": {
          "mcpServers": {
            "woosmap": {
              "args": [
                "mcp-remote",
                "https://api.woosmap.com/mcp",
                "--header",
                "X-Api-Key: PRIVATE_KEY"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/woosmap"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "WOOSMAP SAS",
        "domain": "woosmap.com",
        "domainRegistered": "2010-06-04",
        "endpointOnVendorDomain": true,
        "terms": "https://www.woosmap.com/policies/terms-online",
        "privacy": "https://www.woosmap.com/policies/privacy",
        "statusPage": "https://status.woosmap.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The online terms name WOOSMAP, a French SAS at 5 rue du Plan du Palais, 34000 Montpellier, RCS Montpellier 983 770 405, represented by its CEO Jean-Thomas Rouzin. The legal notice (effective 1 July 2024) gives SAS capital of €10,821,200 and AWS as the site host.",
          "status.woosmap.com's robots.txt disallows /api/ and /embed/. A request to /api/v2/incidents.json was sent by mistake on 6 November 2026 before robots.txt was read; its contents are not used anywhere in this listing.",
          "www.woosmap.com/.well-known/security.txt returns 404.",
          "No public API changelog was found. developers.woosmap.com/changelog/ and /release-notes/ return 404.",
          "RDAP gives woosmap.com a registration date of 4 June 2010. robots.txt on www.woosmap.com and developers.woosmap.com allows these pages, and the developer site's robots.txt allows llms.txt by name."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/woosmap.json",
      "live": {
        "slug": "woosmap",
        "probe": {
          "target": "https://api.woosmap.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T22:56:31.290273573Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 50,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 50,
          "p95ms24h": 132,
          "samples24h": 244,
          "samples30d": 246,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 233
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.woosmap.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T22:57:54.387981929Z"
        },
        "securityTxt": {
          "url": "https://woosmap.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:21.81706489Z"
        },
        "llmsTxt": {
          "url": "https://developers.woosmap.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:23.501072242Z"
        },
        "pages": [
          {
            "url": "https://www.woosmap.com/policies/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:37:14.116262014Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99523833ae5e"
          },
          {
            "url": "https://www.woosmap.com/policies/terms-online",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:37:19.402817389Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6252e1bc3d91"
          }
        ],
        "updatedAt": "2026-11-07T22:57:54.387981929Z"
      }
    },
    "edges": [
      {
        "by": 31,
        "category": "maintenance",
        "leads": "azure-maps",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service with official SDKs. The spec repository's newest Maps API or description changes are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types, 32 days before 1 November. The commits since then under the Maps folder (8 and 14 October) only change TypeSpec tooling and linter settings, so they don't count (20). Dated Maps changes since 3 August include description and example fixes on 28 August, 1 September, 14, 16 and 23 September and the two of 30 September, plus the Gen1 pricing retirement on 15 September (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. The azure-sdk changelogs date `azure-maps-search` 2.0.0b2 and `azure-maps-route` 1.0.0b3 to 12 December 2024 and `@azure-rest/maps-search` 2.0.0-beta.4 and `@azure-rest/maps-route` 1.0.0-beta.6 to 22 August 2025, with the next betas unreleased (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10). 20+20+8+5+4 = 57.",
          "b": "No dated API release, changelog or release note found. The newest dated activity we saw is the public woosmap-samples repository on 16 September 2026, which isn't an API release (10). No dated changes to count in the last 90 days (0). Support by email and a support centre, with no public changelog (5). Official JavaScript, iOS and Android SDKs exist, but we couldn't check their versions because the GitHub API was rate-limited and two SDK repository names didn't resolve; the MCP server isn't in the official MCP registry (8). The samples carry tests, per the rate-limits page (3). 10+0+5+8+3 = 26."
        },
        "scores": {
          "a": 57,
          "b": 26
        }
      },
      {
        "by": 23,
        "category": "security",
        "leads": "azure-maps",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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 still carries it on 1 November, and we did not confirm Maps on a SOC 2 scope list. An MSRC search on 1 November finds no CVE naming Azure Maps since November 2025 (17 of 20). 20+18+5+6+17 = 66.",
          "b": "Public keys are read-only and must carry a domain or IP restriction. Private keys are read-only or read and write (fixed at creation), restricted by IP, iOS or Android, and can go in an X-Api-Key header. Less 10 because `private_key` in the query string is a documented option and the default in the spec (17). Read-only keys and the read/write split give least privilege; no confirmation step on dataset deletes was found (16). find_nearby and get_place_details return public POI data, ratings and opening hours, with no prompt-injection guidance (7). Console usage per project wasn't checked (3). www.woosmap.com/.well-known/security.txt returns 404, and we found no disclosure policy, bug bounty or certification (0). 17+16+7+3+0 = 43."
        },
        "scores": {
          "a": 66,
          "b": 43
        }
      },
      {
        "by": 21,
        "category": "transparency",
        "leads": "azure-maps",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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). 15+22+16+16 = 69.",
          "b": "Editorial half only. Closed service under online terms that name WOOSMAP SAS of Montpellier and the Commercial Court of Paris (15). The privacy policy covers website visitors only, and we found no statement on how long API request data is kept (5). The pricing page says the Address API is 'being deprecated for Pro Plan subscriptions', with no date (5). The legal notice says the site is hosted by Amazon Web Services; no sub-processor list or data location for the APIs was found (6). 15+5+5+6 = 31."
        },
        "scores": {
          "a": 75,
          "b": 54
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "woosmap",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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), re-read on 1 November. 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). 0+20+0+0 = 20.",
          "b": "No x402, MPP or L402 (0). Plans and per-API tier breakpoints are public, but per-request prices sit in a script-driven calculator we couldn't read, so plan-only credit (10). Free plan up to 10,000 requests a month with 'No Credit Card Required' (20). A person signs up and creates a key in the console (0). 0+10+20+0 = 30."
        },
        "scores": {
          "a": 20,
          "b": 30
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "WOOSMAP SAS",
        "name": "Vendor"
      },
      {
        "a": "https://atlas.microsoft.com",
        "b": "https://api.woosmap.com/mcp",
        "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 geocoding"
      },
      {
        "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": "9",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "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": "2024-07-01",
        "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": "not found in the text",
        "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": "3.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure Maps scores 67.1 (B) on agent readiness against Woosmap's 59.4 (C), and leads in 5 of 7 scored categories. Woosmap leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure Maps or Woosmap?"
      },
      {
        "answer": "Azure Maps takes an API key or an OAuth sign-in. Woosmap needs an API key.",
        "question": "Do Azure Maps and Woosmap need an API key?"
      },
      {
        "answer": "Yes. Azure Maps has a hosted endpoint at https://atlas.microsoft.com and Woosmap at https://api.woosmap.com/mcp.",
        "question": "Can an agent call Azure Maps and Woosmap without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 66 against 43",
          "Maintenance \u0026 community, 57 against 26",
          "Transparency \u0026 trust, 75 against 54"
        ],
        "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": "Store locators, address autocomplete and distance for retail and logistics teams that keep their own location data in the platform, with an MCP server for agents.",
        "slug": "woosmap",
        "watchFor": "No public changelog or release notes for the APIs"
      }
    ],
    "history": {
      "azure-maps": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-01",
          "delta": -0.9,
          "from": 68,
          "fromGrade": "B",
          "to": 67.1,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 67.9,
          "fromGrade": "B",
          "to": 68,
          "toGrade": "B"
        }
      ],
      "woosmap": null
    },
    "job": {
      "capability": "geo.geocode",
      "name": "Geocoding"
    },
    "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-woosmap.json",
        "title": "Amazon Location Service vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-woosmap"
      },
      {
        "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-woosmap.json",
        "title": "ArcGIS Location Platform vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.json",
        "title": "Azure Maps vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-geocodio.json",
        "title": "Azure Maps vs Geocodio",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-geocodio"
      },
      {
        "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-here-location-services.json",
        "title": "Azure Maps vs HERE Location Services",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-here-location-services"
      },
      {
        "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-maptiler.json",
        "title": "Azure Maps vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-nextbillion.json",
        "title": "Azure Maps vs NextBillion.ai",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-nextbillion"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-nominatim.json",
        "title": "Azure Maps vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-nominatim"
      },
      {
        "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-radar.json",
        "title": "Azure Maps vs Radar",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-radar"
      },
      {
        "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-woosmap.json",
        "title": "Geoapify Location Platform + MCP vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-woosmap.json",
        "title": "Geocodio vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-maps-platform-vs-woosmap.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/here-location-services-vs-woosmap.json",
        "title": "HERE Location Services vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/here-location-services-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/locationiq-vs-woosmap.json",
        "title": "LocationIQ vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapbox-vs-woosmap.json",
        "title": "Mapbox APIs + MCP vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapquest-vs-woosmap.json",
        "title": "MapQuest vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-woosmap.json",
        "title": "MapTiler Cloud vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-woosmap.json",
        "title": "Nominatim vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencage-vs-woosmap.json",
        "title": "OpenCage Geocoding API vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/opencage-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/radar-vs-woosmap.json",
        "title": "Radar vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/radar-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stadia-maps-vs-woosmap.json",
        "title": "Stadia Maps vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/stadia-maps-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomtom-vs-woosmap.json",
        "title": "TomTom Maps APIs + MCP vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/tomtom-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nextbillion-vs-woosmap.json",
        "title": "NextBillion.ai vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/nextbillion-vs-woosmap"
      }
    ],
    "panel": null,
    "scores": [
      {
        "azure-maps": 81,
        "by": 3,
        "edge": "azure-maps",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "woosmap": 78
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-maps": 83,
        "by": 2,
        "edge": "azure-maps",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "woosmap": 81
      },
      {
        "azure-maps": 73,
        "by": 3,
        "edge": "woosmap",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "woosmap": 76
      },
      {
        "azure-maps": 66,
        "by": 23,
        "edge": "azure-maps",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "woosmap": 43
      },
      {
        "azure-maps": 20,
        "by": 10,
        "edge": "woosmap",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "woosmap": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-maps": 57,
        "by": 31,
        "edge": "azure-maps",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "woosmap": 26
      },
      {
        "azure-maps": 75,
        "by": 21,
        "edge": "azure-maps",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "woosmap": 54
      }
    ],
    "summary": "Azure Maps scores 67.1 (B) on agent readiness against Woosmap's 59.4 (C), and leads in 5 of 7 scored categories. Woosmap leads on payments \u0026 pricing. Both do geocoding.",
    "tasks": null,
    "tutorials": [],
    "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.",
      "woosmap": "Woosmap publishes an OpenAPI 3.1 spec, llms.txt with Markdown pages, per-endpoint rate limits and 429 retry rules, plus a hosted nine-tool MCP server. No changelog, security.txt, API data retention statement or readable per-request price was found, and private keys can travel in the query string."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-maps-vs-woosmap",
    "json": "https://www.anchorterminal.com/compare/azure-maps-vs-woosmap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-maps-vs-woosmap.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/azure-maps-vs-woosmap.min.md"
  },
  "markdown": "Azure Maps scores 67.1 (B) on agent readiness against Woosmap's 59.4 (C), and leads in 5 of 7 scored categories. Woosmap leads on payments \u0026 pricing. Both do geocoding.\n\n- Azure Maps: grade B, 67.1/100, rank #339 of 1510. Markdown https://www.anchorterminal.com/tools/azure-maps.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-maps.json\n- Woosmap: grade C, 59.4/100, rank #707 of 1510. Markdown https://www.anchorterminal.com/tools/woosmap.md · JSON https://www.anchorterminal.com/api/v1/tools/woosmap.json\n- Best maps, geocoding and places APIs for AI agents: https://www.anchorterminal.com/best/maps/index.md\n- All 153 maps comparisons: https://www.anchorterminal.com/compare/maps/index.md\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- Security \u0026 auth, 66 against 43\n- Maintenance \u0026 community, 57 against 26\n- Transparency \u0026 trust, 75 against 54\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### Woosmap (C)\n\nGood for: Store locators, address autocomplete and distance for retail and logistics teams that keep their own location data in the platform, with an MCP server for agents.\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 public changelog or release notes for the APIs\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Azure Maps +31\n\n- Azure Maps (57): Read as a closed service with official SDKs. The spec repository's newest Maps API or description changes are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types, 32 days before 1 November. The commits since then under the Maps folder (8 and 14 October) only change TypeSpec tooling and linter settings, so they don't count (20). Dated Maps changes since 3 August include description and example fixes on 28 August, 1 September, 14, 16 and 23 September and the two of 30 September, plus the Gen1 pricing retirement on 15 September (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. The azure-sdk changelogs date `azure-maps-search` 2.0.0b2 and `azure-maps-route` 1.0.0b3 to 12 December 2024 and `@azure-rest/maps-search` 2.0.0-beta.4 and `@azure-rest/maps-route` 1.0.0-beta.6 to 22 August 2025, with the next betas unreleased (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10). 20+20+8+5+4 = 57.\n- Woosmap (26): No dated API release, changelog or release note found. The newest dated activity we saw is the public woosmap-samples repository on 16 September 2026, which isn't an API release (10). No dated changes to count in the last 90 days (0). Support by email and a support centre, with no public changelog (5). Official JavaScript, iOS and Android SDKs exist, but we couldn't check their versions because the GitHub API was rate-limited and two SDK repository names didn't resolve; the MCP server isn't in the official MCP registry (8). The samples carry tests, per the rate-limits page (3). 10+0+5+8+3 = 26.\n\n### Security \u0026 auth: Azure Maps +23\n\n- Azure Maps (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 still carries it on 1 November, and we did not confirm Maps on a SOC 2 scope list. An MSRC search on 1 November finds no CVE naming Azure Maps since November 2025 (17 of 20). 20+18+5+6+17 = 66.\n- Woosmap (43): Public keys are read-only and must carry a domain or IP restriction. Private keys are read-only or read and write (fixed at creation), restricted by IP, iOS or Android, and can go in an X-Api-Key header. Less 10 because `private_key` in the query string is a documented option and the default in the spec (17). Read-only keys and the read/write split give least privilege; no confirmation step on dataset deletes was found (16). find_nearby and get_place_details return public POI data, ratings and opening hours, with no prompt-injection guidance (7). Console usage per project wasn't checked (3). www.woosmap.com/.well-known/security.txt returns 404, and we found no disclosure policy, bug bounty or certification (0). 17+16+7+3+0 = 43.\n\n### Transparency \u0026 trust: Azure Maps +21\n\n- Azure Maps (75): 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). 15+22+16+16 = 69.\n- Woosmap (54): Editorial half only. Closed service under online terms that name WOOSMAP SAS of Montpellier and the Commercial Court of Paris (15). The privacy policy covers website visitors only, and we found no statement on how long API request data is kept (5). The pricing page says the Address API is 'being deprecated for Pro Plan subscriptions', with no date (5). The legal notice says the site is hosted by Amazon Web Services; no sub-processor list or data location for the APIs was found (6). 15+5+5+6 = 31.\n\n### Payments \u0026 pricing: Woosmap +10\n\n- Azure Maps (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), re-read on 1 November. 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). 0+20+0+0 = 20.\n- Woosmap (30): No x402, MPP or L402 (0). Plans and per-API tier breakpoints are public, but per-request prices sit in a script-driven calculator we couldn't read, so plan-only credit (10). Free plan up to 10,000 requests a month with 'No Credit Card Required' (20). A person signs up and creates a key in the console (0). 0+10+20+0 = 30.\n\n## Score by category\n\n| Category | Weight | Azure Maps | Woosmap | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 78 | Azure Maps +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 81 | Azure Maps +2 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 76 | Woosmap +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 43 | Azure Maps +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Woosmap +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 26 | Azure Maps +31 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 54 | Azure Maps +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.1 · B** | **59.4 · C** | |\n\n## Facts side by side\n\n| Fact | Azure Maps | Woosmap |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | WOOSMAP SAS |\n| Hosted endpoint | `https://atlas.microsoft.com` | `https://api.woosmap.com/mcp` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| Price for geocoding | $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 | 9 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\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 | 2024-07-01 |\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 | not found in the text |\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 | 3.3/5 (4) | none |\n\n## How the scores have moved\n\n### Azure Maps\n\n- -0.9 on 1 November 2026: time\n- +0.1 on 27 October 2026: checklist\n\n### Woosmap\n\nNo score change since it was listed.\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**Woosmap.** Woosmap publishes an OpenAPI 3.1 spec, llms.txt with Markdown pages, per-endpoint rate limits and 429 retry rules, plus a hosted nine-tool MCP server. No changelog, security.txt, API data retention statement or readable per-request price was found, and private keys can travel in the query string.\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### Woosmap\n\n1. Send the private key in the X-Api-Key header, not the private_key query parameter\n2. Use a read-only private key for the MCP server unless the task writes stores or datasets\n3. On 429 wait the `t` seconds from the RateLimit header, retry at most three times, and pause batches when `r` reaches 0\n4. Use find_stores_nearby for the customer's own locations and find_nearby for public POIs\n5. Read endpoint parameters from the /api-reference/ Markdown pages, which llms.txt marks as authoritative\n\n## Questions\n\n### Which is better for AI agents, Azure Maps or Woosmap?\n\nAzure Maps scores 67.1 (B) on agent readiness against Woosmap's 59.4 (C), and leads in 5 of 7 scored categories. Woosmap leads on payments \u0026 pricing.\n\n### Do Azure Maps and Woosmap need an API key?\n\nAzure Maps takes an API key or an OAuth sign-in. Woosmap needs an API key.\n\n### Can an agent call Azure Maps and Woosmap without installing anything?\n\nYes. Azure Maps has a hosted endpoint at https://atlas.microsoft.com and Woosmap at https://api.woosmap.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-maps-vs-woosmap.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-maps-vs-woosmap.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-maps\", \"b\": \"woosmap\"}`. From a terminal: `anchor compare azure-maps woosmap`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-maps.json and https://www.anchorterminal.com/api/v1/tools/woosmap.json\n\n## Other comparisons with Azure Maps or Woosmap\n\n- [Amazon Location Service vs Azure Maps](https://www.anchorterminal.com/compare/amazon-location-vs-azure-maps.md)\n- [Amazon Location Service vs Woosmap](https://www.anchorterminal.com/compare/amazon-location-vs-woosmap.md)\n- [ArcGIS Location Platform vs Azure Maps](https://www.anchorterminal.com/compare/arcgis-vs-azure-maps.md)\n- [ArcGIS Location Platform vs Woosmap](https://www.anchorterminal.com/compare/arcgis-vs-woosmap.md)\n- [Azure Maps vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.md)\n- [Azure Maps vs Geocodio](https://www.anchorterminal.com/compare/azure-maps-vs-geocodio.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 HERE Location Services](https://www.anchorterminal.com/compare/azure-maps-vs-here-location-services.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 MapTiler Cloud](https://www.anchorterminal.com/compare/azure-maps-vs-maptiler.md)\n- [Azure Maps vs NextBillion.ai](https://www.anchorterminal.com/compare/azure-maps-vs-nextbillion.md)\n- [Azure Maps vs Nominatim](https://www.anchorterminal.com/compare/azure-maps-vs-nominatim.md)\n- [Azure Maps vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/azure-maps-vs-opencage.md)\n- [Azure Maps vs Radar](https://www.anchorterminal.com/compare/azure-maps-vs-radar.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 Woosmap](https://www.anchorterminal.com/compare/geoapify-vs-woosmap.md)\n- [Geocodio vs Woosmap](https://www.anchorterminal.com/compare/geocodio-vs-woosmap.md)\n- [Google Maps Platform + Grounding Lite MCP vs Woosmap](https://www.anchorterminal.com/compare/google-maps-platform-vs-woosmap.md)\n- [HERE Location Services vs Woosmap](https://www.anchorterminal.com/compare/here-location-services-vs-woosmap.md)\n- [LocationIQ vs Woosmap](https://www.anchorterminal.com/compare/locationiq-vs-woosmap.md)\n- [Mapbox APIs + MCP vs Woosmap](https://www.anchorterminal.com/compare/mapbox-vs-woosmap.md)\n- [MapQuest vs Woosmap](https://www.anchorterminal.com/compare/mapquest-vs-woosmap.md)\n- [MapTiler Cloud vs Woosmap](https://www.anchorterminal.com/compare/maptiler-vs-woosmap.md)\n- [Nominatim vs Woosmap](https://www.anchorterminal.com/compare/nominatim-vs-woosmap.md)\n- [OpenCage Geocoding API vs Woosmap](https://www.anchorterminal.com/compare/opencage-vs-woosmap.md)\n- [Radar vs Woosmap](https://www.anchorterminal.com/compare/radar-vs-woosmap.md)\n- [Stadia Maps vs Woosmap](https://www.anchorterminal.com/compare/stadia-maps-vs-woosmap.md)\n- [TomTom Maps APIs + MCP vs Woosmap](https://www.anchorterminal.com/compare/tomtom-vs-woosmap.md)\n- [NextBillion.ai vs Woosmap](https://www.anchorterminal.com/compare/nextbillion-vs-woosmap.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Azure Maps vs Woosmap",
        "url": ""
      }
    ],
    "description": "Azure Maps scores 67.1 (B) to Woosmap's 59.4 (C) for geocoding. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Azure Maps B 67.1",
      "Woosmap C 59.4",
      "scores"
    ],
    "h1": "Azure Maps vs Woosmap",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/azure-maps-vs-woosmap",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Maps vs Woosmap for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/azure-maps-vs-woosmap"
  },
  "tokens": {
    "markdown": 4250,
    "slim": 2180
  },
  "version": 1
}
