Azure Maps API Returns Same freeformAddress for Different Nearby Properties

Selva 20 Reputation points
2025-06-09T15:29:53.3533333+00:00

I'm using the Azure Maps Forward Geocoding API to retrieve normalized addresses (freeformAddress) for a set of properties. However, I've noticed that the API returns the same freeformAddress — "South Forum Drive, Grand Prairie, TX 75052" — for multiple distinct properties, even though they are clearly different apartment complexes located close to each other.
Here are the addresses I queried:
2045 S Forum Dr, Grand Prairie, TX 75052
2015 S Forum Dr, Grand Prairie, TX 75052
2105 S Forum Dr, Grand Prairie, TX 75052
1661 S Forum Dr, Grand Prairie, TX 75052
2030 S Forum Dr, Grand Prairie, TX 75052
Endpoint : https://atlas.microsoft.com/search/address/json?api-version=1.0&subscription-key=xxxxxx&query= 1661 S Forum Dr, Grand Prairie, TX 75052
When I look them up in Google Maps , these are clearly separate buildings/properties. But Azure Maps returns the same generic freeformAddress for all of them.
My Questions:

  1. Why does the Azure Maps API return the same freeformAddress for nearby but distinct addresses?2. Is there a way to improve address granularity or force the inclusion of street numbers in the freeformAddress?
  2. Why the Map Api didn't recognize the street number?
Azure Maps
Azure Maps
An Azure service that provides geospatial APIs to add maps, spatial analytics, and mobility solutions to apps.
831 questions
{count} votes

Accepted answer
  1. rbrundritt 20,836 Reputation points Microsoft Employee Moderator
    2025-06-09T16:22:45.27+00:00

    Best solution is to use the latest version of the geocoding service. You are using version 1 which is pretty outdated. https://learn.microsoft.com/en-us/rest/api/maps/search/get-geocoding?view=rest-maps-2025-01-01&tabs=HTTP

    Here is an example query and the result:

    https://atlas.microsoft.com/geocode?api-version=2025-01-01&query=1661%20S%20Forum%20Dr,%20Grand%20Prairie,%20TX%2075052&subscription-key=<Your_AZURE_MAPS_KEY>

    Note that you should encode the query value to ensure no special character's cause issues in the URL.

    Result:

    
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [-97.021471, 32.680958]
          },
          "bbox": [-97.0275897202524, 32.6770952824293, -97.0153522797476, 32.6848207175707],
          "properties": {
            "type": "Address",
            "confidence": "High",
            "matchCodes": [
              "Good"
            ],
            "geocodePoints": [
              {
                "calculationMethod": "Rooftop",
                "usageTypes": [
                  "Display"
                ],
                "geometry": {
                  "type": "Point",
                  "coordinates": [-97.021471, 32.680958]
                }
              },
              {
                "calculationMethod": "Rooftop",
                "usageTypes": [
                  "Route"
                ],
                "geometry": {
                  "type": "Point",
                  "coordinates": [-97.0212128, 32.6816142]
                }
              }
            ],
            "address": {
              "addressLine": "1661 S Forum Dr",
              "streetName": "S Forum Dr",
              "streetNumber": "1661",
              "postalCode": "75052",
              "neighborhood": "South Dallas",
              "locality": "Grand Prairie",
              "formattedAddress": "1661 S Forum Dr, Grand Prairie, TX 75052",
              "countryRegion": {
                "name": "United States",
                "ISO": "US"
              },
              "adminDistricts": [
                {
                  "shortName": "TX"
                },
                {
                  "shortName": "Dallas County"
                }
              ]
            }
          }
        }
      ]
    }
    

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.