Share via


Local Search

 

The Bing Maps Local Search API returns a list of business entities centered around a location or a geographic region. Local Search requests are made by either specifying a list of type string IDs (e.g. "EatDrink") or a query (e.g. "Deep Dish Pizza"), and by specifying either the user's location or a geographical region. Aside from a point, two geographic regions are supported: a bounding box of coordinates or a circular region specified by a radius and a center point.

Note

Presently, the Local Search API supports business entities only in the US.

API Templates

Search by Query

Make a Local Search API request based on a string query by specifying a user location.

https://dev.virtualearth.net/REST/v1/LocalSearch/?query={query}&userLocation={point}&key={BingMapsAPIKey}

Search by Query Restricted to a Bounding Box

Make a Local Search API request based on a string query within the specified bounding box using the userMapView parameter.

https://dev.virtualearth.net/REST/v1/LocalSearch/?query={query}&userMapView={lat,lon,lat,lon}&key={BingMapsAPIKey}

Search by Query Restricted to a Circular Region

Make a Local Search API request based on a string query within the specified circular region using the userCircularMapView parameter.

https://dev.virtualearth.net/REST/v1/LocalSearch/?query={query}&userCircularMapView={lat,lon,radius}&key={BingMapsAPIKey}

Search by Entity Type

Search for businesses by specifying a comma-separated list of type string IDs at a given location using the type parameter. The userMapView and userCircularMapView parameters can also be used when searching by categories.

https://dev.virtualearth.net/REST/v1/LocalSearch/?type={type_string_id_list}&userLocation={point}&key={BingMapsAPIKey}

API Parameters

Parameter Alias Description Values
query q Required, if searching by query. The query used to search for local entities. A string that contains information about a location, such as an address or landmark name.

Example: query = 1%20Microsoft%20Way
type Required, if searching by type. The specified types used to filter the local entities returned by the Local Search API. A comma-separated list of string type identifiers. See the list of available Type IDs.
maxResults maxRes Optional. Specifies the maximum number of locations to return in the response. An integer between 1 and 25. The default value is 5.

 Example: maxResults=10
userCircularMapView ucmv Optional. A circular geographic region. A circular region specified by a comma separated list of the latitude and longitude of the center of the circle, and the radius of the circle, in meters. Example: 48.604311,-122.981998,5000
userLocation ul Required if neither userCircularMapView nor userMapView are provided. Coordinates for the user's location on Earth. A comma separated list of the user's location (latitude, longitude) and radius, in meters, representing the confidence in the accuracy of the user's location.

Example: 48.604311,-122.981998,5000
userMapView umv Optional. A rectangular region (a bounding box). Specified by a comma separated list of the latitudes and longitudes of two corners of the rectangle, in the following order:

- Latitude of the Northwest corner
- Longitude of the Northwest corner
- Latitude of the Southeast corner
- Longitude of the Southeast corner


 Example: 29.8171041,-122.981995,48.604311,-95.5413725

Response

The Local Search API supports both JSON and XML responses.

LocalSearch Resource

Successful Local Search API requests return a list of LocalSearch resources.

JSON XML Description
type Type The type of local entity, e.g. Restaurant.
id ID Local entity identifier.
name Name The name of the local entity, e.g. Yea's Wok.
url URL If available, the URL for the local entity.
geocodePoints GeoCodePoints A container with the latitude and longitude for the local entity; typically the rooftop of the entity.
point Point A container with a latitude and longitude suitable for providing directions to the local entity.
address Address A container including the formattedAddress, streetAddress, locality, adminDistrict, postalCode, countryRegion, and neighborhood fields for the local entity.
telephone Telephone If available, the telephone number for the local entity.

Examples

Search by Query for local coffee shops in Downtown Seattle

Pioneer Square, in downtown Seattle, is located at: 47.602038, -122.333964. Setting the parameter query to coffee gives us the following Local Search API URL:

https://dev.virtualearth.net/REST/v1/LocalSearch/?query=coffee&userLocation=47.602038,-122.333964&key={BingMapsAPIKey}

The JSON response:

{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "https://dev.virtualearth.net/Branding/logo_powered_by.png",
  "copyright": "Copyright © 2018 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "SearchResult:https://schemas.microsoft.com/search/local/ws/rest/v1/LocalSearch",
          "entities": [
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.0",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/15229/",
              "address": {
                "formattedAddress": "102 1st Ave S, Seattle, WA, 98104",
                "streetAddress": "102 1st Ave S",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Pioneer Square"
              },
              "telephone": "(206) 382-2656"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.1",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/16645/",
              "geocodePoints": {
                "latitude": 47.603588104248,
                "longitude": -122.335548400879
              },
              "point": {
                "latitude": 47.6036911010742,
                "longitude": -122.335311889648
              },
              "address": {
                "formattedAddress": "823 1st Ave, Seattle, WA, 98104",
                "streetAddress": "823 1st Ave",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 340-9184"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.2",
              "name": "Elm Coffee Roasters",
              "url": "https://elmcoffeeroasters.com/",
              "geocodePoints": {
                "latitude": 47.6002197265625,
                "longitude": -122.33130645752
              },
              "point": {
                "latitude": 47.6002197265625,
                "longitude": -122.331581115723
              },
              "address": {
                "formattedAddress": "240 2nd Ave S Ste 103, Seattle, WA, 98104",
                "streetAddress": "240 2nd Ave S Ste 103",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 445-7808"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.3",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/11311/",
              "geocodePoints": {
                "latitude": 47.6045303344727,
                "longitude": -122.330612182617
              },
              "point": {
                "latitude": 47.604736328125,
                "longitude": -122.330101013184
              },
              "address": {
                "formattedAddress": "701 5th Ave, Seattle, WA, 98104",
                "streetAddress": "701 5th Ave",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 264-0152"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.4",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/16138/",
              "geocodePoints": {
                "latitude": 47.599048614502,
                "longitude": -122.33268737793
              },
              "point": {
                "latitude": 47.5990524291992,
                "longitude": -122.332885742188
              },
              "address": {
                "formattedAddress": "400 Occidental Ave S, Seattle, WA, 98104",
                "streetAddress": "400 Occidental Ave S",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 624-2561"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.5",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/11917/",
              "geocodePoints": {
                "latitude": 47.6050415039062,
                "longitude": -122.334266662598
              },
              "point": {
                "latitude": 47.6052856445312,
                "longitude": -122.333709716797
              },
              "address": {
                "formattedAddress": "999 3rd Ave, Seattle, WA, 98104",
                "streetAddress": "999 3rd Ave",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 748-0058"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.6",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/89253/",
              "geocodePoints": {
                "latitude": 47.6057090759277,
                "longitude": -122.330268859863
              },
              "point": {
                "latitude": 47.6054878234863,
                "longitude": -122.330787658691
              },
              "address": {
                "formattedAddress": "800 5th Ave, Seattle, WA, 98104",
                "streetAddress": "800 5th Ave",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 623-3425"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.7",
              "name": "Cherry Street Coffee House",
              "url": "https://www.cherryst.com/locations",
              "geocodePoints": {
                "latitude": 47.6025314331055,
                "longitude": -122.333778381348
              },
              "point": {
                "latitude": 47.6027069091797,
                "longitude": -122.333953857422
              },
              "address": {
                "formattedAddress": "103 Cherry St, Seattle, WA, 98104",
                "streetAddress": "103 Cherry St",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 621-9372"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.8",
              "name": "Slate Coffee Roasters",
              "url": "https://www.slatecoffee.com/",
              "geocodePoints": {
                "latitude": 47.6025581359863,
                "longitude": -122.332389831543
              },
              "point": {
                "latitude": 47.6024436950684,
                "longitude": -122.332672119141
              },
              "address": {
                "formattedAddress": "602 2nd Ave, Seattle, WA, 98104",
                "streetAddress": "602 2nd Ave",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              }
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.9",
              "name": "Starbucks",
              "url": "https://www.starbucks.com/store/8749/",
              "geocodePoints": {
                "latitude": 47.5963554382324,
                "longitude": -122.327346801758
              },
              "point": {
                "latitude": 47.6017303466797,
                "longitude": -122.327651977539
              },
              "address": {
                "formattedAddress": "700 5th Ave, Seattle, WA, 98104",
                "streetAddress": "700 5th Ave",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98104",
                "countryRegion": "US",
                "neighborhood": "Downtown"
              },
              "telephone": "(206) 622-5789"
            }
          ],
          "searchAction": {},
          "total": 10
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "9f8b3a0cf3ea4c35adf3a3dd6c1b13bd|CO39C69F01|7.7.0.0"
}

Search for coffee in Downtown Seattle by Type

Instead of searching by a query, the Local Search API allows us to search at a location for local entities what match a comma-separated list of string type identifiers. For example, looking at the available Type IDs, we find that the best match for "coffee" is the string ID CoffeeAndTea. So we set the parameter type to CoffeeAndTea.

Here is the URL, using the same location the previous example:

https://dev.virtualearth.net/REST/v1/LocalSearch/?type=CoffeeAndTea&userLocation=47.602038,-122.333964&o=xml&key={BingMapsAPIKey}

And here is the XML response:

 <Response>
    <Copyright>Copyright © 2018 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.</Copyright>
     <BrandLogoUri>https://dev.virtualearth.net/Branding/logo_powered_by.png</BrandLogoUri>
    <StatusCode>200</StatusCode>
    <StatusDescription>OK</StatusDescription>
    <AuthenticationResultCode>ValidCredentials</AuthenticationResultCode>
    <TraceId>3245c04c0a694c309549c6ca6217facc|MW10000A85|7.7.0.0</TraceId>
    <ResourceSets>
        <ResourceSet>
            <EstimatedTotal>5</EstimatedTotal>
            <Resources>
                <Resource xsi:type="SearchResult">
                    <Name>Pizza Hut</Name>
                    <Point>
                        <Latitude>47.5445327758789</Latitude>
                        <Longitude>-122.376449584961</Longitude>
                    </Point>
                    <EntityType>Restaurant</EntityType>
                    <Address>
                        <AddressLine>6501 35th Ave SW</AddressLine>
                        <AdminDistrict>WA</AdminDistrict>
                        <CountryRegion>US</CountryRegion>
                        <FormattedAddress>6501 35th Ave SW, Seattle, WA, 98126</FormattedAddress>
                        <Locality>Seattle</Locality>
                        <PostalCode>98126</PostalCode>
                    </Address>
                    <PhoneNumber>(206) 935-9300</PhoneNumber>
                    <Website>https://locations.pizzahut.com/wa/seattle/6501-35th-ave-sw</Website>
                    <GeocodePoint>
                        <Latitude>47.5445404052734</Latitude>
                        <Longitude>-122.376747131348</Longitude>
                        <CalculationMethod>Rooftop</CalculationMethod>
                        <UsageType>Display</UsageType>
                    </GeocodePoint>
                </Resource>
                <Resource xsi:type="SearchResult">
                    <Name>Pizza Hut</Name>
                    <Point>
                        <Latitude>47.5704307556152</Latitude>
                        <Longitude>-122.291015625</Longitude>
                    </Point>
                    <EntityType>Restaurant</EntityType>
                    <Address>
                        <AddressLine>3642 33rd Ave S Ste C-6</AddressLine>
                        <AdminDistrict>WA</AdminDistrict>
                        <CountryRegion>US</CountryRegion>
                        <FormattedAddress>3642 33rd Ave S Ste C-6, Seattle, WA, 98144</FormattedAddress>
                        <Locality>Seattle</Locality>
                        <PostalCode>98144</PostalCode>
                    </Address>
                    <PhoneNumber>(206) 725-7000</PhoneNumber>
                    <Website>https://locations.pizzahut.com/wa/seattle/3642-33rd-avenue-s</Website>
                    <GeocodePoint>
                        <Latitude>47.5704307556152</Latitude>
                        <Longitude>-122.290733337402</Longitude>
                        <CalculationMethod>Rooftop</CalculationMethod>
                        <UsageType>Display</UsageType>
                    </GeocodePoint>
                </Resource>
                <Resource xsi:type="SearchResult">
                    <Name>Domino's Pizza</Name>
                    <Point>
                        <Latitude>47.599250793457</Latitude>
                        <Longitude>-122.308433532715</Longitude>
                    </Point>
                    <EntityType>Restaurant</EntityType>
                    <Address>
                        <AddressLine>1800 S Jackson St, Ste D</AddressLine>
                        <AdminDistrict>WA</AdminDistrict>
                        <CountryRegion>US</CountryRegion>
                        <FormattedAddress>1800 S Jackson St Ste D, Seattle, WA, 98144</FormattedAddress>
                        <Locality>Seattle</Locality>
                        <PostalCode>98144</PostalCode>
                    </Address>
                    <PhoneNumber>(206) 325-3230</PhoneNumber>
                    <Website>https://www.dominos.com/en/?redirect=homepage&utm_source=locallistings&utm_medium=loclist&utm_campaign=localmaps</Website>
                    <GeocodePoint>
                        <Latitude>47.5996704101562</Latitude>
                        <Longitude>-122.308433532715</Longitude>
                        <CalculationMethod>Rooftop</CalculationMethod>
                        <UsageType>Display</UsageType>
                    </GeocodePoint>
                </Resource>
                <Resource xsi:type="SearchResult">
                    <Name>Domino's Pizza</Name>
                    <Point>
                        <Latitude>47.6012992858887</Latitude>
                        <Longitude>-122.334167480469</Longitude>
                    </Point>
                    <EntityType>Restaurant</EntityType>
                    <Address>
                        <AddressLine>112 1st Ave S, Ste 100</AddressLine>
                        <AdminDistrict>WA</AdminDistrict>
                        <CountryRegion>US</CountryRegion>
                        <FormattedAddress>112 1st Ave S Ste 100, Seattle, WA, 98104</FormattedAddress>
                        <Locality>Seattle</Locality>
                        <PostalCode>98104</PostalCode>
                    </Address>
                    <PhoneNumber>(206) 445-0999</PhoneNumber>
                    <Website>https://www.dominos.com/en/?redirect=homepage&utm_source=locallistings&utm_medium=loclist&utm_campaign=localmaps</Website>
                    <GeocodePoint>
                        <Latitude>47.6012992858887</Latitude>
                        <Longitude>-122.333839416504</Longitude>
                        <CalculationMethod>Rooftop</CalculationMethod>
                        <UsageType>Display</UsageType>
                    </GeocodePoint>
                </Resource>
                <Resource xsi:type="SearchResult">
                    <Name>Pizza Hut</Name>
                    <Point>
                        <Latitude>47.5100479125977</Latitude>
                        <Longitude>-122.354515075684</Longitude>
                    </Point>
                    <EntityType>Restaurant</EntityType>
                    <Address>
                        <AddressLine>1517 SW 104th St</AddressLine>
                        <AdminDistrict>WA</AdminDistrict>
                        <CountryRegion>US</CountryRegion>
                        <FormattedAddress>1517 SW 104th St, Seattle, WA, 98146</FormattedAddress>
                        <Locality>Seattle</Locality>
                        <PostalCode>98146</PostalCode>
                    </Address>
                    <PhoneNumber>(206) 764-6000</PhoneNumber>
                    <Website>https://locations.pizzahut.com/wa/seattle/1517-sw-104th-st</Website>
                    <GeocodePoint>
                        <Latitude>47.5098915100098</Latitude>
                        <Longitude>-122.354507446289</Longitude>
                        <CalculationMethod>Rooftop</CalculationMethod>
                        <UsageType>Display</UsageType>
                    </GeocodePoint>
                </Resource>
            </Resources>
        </ResourceSet>
    </ResourceSets>

Search for a Cafe or Korean Restaurant within a Circular Radius

Suppose we want to find either movie theaters or Korean restaurants within a 300 meter radius right in the middle of Ballard, Seattle.

Searching the string Type IDs, we find two matches for our type strings: MovieTheaters and KoreanRestaurants. So we set the parameter type to MovieTheaters,KoreanRestaurants, and we specify the userCircularMapView instead of the userLocation parameter.

The resulting URL is:

https://dev.virtualearth.net/REST/v1/LocalSearch/?type=MovieTheaters,KoreanRestaurants&userCircularMapView=47.668979,-122.387562,300&key={BingMapsAPIKey}

And the JSON response:

{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "https://dev.virtualearth.net/Branding/logo_powered_by.png",
  "copyright": "Copyright © 2018 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "SearchResult:https://schemas.microsoft.com/search/local/ws/rest/v1/LocalSearch",
          "entities": [
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.0",
              "name": "Majestic Bay Theatres",
              "url": "https://majesticbay.com/",
              "point": {
                "latitude": 47.6689414978027,
                "longitude": -122.384101867676
              },
              "point": {
                "latitude": 47.6686706542969,
                "longitude": -122.384101867676
              },
              "address": {
                "formattedAddress": "2044 NW Market St, Seattle, WA, 98107",
                "streetAddress": "2044 NW Market St",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98107",
                "countryRegion": "US",
                "neighborhood": "Ballard"
              },
              "telephone": "(206) 781-2229"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.1",
              "name": "Kimchi House",
              "url": "https://kimchihouseseattle.com/",
              "point": {
                "latitude": 47.6714096069336,
                "longitude": -122.387870788574
              },
              "point": {
                "latitude": 47.6714096069336,
                "longitude": -122.387580871582
              },
              "address": {
                "formattedAddress": "5809 24th Ave NW, Seattle, WA, 98107",
                "streetAddress": "5809 24th Ave NW",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98107",
                "countryRegion": "US",
                "neighborhood": "Ballard"
              },
              "telephone": "(206) 784-5322"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.2",
              "name": "Ghost Light Theatricals",
              "url": "https://ghostlighttheatricals.org/",
              "point": {
                "latitude": 47.6690902709961,
                "longitude": -122.385787963867
              },
              "point": {
                "latitude": 47.6686706542969,
                "longitude": -122.385787963867
              },
              "address": {
                "formattedAddress": "2220 NW Market St Ste 1, Seattle, WA, 98107",
                "streetAddress": "2220 NW Market St Ste 1",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98107",
                "countryRegion": "US",
                "neighborhood": "Ballard"
              },
              "telephone": "(206) 395-5458"
            },
            {
              "type": "LocalBusiness",
              "id": "https://www.bingapis.com/api/v7/#Places.3",
              "name": "Careys Cinema and More",
              "point": {
                "latitude": 47.6679191589355,
                "longitude": -122.385711669922
              },
              "point": {
                "latitude": 47.668083190918,
                "longitude": -122.385475158691
              },
              "address": {
                "formattedAddress": "5425 Ballard Ave NW, Seattle, WA, 98107",
                "streetAddress": "5425 Ballard Ave NW",
                "locality": "Seattle",
                "adminDistrict": "WA",
                "postalCode": "98107",
                "countryRegion": "US",
                "neighborhood": "Ballard"
              },
              "telephone": "(206) 353-8222"
            }
          ],
          "searchAction": {},
          "total": 4
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "f7d297ceebba48459010e6203418875a|CO389F482F|7.7.0.0"
}

HTTP Status Codes

Note

For more details about these HTTP status codes, see Status Codes and Error Handling.

When the request is successful, the following HTTP status code is returned:

  • 200

When the request is not successful, the response returns one of the following errors:

  • 204
  • 400