Bing Maps REST Services drop-in replacement
Microsoft is retiring Bing Maps for Enterprise. Free and basic keys stopped working on 30 June 2025 and enterprise agreements end on 30 June 2028. If you have code built on the Locations, Autosuggest, Time Zone or Elevation REST services, point it at bing.mygeocode.com and keep the same response parsing.
Change one hostname
| Original host |
|
|---|---|
| Use instead | bing.mygeocode.com |
| Key parameter | key (put your My Geocode key here, or leave it out for the free 2,500 a day) |
curl "https://dev.virtualearth.net/REST/v1/Locations?q=1%20Microsoft%20Way%2C%20Redmond%2C%20WA&key=YOUR_BING_KEY"curl "https://bing.mygeocode.com/REST/v1/Locations?q=1%20Microsoft%20Way%2C%20Redmond%2C%20WA&key=YOUR_MYGEOCODE_KEY"Why people move
The Bing endpoints are going away on a fixed schedule. Migrating to Azure Maps means new response shapes and new client code. Changing one hostname does not.
Try it before you sign up for anything. Requests to bing.mygeocode.com count toward the same 2,500 a day you get on our own endpoints, with no key and no account. Above that, credits at $0.001 per request or €50 a month unlimited. Signing up takes an email address and nothing else.
Endpoints
| Path on bing.mygeocode.com | What it does | Backed by |
|---|---|---|
/REST/v1/Locations?q=... | Find a location by query | Forward geocoding |
/REST/v1/Locations?countryRegion=...&locality=...&addressLine=... | Find a location by structured address | Forward geocoding |
/REST/v1/Locations/{lat},{lon} | Find a location by point (reverse) | Reverse geocoding |
/REST/v1/Autosuggest?query=... | Autosuggest | Address autocomplete |
/REST/v1/TimeZone/{lat},{lon} | Time zone by point | Timezone lookup |
/REST/v1/Elevation/List?points=lat,lon,lat,lon | Elevations for a list of points | Elevation lookup |
Example response
This is what the request above returns. Field names, nesting and types follow Bing Maps. Only the data behind them is ours.
{
"authenticationResultCode": "ValidCredentials",
"brandLogoUri": "https://mygeocode.com/assets/img/logo.svg",
"copyright": "Copyright My Geocode",
"resourceSets": [
{
"estimatedTotal": 1,
"resources": [
{
"__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
"bbox": [47.635742, -122.140518, 47.643468, -122.125237],
"name": "1 Microsoft Way, Redmond, WA 98052",
"point": { "type": "Point", "coordinates": [47.639605, -122.129877] },
"address": {
"addressLine": "1 Microsoft Way",
"adminDistrict": "WA",
"adminDistrict2": "King County",
"countryRegion": "United States",
"formattedAddress": "1 Microsoft Way, Redmond, WA 98052",
"locality": "Redmond",
"postalCode": "98052"
},
"confidence": "High",
"entityType": "Address",
"geocodePoints": [
{ "type": "Point", "coordinates": [47.639605, -122.129877], "calculationMethod": "Rooftop", "usageTypes": ["Display"] }
],
"matchCodes": ["Good"]
}
]
}
],
"statusCode": 200,
"statusDescription": "OK",
"traceId": "mg-7f2a9c1e4b"
}Details and differences
- The response envelope (resourceSets, resources, statusCode, traceId) is kept so that the Bing Maps .NET, Java and JavaScript REST toolkits parse it without changes.
- confidence is High, Medium or Low, and matchCodes uses Good, Ambiguous and UpHierarchy, mapped from our precision and confidence values.
- The maxResults, culture, userRegion and includeNeighborhood parameters are honoured. Session keys and the Spatial Data Services are not part of this.
- The Bing Maps V8 Web Control has a drop-in loader as well. See the JavaScript drop-ins page.
If your client depends on a field or behaviour that is not listed here, tell us. Compatibility gaps get fixed quickly because they are usually small.