I would need some assistance for the interpretation, how Azure Maps is calculating the costs for forward geocoding (getting lattidude/longitude values) and getting distances between point objects, because it doesn´t match my cost forecast.
I have a query in PowerBI
, which queries the coordinates of cities through the API Endpoint (Gen2 (Maps & Location Insights) pricing tier):
url = "https://atlas.microsoft.com/search/address/json"
Query:
loc_test = PENDLER_all_home_cities,
queryInput = Table.AddColumn(loc_test, "queryString", each Text.From([HOME_PLZ]) & ", " & [HOME_CITY]),
apiKey = "deleted" ,
url = "https://atlas.microsoft.com/search/address/json",
GetApiResponse = (queryString as text) =>
let
queryParams = [
#"api-version" = "1.0",
query = queryString,
#"subscription-key" = apiKey
],
response = Web.Contents(url, [Query = queryParams, ApiKeyName = "subscription-key"]),
jsonResponse = Json.Document(response)
in
jsonResponse,
In my Azure Maps account, i got billed with approx. 9€ for 2.3k total requests (i got 284 items and forgot to deactivate the table refresh in PowerBI. That means it refreshed 8x times the last days, before i turned off that function - okay, i got it).
But that would mean, that Azure Maps forward geocoding pricing is calculated for every 1000 requests with 3,96€.
In the official price table, Azure maps geolocation got a free quota of 5.000 requests, and gets billed 3,96€ / 5000 requests for region: europe-north.
https://azure.microsoft.com/de-de/pricing/details/azure-maps/
---> Is this pricing table outdated and there is no free quota at all?
It´s quite important for me to know, because at the next step, i wan´t to calculate the distance between 284 origins and 17 destinations. I already splitted the query template into 17 tables, because the route matrix API calculates (origins * destinations) / 4 = billed amount, so it would be cheaper if calculate it for every destination separately.
Did i miss something here? I don´t want to get some unplanned costs for the distance calculation (i am using the 150€ credit from the VSC Enterprise license).
Thanks for sharing your views @Sampath, I totally agree with you.
Forward Geocoding Pricing:
As you've mentioned that you are using the Gen2 (Maps & Location Insights) pricing tier. Gen2 does not include the free 5,000 monthly transactions all requests are billed from the first one.
The official pricing table still mentions a free quota, but it is specific to Gen1 (S0) pricing tier. So, your charge is correct, and the pricing table is not outdated, but the free tier is not applicable under Gen2 usage-based billing.
Small fluctuations (e.g., €3.90 vs €3.96) are due to currency rounding or real-time exchange rates, not pricing errors.
Cause of Unexpected Charges:
This results in a cost of about €3.91 per 1,000 requests
, which aligns with the standard Gen2 rate without a free tier:
So, your interpretation is correct: you are being billed without any free tier, most likely due to your pricing tier setup.
How transactions are counted - Understanding Azure Maps Transactions
Route Matrix Strategy:
You're also planning to compute distances between 284 origins × 17 destinations. Azure Maps Route Matrix is billed as:
(284 × 17) / 4 = 1,207 transactions
Hence, your optimization splitting into 17 separate API calls (one per destination) is valid and keeps billing the same but makes tracking and retrying easier making it a Smart Optimization Strategy.
Details on calculating matrices of route - Post Route Matrix
Here are some Recommendations to Avoid Extra Cost:
Kindly refer - Manage Your Azure Maps Account's Pricing Tier