Azure Maps
by Microsoft Azure HTTP API in Maps, geocoding & places
Hosted
Microsoft Corporation · microsoft.com since 1991 · status page · who's behind it
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.
Good for Teams already on Azure that want geocoding and routing under Entra ID roles and one flat price.
Is this your product? Claim this listing or verify it
More from Microsoft Azure Microsoft Foundry fine-tuning (Azure OpenAI) (Fine-tuning) · Azure AI Content Safety (Prompt Shields) (Guardrails) · Azure AI Speech speech-to-text (STT) · Azure AI Speech text-to-speech (TTS) · Microsoft Agent Framework (Frameworks) · Microsoft Execution Containers (Sandboxes) · Microsoft Entra Agent ID (Agent auth) · Azure Key Vault (Secrets) · Azure DevOps MCP Server (Code) · Microsoft Learn MCP Server (Code) · Playwright MCP (Browser) · Azure MCP Server (Infra) · Azure Translator (Translation) · Microsoft Graph Calendar API (Scheduling) · Microsoft Teams (Microsoft Graph) (Work) · Microsoft Dynamics 365 Sales (CRM) · Microsoft Power Automate (Workflows) · Microsoft Advertising API (Advertising) · Microsoft Excel (Microsoft Graph workbook API) (Spreadsheets) · Outlook Mail (Microsoft Graph) (Mailboxes)
Assessment. 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.
Facts
- Transport
- HTTP
- Endpoint
https://atlas.microsoft.com- Auth
- OAuth or key
- Pricing
- Freemium · $4.50 / 1k req
- x402
- No
- Licence
- Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT
- Packages
pypiazure-maps-searchpypiazure-maps-routenpm@azure-rest/maps-searchnpm@azure-rest/maps-route- llms.txt
- not found
- Last release
- npm / week
- 9.1k
- PyPI / week
- 25k
- Services
- Search (2026-01-01 and 1.0), Route (2025-01-01), Render (2024-04-01), Traffic (2025-01-01), Weather (1.1), Timezone and Geolocation (1.0)
- Search 2026-01-01
- Geocoding, geocode autocomplete, reverse geocoding, batch forms of up to 100 queries and boundary polygons. GeoJSON responses.
topfrom 1 to 20, default 5 - Place search
- Search 1.0 only. POI by name, by category, nearby, along a route and inside a geometry, with
limitup to 100 andofspaging - Route 2025-01-01
- Directions for car, truck and walking, matrix (sync and async), reachable range and snap to roads, with batches of up to 100
- Rate limits
- Per second, per account. Search 500, reverse geocoding 250, autocomplete 100, routing 50, batch 10, road tiles 500, satellite tiles 250, static maps 50, traffic 50, weather 50. No daily cap
- Credentials
- Subscription key (two per account), SAS token (24 hours at most, rate cap, allowed regions) or Microsoft Entra ID with Azure roles
- Roles
- Azure Maps Search and Render Data Reader, Data Reader, Data Contributor, Data Read and Batch, or a custom role per service such as
Microsoft.Maps/accounts/services/search/read - Free amount
- Each month 5,000 transactions for Search, Geolocation, Timezone, base map tiles and traffic tiles, and 1,000 for Routing, Traffic, Weather, imagery tiles and static images
- Billing rules
- 15 tiles, 4 matrix cells or 10 autocomplete requests make one transaction. 5xx, 401, 403, 408 and 429 responses are not billed
- Storage terms
- Geocodes may be stored while the Azure account is active. Other results for the header's validity period or six months, whichever is shorter, and only to cut latency
- Data location
eu.atlas.microsoft.comandus.atlas.microsoft.comkeep requests in that geography. Korean addresses need consent to processing in Korea Central- SLA
- 99.9 per cent per API, with 10 per cent credit below that and 25 per cent below 99 per cent (SLA for Online Services, 1 October 2026)
- Client libraries
- Python
azure-maps-search2.0.0b2 (12 December 2024), JavaScript@azure-rest/maps-search2.0.0-beta.4 (22 August 2025), .NETAzure.Maps.Search2.0.0-beta.5 and Java. All beta - Usage records
- Azure Monitor metrics for usage, errors and availability, kept 93 days
Facts verified 2026-10-08 from vendor docs, repositories and package registries. JSON · Markdown
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-searchon 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
Before you call it notes for agents
- Send the key in the
subscription-keyheader, or useAuthorization: Bearerwithx-ms-client-id. The key also works as a URL parameter, which leaks into logs. - Call
GET /geocode?api-version=2026-01-01for addresses. It can return 200 with no results, so checkconfidence,matchCodesand 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.comorus.atlas.microsoft.comto 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.
Who's behind it provenance 78/100
- Legal entity namedMicrosoft Corporation20/20
- Domain agemicrosoft.com, registered 1991-05-02 (35 years)15/15
- Endpoint on the vendor's domainatlas.microsoft.com15/15
- Terms of serviceread, states 4 of the 7 things a reader expects, and has 1 clause that costs points5.4/10
- Privacy policyread, states 8 of the 8 things a reader expects, and has 1 clause that costs points8/10
- Status pageazure.status.microsoft/en-us/status10/10
- Changelognot found0/10
- security.txtpublished but past its Expires date5/10
Terms and privacy, as read
Terms of service gives no date, states 4 of 7, 1 to know
TL;DR Gives no date. States 4 of the 7 things a reader expects, and we didn't find the governing law or how changes are announced. To know before relying on it, limits on benchmarking.
Restricts benchmarking or competitive usecosts points
Customer will not use and will not allow third parties to use Foundry Tools or data from Foundry Tools to create, train, or improve (directly or indirectly) a similar or competing product or service.
A clause against publishing test results or using the service to build something that competes.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version they agreed to.
Names the governing law or courts
Not found in the text.
Says where a dispute would be heard and under whose law.
States a limit on its liability
Limitation of Liability and Exclusion of Damages: Customer will disclaim liability and exclude damages in a way that is consistent with the provisions of any applicable agreement(s) between Customer and Microsoft.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
Upon expiration of an Azure Capacity Block, Customer will be evicted from the applicable capacity, and Microsoft will stop or suspend Customer’s use of the applicable Microsoft Azure Services.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced
Not found in the text.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
Customer will not be refunded payment (paid or scheduled) for unused Azure reservations.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
For each User SL (or equivalent Subscription License Suite) Customer assigns to a user, Customer may also permit up to five additional External Users to access the corresponding Microsoft Entra ID service level.
Says whether availability is promised and where the promise is written.
For Foundry Models sold by Azure, authorised Microsoft employees may review stored input and output content that the automated abuse monitoring has flagged.
Authorized Microsoft employees may review such data that has triggered our automated systems to investigate and verify potential abuse.
Noted by a second reader on 2026-10-08.
Azure pricing can change at any time under the Microsoft Customer Agreement.
As stated in the Microsoft Customer Agreement (MCA), Azure pricing is subject to change at any time.
Noted by a second reader on 2026-10-08.
Results from the Bing Search Services may be used only in Internet Search Experiences and may not be cached or copied.
Customer must use results it obtains from the Bing Search Services only in Internet Search Experiences (as defined in the use and display requirements) and must not cache or copy results.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 17,227 words
Privacy policy dated 2026-09-01, states 8 of 8, 2 to know
TL;DR Dated 2026-09-01. States all 8 things a reader expects. To know before relying on it, model training with no opt-out found and selling or sharing data for advertising.
Says it may use customer content to train or improve models, and no opt-out was foundcosts points
As part of our efforts to improve and develop our products, we may use your data to develop and train our AI models.
Content an agent sends could end up in a model. An opt-out, where the document gives one, is shown instead.
Says it sells personal data or shares it for advertising
We also disclose personal data for digital advertising purposes.
Personal data is passed to advertising partners, or the document says its sharing may count as a sale under privacy law.
Gives the date it was last updated Last updated 2026-09-01
Last Updated: September 2026
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
The data we collect depends on the context of your interactions with Microsoft and the choices you make, including your privacy settings and the products and features you use.
The basic statement a privacy policy exists to make.
Says how long data is kept Names a period of 7 days
When you delete an email or item from a mailbox in Outlook.com, the item generally goes into your Deleted Items folder where it remains for approximately 7 days unless you move it back to your inbox, you empty the folder, or the service empties the folder automatically, whichever comes first.
Says when data sent to the service is deleted.
Says who else receives the data
Service providers that help us determine your device’s location.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising
not use or share student personal data for advertising or similar commercial purposes, such as providing personalized advertising to students;
A plain statement either way.
Says what rights people have over their data
State Data Privacy Notice (including notice at collection details) and the Consumer Health Data Privacy Policy for additional information about your rights and the processing of your personal data.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact Names a data protection officer
If you have a privacy concern, complaint, or question for the Microsoft privacy team or Data Protection Officer, please visit our privacy support and requests page and click on “Contact the Microsoft privacy team or the Microsoft Data Protection Officer” menu.
An address or officer to send a request to.
Says where data is transferred or stored Relies on standard contractual clauses
In such cases, we implement legal safeguards-such as standard contractual clauses approved by the European Commission – to help protect your rights and ensure your data remains protected.
The countries data goes to and the safeguard used.
For enterprise and developer products, the customer's agreement with Microsoft takes precedence over this privacy statement where the two conflict.
In the event of a conflict between our privacy statement and the terms of any agreement(s) between a customer and Microsoft for Enterprise and Developer Products, the terms of those agreement(s) will control.
Noted by a second reader on 2026-10-08.
Prompts and related data sent to the consumer Microsoft Copilot are used to improve services and for relevant advertising.
Microsoft Copilot also uses prompts and related data to provide and improve services, including relevant advertising.
Noted by a second reader on 2026-10-08.
Microsoft staff manually review some results of its automated systems, including AI, against the source data.
For example, to build, train, and improve the accuracy of our automated systems – such as AI - we manually review some of the results against the underlying data.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 33,580 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
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.
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.
Checked 2026-10-08 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-08 20:21 UTC
Probed every five minutes at https://atlas.microsoft.com. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials.
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/azure-maps.json
Notable
- Search 2026-01-01 has six operations (
/geocode,/geocode:autocomplete,/geocode:batch,/reverseGeocode,/reverseGeocode:batch,/search/polygon) and no place search. Points of interest by name, category or nearby remain in Search 1.0 source - The migration guide says Search 1.0 is superseded and still works, with no retirement date source
- The product terms forbid turn-by-turn navigation, use with a vehicle's dashboard, combining results with a third-party map database and storing results to serve several users. Geocodes may be stored while the Azure account is active source
- Azure Maps shares address and location queries with TomTom, which Microsoft names as a subprocessor, and says the queries are not linked to a customer or end user source
- Render 1.0 retired on 17 September 2026 and the Gen1 pricing tier on 15 September 2026, with accounts converted to Gen2 without new keys source
- learn.microsoft.com returns each docs and reference page as Markdown when
?accept=text/markdownis added to the URL. https://learn.microsoft.com/llms.txt returns 404 - No MCP server for Azure Maps appears in the Azure Maps documentation contents source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 8 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 16.2 | |
| Hosted reading. Azure status page with a history of post-incident reviews (20). The history lists three incidents in the last 90 days, West US network connectivity on 23 July 2026 (14:44 to 19:41 UTC), Azure OpenAI and Cognitive Services in Sweden Central on 29 September, and gateway services in several regions on 30 September. None names Azure Maps. The page lists only broad incidents, so there is no service-level history for Maps, and we count the record as minor (20 of 30). Default limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing (15). The service answers 429 over the limit and doesn't bill 429, 408 or 5xx responses, and data-plane calls are reads, so a retry is safe. No Retry-After header or backoff guidance was found in the reviewed documentation (6 of 15). The SLA for Online Services of 1 October 2026 commits to 99.9 per cent per API, with 10 and 25 per cent credits (10). Search 2026-01-01 and Route 2025-01-01 are stable versions. The REST index still labels autocomplete a preview (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 13.5 | |
OpenAPI 2.0 documents for each service are public in Azure/azure-rest-api-specs, generated from TypeSpec since April 2026 (25). learn.microsoft.com returns each page as Markdown when ?accept=text/markdown is added, though llms.txt returns 404 (10). Operation descriptions state purpose, and the geocoding and migration pages say when to use geocoding, autocomplete or batch and when not to (16 of 20). Typed parameters with ranges such as top from 1 to 20, 18 enums in the Search document and 48 in Route, and required fields marked (13 of 15). Examples on all 16 Search and Route operations, but errors are one default response with an x-ms-error-code header and no list of codes found (10 of 15). Dated api-version values and migration guides for Search, Route, Render and Traffic 1.0, but no API changelog page. The release notes cover the Web SDK only (9 of 15). | |||
| Agent ergonomics | 13%16.2 | 11.9 | |
API reading of the checklist. Geocoding returns five results by default and top caps them at 20, but there is no field selection and each response is a full GeoJSON collection (18 of 25). bbox, countryRegion, coordinates and resultTypes filters, and Search 1.0 adds limit, ofs, categorySet and brandSet (17 of 20). Errors follow the Azure shape with code, message, target and details, and batch responses carry an error per item. No list of codes was found (13 of 20). Every data-plane call is a read, route POSTs have no side effects, and failed calls are not billed. No retry guidance for 429 was found (15 of 20). Geocoding needs only api-version and a query. Client libraries exist for Python, JavaScript, .NET and Java, all beta (10 of 15). | |||
| Security & auth | 14%17.5 | 11.6 | |
Microsoft Entra ID OAuth tokens with Azure roles, SAS tokens limited to 24 hours with a rate cap and allowed regions, and two subscription keys that can be regenerated in turn (30). Less 10 because the authentication guide tells callers to add the subscription key as a URL parameter, and Search 1.0 declares the key as a query parameter (20). Built-in reader roles, custom roles down to one service such as Microsoft.Maps/accounts/services/search/read, and disableLocalAuth to turn keys off. The data-plane APIs only read. A subscription key reaches every API on the account (18 of 20). Place names, addresses and traffic incident text come from third parties, and no prompt-injection guidance was found (5 of 15). Azure Monitor metrics show usage, errors and availability for 93 days. Per-request logs were not found in the Azure Maps docs (6 of 15). MSRC coordinated disclosure and bounty policies, and Azure Maps is on the FedRAMP High audit scope list dated 21 September 2026. The microsoft.com security.txt passed its Expires date on 23 September 2026, and we did not confirm Maps on a SOC 2 scope list (17 of 20). | |||
| Payments & pricing | 10%12.5 | 2.5 | |
| No x402, MPP or L402 (0). Per-1,000-transaction prices are public without a login through the Azure Retail Prices API, $4.50 on each Gen2 meter. The pricing page showed our reader the free amounts but no dollar figures (20). Free monthly transactions exist, 5,000 for search and 1,000 for routing, but an Azure account asks for a card to verify identity (0). A person signs up in a browser and creates the Maps account (0). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 5.9 | |
Read as a closed service with official SDKs. The spec repository's newest Maps commits are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types (30). Seven dated Maps commits since 28 July 2026, plus the Gen1 pricing retirement on 15 September. Most are description changes and retirements, not new operations (20). No API changelog. Microsoft Q&A and a feedback forum are linked from each docs page, which we did not read (8 of 15). The REST client libraries are all beta and lag the service, azure-maps-search 2.0.0b2 on PyPI from 12 December 2024 and @azure-rest/maps-search 2.0.0-beta.4 on npm from 22 August 2025, with npm's latest tag still on beta.3 (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10). | |||
| Transparency & trusteditorial 69, provenance 78 | 7%8.8 | 6.5 | |
| 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). | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 67.9 · B | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 19 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Azure Maps, or have the agent fetch /fixes/azure-maps.md. A fix counts at the next check, once it's public.
Show it
# Fix list: Azure Maps From Anchor Terminal's listing at https://www.anchorterminal.com/tools/azure-maps, the October 2026 research run, assessed 8 October 2026. Grade B, 67.9 out of 100. This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public. For a coding agent working on Azure Maps: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published. ## 1. Payments & pricing, 20 out of 100, up to 10 more on the total Why it scored 20: No x402, MPP or L402 (0). Per-1,000-transaction prices are public without a login through the Azure Retail Prices API, $4.50 on each Gen2 meter. The pricing page showed our reader the free amounts but no dollar figures (20). Free monthly transactions exist, 5,000 for search and 1,000 for routing, but an Azure account asks for a card to verify identity (0). A person signs up in a browser and creates the Maps account (0). The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments): The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/). - 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which. - 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login. - 20, a free tier or trial that doesn't need a card. - 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API). Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied. Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol. ## 2. Security & auth, 66 out of 100, up to 6 more on the total Why it scored 66: Microsoft Entra ID OAuth tokens with Azure roles, SAS tokens limited to 24 hours with a rate cap and allowed regions, and two subscription keys that can be regenerated in turn (30). Less 10 because the authentication guide tells callers to add the subscription key as a URL parameter, and Search 1.0 declares the key as a query parameter (20). Built-in reader roles, custom roles down to one service such as `Microsoft.Maps/accounts/services/search/read`, and `disableLocalAuth` to turn keys off. The data-plane APIs only read. A subscription key reaches every API on the account (18 of 20). Place names, addresses and traffic incident text come from third parties, and no prompt-injection guidance was found (5 of 15). Azure Monitor metrics show usage, errors and availability for 93 days. Per-request logs were not found in the Azure Maps docs (6 of 15). MSRC coordinated disclosure and bounty policies, and Azure Maps is on the FedRAMP High audit scope list dated 21 September 2026. The microsoft.com security.txt passed its Expires date on 23 September 2026, and we did not confirm Maps on a SOC 2 scope list (17 of 20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-security): - 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option. - 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions. - 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10. - 0 to 15, audit logs or per-call visibility for the operator. - 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public. Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing. ## 3. Agent ergonomics, 73 out of 100, up to 4.4 more on the total Why it scored 73: API reading of the checklist. Geocoding returns five results by default and `top` caps them at 20, but there is no field selection and each response is a full GeoJSON collection (18 of 25). `bbox`, `countryRegion`, `coordinates` and `resultTypes` filters, and Search 1.0 adds `limit`, `ofs`, `categorySet` and `brandSet` (17 of 20). Errors follow the Azure shape with `code`, `message`, `target` and `details`, and batch responses carry an error per item. No list of codes was found (13 of 20). Every data-plane call is a read, route POSTs have no side effects, and failed calls are not billed. No retry guidance for 429 was found (15 of 20). Geocoding needs only `api-version` and a query. Client libraries exist for Python, JavaScript, .NET and Java, all beta (10 of 15). The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics): - 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries). - 20, pagination, filtering and output-size controls. - 20, actionable, documented error responses, codes and messages an agent can recover from. - 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations. - 15, sensible defaults, few required parameters, and official SDKs in at least two languages. Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs. ## 4. Reliability, 81 out of 100, up to 3.8 more on the total Why it scored 81: Hosted reading. Azure status page with a history of post-incident reviews (20). The history lists three incidents in the last 90 days, West US network connectivity on 23 July 2026 (14:44 to 19:41 UTC), Azure OpenAI and Cognitive Services in Sweden Central on 29 September, and gateway services in several regions on 30 September. None names Azure Maps. The page lists only broad incidents, so there is no service-level history for Maps, and we count the record as minor (20 of 30). Default limits published per service, 500 requests a second for search, 250 for reverse geocoding and 50 for routing (15). The service answers 429 over the limit and doesn't bill 429, 408 or 5xx responses, and data-plane calls are reads, so a retry is safe. No Retry-After header or backoff guidance was found in the reviewed documentation (6 of 15). The SLA for Online Services of 1 October 2026 commits to 99.9 per cent per API, with 10 and 25 per cent credits (10). Search 2026-01-01 and Route 2025-01-01 are stable versions. The REST index still labels autocomplete a preview (10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability): Hosted APIs, MCP servers, models and platforms. - 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own). - 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so. - 15, rate limits documented with numbers. - 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved. - 10, an SLA published for any paid tier. - 10, the surface agents use is generally available, not beta or preview. Local packages, SDKs, frameworks and stdio MCP servers. - 20, installs from an official package with supported runtimes stated. - 25, a public CI and test suite, passing on the default branch. - 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered). - 15, semver discipline and breaking changes called out in a changelog. - 15, version 1.0 or later, or declared stable. Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors. ## 5. Maintenance & community, 67 out of 100, up to 2.9 more on the total Why it scored 67: Read as a closed service with official SDKs. The spec repository's newest Maps commits are from 30 September 2026, removing Render 1.0 after its retirement on 17 September and clarifying autocomplete result types (30). Seven dated Maps commits since 28 July 2026, plus the Gen1 pricing retirement on 15 September. Most are description changes and retirements, not new operations (20). No API changelog. Microsoft Q&A and a feedback forum are linked from each docs page, which we did not read (8 of 15). The REST client libraries are all beta and lag the service, `azure-maps-search` 2.0.0b2 on PyPI from 12 December 2024 and `@azure-rest/maps-search` 2.0.0-beta.4 on npm from 22 August 2025, with npm's `latest` tag still on beta.3 (5 of 15). The libraries live in the azure-sdk monorepos, CI not checked (4 of 10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance): - 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older. - 20, at least three releases or dated changelog entries in the last 90 days. - 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15. - 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models). - 10, package health, current dependencies and CI. Models are read for deprecation notice periods and model churn rather than release counts. ## 6. Schema & documentation, 83 out of 100, up to 2.8 more on the total Why it scored 83: OpenAPI 2.0 documents for each service are public in `Azure/azure-rest-api-specs`, generated from TypeSpec since April 2026 (25). learn.microsoft.com returns each page as Markdown when `?accept=text/markdown` is added, though `llms.txt` returns 404 (10). Operation descriptions state purpose, and the geocoding and migration pages say when to use geocoding, autocomplete or batch and when not to (16 of 20). Typed parameters with ranges such as `top` from 1 to 20, 18 enums in the Search document and 48 in Route, and required fields marked (13 of 15). Examples on all 16 Search and Route operations, but errors are one default response with an `x-ms-error-code` header and no list of codes found (10 of 15). Dated `api-version` values and migration guides for Search, Route, Render and Traffic 1.0, but no API changelog page. The release notes cover the Web SDK only (9 of 15). The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema): APIs and MCP servers. - 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool). - 10, llms.txt or Markdown docs served for agents. - 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference. - 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs. - 0 to 15, examples and documented error responses. - 15, versioning and a public changelog. Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference. ## 7. Transparency & trust, 74 out of 100, up to 2.3 more on the total Made of editorial 69, provenance 78. Why it scored 74: Closed service under Microsoft's Product Terms, which carry a section of Azure Maps rules on storage, navigation and attribution, with MIT client libraries (15 of 30). The docs say requests and input data are stored only in the chosen geography and that queries go to TomTom without a link to the customer. No retention period for request data was found, and we did not read the Data Protection Addendum (22 of 30). The Modern Lifecycle Policy promises 12 months' notice before support ends. Gen1 pricing and Render 1.0 retired on stated dates in September 2026, while Search 1.0 is superseded with no date (16 of 20). TomTom is named as a subprocessor, and European and United States endpoints fix the data location. The full sub-processor list sits on the Service Trust Portal, which we did not read (16 of 20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency): - 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms. - 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors). - 0 to 20, a deprecation policy or notices with dates. - 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted). The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two. Provenance checks not met in full (half of this category, computed from checked facts): - Terms of service: read, states 4 of the 7 things a reader expects, and has 1 clause that costs points (5.4 of 10) - Privacy policy: read, states 8 of the 8 things a reader expects, and has 1 clause that costs points (8 of 10) - Changelog: not found (0 of 10) - security.txt: published but past its Expires date (5 of 10) ## What we couldn't check What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it. - unchecked: the Azure updates feed for Azure Maps, which the docs link in place of an API changelog. We did not open it. - unchecked: the Microsoft Products and Services Data Protection Addendum and the sub-processor list on the Service Trust Portal. - unchecked: whether Azure Maps is on a current SOC 2 or ISO 27001 scope list. Only the FedRAMP audit scope page was read. - unchecked: GitHub issue response times for the Maps client libraries, and their CI. - The pricing page showed our reader no dollar figures, so unit prices come from the Azure Retail Prices API, which lists one $4.50 tier and no volume steps. - When Search 1.0 retires, and whether place search will move to a newer version. The migration guide gives no date. - `lastRelease` is the date of the newest Maps commit in the spec repository (30 September 2026), since no API changelog exists. - The lead was right on the facts checked, with one gap. The current Search version has no place search. ## 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 ## What costs an agent a turn today The notes we give agents before they call it. Each one is a workaround an agent shouldn't need. - 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. ## When it's done Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: the Azure updates feed for Azure Maps, which the docs link in place of an API changelog. We did not open it.
- unchecked: the Microsoft Products and Services Data Protection Addendum and the sub-processor list on the Service Trust Portal.
- unchecked: whether Azure Maps is on a current SOC 2 or ISO 27001 scope list. Only the FedRAMP audit scope page was read.
- unchecked: GitHub issue response times for the Maps client libraries, and their CI.
- The pricing page showed our reader no dollar figures, so unit prices come from the Azure Retail Prices API, which lists one $4.50 tier and no volume steps.
- When Search 1.0 retires, and whether place search will move to a newer version. The migration guide gives no date.
lastReleaseis the date of the newest Maps commit in the spec repository (30 September 2026), since no API changelog exists.- The lead was right on the facts checked, with one gap. The current Search version has no place search.
Sources 28
- REST API index and services learn.microsoft.com · seen 2026-10-08
- Search 2026-01-01 operations and geocoding reference learn.microsoft.com · seen 2026-10-08
- Search 1.0 operations (place search) learn.microsoft.com · seen 2026-10-08
- Route 2025-01-01 operations learn.microsoft.com · seen 2026-10-08
- authentication (keys, Entra ID, SAS, roles) learn.microsoft.com · seen 2026-10-08
- key rotation learn.microsoft.com · seen 2026-10-08
- rate limits learn.microsoft.com · seen 2026-10-08
- transactions and billing rules learn.microsoft.com · seen 2026-10-08
- retail prices for Azure Maps meters prices.azure.com · seen 2026-10-08
- pricing page (free amounts) azure.microsoft.com · seen 2026-10-08
- Gen1 pricing retirement learn.microsoft.com · seen 2026-10-08
- Search 1.0 migration guide learn.microsoft.com · seen 2026-10-08
- Render 1.0 retirement learn.microsoft.com · seen 2026-10-08
- geographic scope and data location learn.microsoft.com · seen 2026-10-08
- overview, TomTom data sharing learn.microsoft.com · seen 2026-10-08
- usage metrics learn.microsoft.com · seen 2026-10-08
- REST SDK guide learn.microsoft.com · seen 2026-10-08
- OpenAPI documents and commit history (shallow clone) github.com · seen 2026-10-08
- Azure status history azure.status.microsoft · seen 2026-10-08
- SLA for Online Services, 1 October 2026 microsoft.com · seen 2026-10-08
- Product Terms, Azure Maps section microsoft.com · seen 2026-10-08
- privacy statement microsoft.com · seen 2026-10-08
- Azure free account card requirement azure.microsoft.com · seen 2026-10-08
- Modern Lifecycle Policy learn.microsoft.com · seen 2026-10-08
- FedRAMP audit scope learn.microsoft.com · seen 2026-10-08
- security.txt microsoft.com · seen 2026-10-08
- PyPI azure-maps-search pypi.org · seen 2026-10-08
- npm @azure-rest/maps-search registry.npmjs.org · seen 2026-10-08
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Freemium $4.50 / 1k req $4.50 per 1,000 transactions on every Gen2 meter, after a free monthly amount of 5,000 transactions for Search, Geolocation, Timezone and base map tiles and 1,000 for Routing, Traffic, Weather, imagery tiles and static images (https://prices.azure.com/api/retail/prices, read 8 October 2026). Fifteen tiles count as one transaction, four route matrix cells as one, and ten autocomplete requests as one. The pricing page says discounts start at 100,000 transactions a month through sales. An Azure account needs a card for identity checks, so there is no card-free start. Gen1 pricing retired on 15 September 2026.
Prices
| Item | Price | Unit | Note |
|---|---|---|---|
| Search (geocoding, reverse geocoding, places) | $4.50 | per 1,000 requests | 5,000 free a month. Ten autocomplete requests count as one |
| Routing | $4.50 | per 1,000 requests | 1,000 free a month. Four matrix cells count as one |
| Base map tiles | $4.50 | per 1,000 requests | 5,000 free a month. One transaction is 15 tiles |
| Traffic | $4.50 | per 1,000 requests | 1,000 free a month |
| Weather | $4.50 | per 1,000 requests | 1,000 free a month |
| Static map images | $4.50 | per 1,000 requests | 1,000 free a month |
Compared across listings on the price index.
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/azure-maps.xml, or this listing's score history at history.json.
Connect
Install
pip install azure-maps-search # or: npm i @azure-rest/maps-search
First request
curl "https://atlas.microsoft.com/geocode?api-version=2026-01-01&query=15127%20NE%2024th%20Street%2C%20Redmond%2C%20WA" \
-H "subscription-key: $AZURE_MAPS_KEY"
Through letme picks today, calling later
GET https://letme.dev/azure-maps
letme picks this listing for weather.current, because it's the top-graded tool for the job. letme picks this listing for weather.forecast, because it's the top-graded tool for the job.
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Compare with
Mapbox APIs + MCP BBAmazon Location Service BBGoogle Maps Platform + Grounding Lite MCP BArcGIS Location Platform BStadia Maps BLocationIQ C
Head to head Amazon Location Service vs Azure Maps · ArcGIS Location Platform vs Azure Maps · Azure Maps vs Geoapify Location Platform + MCP · Azure Maps vs Google Maps Platform + Grounding Lite MCP · Azure Maps vs LocationIQ · Azure Maps vs Mapbox APIs + MCP · Azure Maps vs MapQuest · Azure Maps vs OpenCage Geocoding API · Azure Maps vs Stadia Maps · Azure Maps vs TomTom Maps APIs + MCP
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Mapbox APIs + MCP Mapbox | BB | 75 | geo.geocode geo.reverse geo.places geo.routing geo.tiles | no |
| Amazon Location Service Amazon Web Services | BB | 74.1 | geo.geocode geo.reverse geo.places geo.routing geo.tiles | no |
| Google Maps Platform + Grounding Lite MCP Google | B | 68.2 | geo.geocode geo.reverse geo.places geo.routing geo.tiles | no |
| ArcGIS Location Platform Esri | B | 65.4 | geo.geocode geo.reverse geo.places geo.routing geo.tiles | no |
| Stadia Maps Stadia Maps | B | 65.2 | geo.geocode geo.reverse geo.places geo.routing geo.tiles | no |
| LocationIQ LocationIQ (Unwired Labs) | C | 60.3 | geo.geocode geo.reverse geo.places geo.routing geo.tiles | no |
Machine-readable
- JSON
/api/v1/tools/azure-maps.json· historyhistory.json· badge/badges/azure-maps.svg· changes feed/feeds/tools/azure-maps.xml - Markdown
/tools/azure-maps.md· slim/tools/azure-maps.min.md(or sendAccept: text/markdown) - Fix list
/fixes/azure-maps.md·/fixes/azure-maps.json - From a terminal
anchor tool azure-maps --md(the CLI) · over MCPget_tool {"slug": "azure-maps"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/azure-maps"><img src="https://www.anchorterminal.com/badges/azure-maps.svg" alt="Azure Maps on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/azure-maps)<a href="https://www.anchorterminal.com/tools/azure-maps">Azure Maps on Anchor Terminal</a>It counts on a page on microsoft.com or one of its subdomains, or the README of github.com/Azure/azure-rest-api-specs.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "azure-maps", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.


