azurerm_maps_account cost estimation
Location and mapping APIs billed per transaction (tiles, routing, search). The account itself is free; usage drives cost — 100K tile transactions is ~$500 on S1.
An azurerm_maps_account is the entry point to Azure Maps services — map tiles, search/geocoding, routing, traffic, and geolocation. The account resource has no standing fee; cost is entirely usage, billed per transaction, with the rate set by the pricing tier (S0, S1, or the consumption Gen2 tiers).
Different APIs bill at different transaction rates. Tile transactions are the common high-volume driver for interactive maps: on the S1 tier, 100K tile transactions runs ~$500. Search, routing, and other APIs each have their own per-transaction price, and a map-heavy application calls many of them per user session.
Because it's pure usage, the cost is driven by how your application consumes the APIs — how many tiles it loads, how often it geocodes, how many route calculations it makes. Caching tiles and results, and batching geocoding, are the main levers.
c3x prices the account from monthly transaction volume (tiles, etc.) as usage, so projected API cost can be modelled before deployment.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "azurerm_maps_account" "maps" {
name = "app-maps"
resource_group_name = azurerm_resource_group.main.name
sku_name = "S1"
}Pricing dimensions
What you actually pay for when you provision azurerm_maps_account.
| Dimension | Unit | What's being charged |
|---|---|---|
| Tile transactions | per 1K transactions | Map tile requests, the common high-volume driver for interactive maps. Rate set by the pricing tier. S1 → 100K tile transactions ≈ $500/month |
| Search & routing transactions | per transaction | Geocoding, search, routing, and traffic APIs each bill per transaction at their own rate. Usage-based. |
Sample C3X output
100K tile transactions in a month on the S1 tier:
azurerm_maps_account.maps
└─ Tile transactions (100K) 100 × 1K $500.00
Monthly $500.00Optimization tips
Common ways to reduce azurerm_maps_account cost without changing the workload.
Cache map tiles client-side
Large for interactive map UIsTile transactions are the biggest driver for interactive maps. Browser/CDN caching means a user panning the same area doesn't re-request the same tiles, cutting tile transactions substantially.
Cache and batch geocoding
Proportional to cache hit rateGeocoding the same addresses repeatedly bills each time. Cache results for stable addresses and use batch geocoding APIs where available to reduce transaction count.
Choose the right pricing tier
Tier-dependentAzure Maps Gen2/consumption tiers price transactions differently from S0/S1. Match the tier to your transaction mix and volume rather than defaulting.
Only call the APIs you need per session
Per avoided transactionA map-heavy page can fire tiles, traffic, search, and routing on load. Lazy-load non-essential layers and APIs so you're not billing transactions for features the user didn't engage.
FAQ
Does an Azure Maps account have a fixed cost?
No — the account resource itself is free. Cost is entirely usage, billed per transaction across the APIs (tiles, search, routing, etc.), at rates set by the pricing tier. A map-heavy app's bill is driven by how many transactions it generates.
What drives Azure Maps cost?
Transaction volume. Tile transactions dominate for interactive maps (100K ≈ $500 on S1), with search, geocoding, and routing each adding their own per-transaction charges. Caching tiles and results is the main way to cut it.
How does c3x estimate the cost?
Maps is usage-driven, so c3x models it from expected transaction volume in c3x-usage.yml. The account has no standing fee to price; the estimate reflects projected API usage.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_maps_account.