# Local POIs `GET` `/v1/local/pois` Get detailed information about points of interest. **Base URL:** `https://api.search.brave.com/res` ## Authorization | Name | Location | Type | Required | Constraints | Description | |------|----------|------|----------|-------------|-------------| | `x-subscription-token` | header | string | Yes | | The subscription token that was generated for the product. | ## Query Parameters | Name | Location | Type | Required | Constraints | Description | |------|----------|------|----------|-------------|-------------| | `ids` | query | array | Yes | | A list of unique identifiers for the location. The ids are valid only for 8 hours. | | `search_lang` | query | string | No | `ar`, `eu`, `bn`, `bg`, `ca`, `zh-hans`, `zh-hant`, `hr`, `cs`, `da`, `nl`, `en`, `en-gb`, `et`, `fi`, `fr`, `gl`, `de`, `el`, `gu`, `he`, `hi`, `hu`, `is`, `it`, `ja`, `jp`, `kn`, `ko`, `lv`, `lt`, `ms`, `ml`, `mr`, `nb`, `pl`, `pt-br`, `pt-pt`, `pa`, `ro`, `ru`, `sr`, `sk`, `sl`, `es`, `sv`, `ta`, `te`, `th`, `tr`, `uk`, `vi`; default `en` | The search language preference. The 2 or more character language code for which the search results are provided. | | `ui_lang` | query | string | No | `es-AR`, `en-AU`, `de-AT`, `nl-BE`, `fr-BE`, `pt-BR`, `en-CA`, `fr-CA`, `es-CL`, `da-DK`, `fi-FI`, `fr-FR`, `de-DE`, `el-GR`, `zh-HK`, `en-IN`, `en-ID`, `it-IT`, `ja-JP`, `ko-KR`, `en-MY`, `es-MX`, `nl-NL`, `en-NZ`, `no-NO`, `zh-CN`, `pl-PL`, `en-PH`, `ru-RU`, `en-ZA`, `es-ES`, `sv-SE`, `fr-CH`, `de-CH`, `zh-TW`, `tr-TR`, `en-GB`, `en-US`, `es-US`; default `en-US` | User interface language preferred in response. Usually of the format -. For more, see [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-accept-language). | | `units` | query | string | No | `imperial`, `metric` | The measurement units. The following values are supported: - **metric** - The standardized measurement system (km, celcius..) - **imperial** - The British Imperial system of units (mile, fahrenheit..) | ## Headers | Name | Location | Type | Required | Constraints | Description | |------|----------|------|----------|-------------|-------------| | `x-loc-lat` | header | string | No | `-90`-`90` | The latitude of the client's geographical location in degrees, to provide relevant local results. The latitude must be greater than or equal to -90.0 degrees and less than or equal to +90.0 degrees. | | `x-loc-long` | header | string | No | `-180`-`180` | The longitude of the client's geographical location in degrees, to provide relevant local results. The longitude must be greater than or equal to -180.0 and less than or equal to +180.0 degrees. | | `api-version` | header | string | No | | The API version to use. This is denoted by the format `YYYY-MM-DD`. Default is the latest that is available. Read more about [API versioning](/documentation/guides/versioning). | | `accept` | header | string | No | `application/json`, `*/*`; default `application/json` | The default supported media type is application/json. | | `cache-control` | header | string | No | `no-cache` | Brave Search will return cached content by default. To prevent caching set the Cache-Control header to `no-cache`. This is currently done as best effort. | | `user-agent` | header | string | No | | The user agent originating the request. Brave search can utilize the user agent to provide a different experience depending on the device as described by the string. The user agent should follow the commonly used browser agent strings on each platform. For more information on curating user agents, see [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-user-agent). | ## Responses ### 200 Successful Response | Field | Type | Description | |-------|------|-------------| | `type` | string? | | | `results` | object[]? | The list of location results (POIs) for the given location identifiers. | | `results[].title` | string | The title of the web page. | | `results[].url` | string | The URL where the page is served. | | `results[].is_source_local` | bool? | Whether the result is from a local source. | | `results[].is_source_both` | bool? | Whether the result is from both local and global sources. | | `results[].description` | string? | A description for the web page. | | `results[].page_age` | string? | The page's date, based on its published or last modified date. | | `results[].page_fetched` | string? | A date representing when the web page was last fetched. | | `results[].fetched_content_timestamp` | int? | The timestamp when the content was fetched. | | `results[].profile` | object? | A profile associated with the web page. | | `results[].profile.name` | string | The name of the profile. | | `results[].profile.url` | string | The original URL where the profile is available. | | `results[].profile.long_name` | string? | The long name of the profile. | | `results[].profile.img` | string? | The served image URL representing the profile. | | `results[].language` | string? | A language classification for the web page. | | `results[].family_friendly` | bool? | Whether the web page is family friendly. | | `results[].type` | string? | Location result type identifier. The value is always `location_result`. | | `results[].provider_url` | string | The complete URL of the provider. | | `results[].coordinates` | array? | A list of coordinates associated with the location. This is a lat long represented as a floating point. | | `results[].zoom_level` | int? | The zoom level on the map. | | `results[].thumbnail` | object? | The thumbnail associated with the location. | | `results[].thumbnail.src` | string | The served URL of the picture thumbnail. | | `results[].thumbnail.alt` | string? | The alt text for the thumbnail image. | | `results[].thumbnail.height` | int? | The height of the thumbnail. | | `results[].thumbnail.width` | int? | The width of the thumbnail. | | `results[].thumbnail.bg_color` | string? | The background color of the thumbnail. | | `results[].thumbnail.original` | string? | The original URL of the image. | | `results[].thumbnail.logo` | bool? | Whether the thumbnail is a logo. | | `results[].thumbnail.duplicated` | bool? | Whether the thumbnail is a duplicate. | | `results[].thumbnail.theme` | string? | The theme of the thumbnail (e.g., light or dark). | | `results[].postal_address` | object? | The postal address associated with the location. | | `results[].postal_address.type` | string? | The type identifying a postal address. The value is always `PostalAddress`. | | `results[].postal_address.country` | string? | The country associated with the location. | | `results[].postal_address.postalCode` | string? | The postal code associated with the location. | | `results[].postal_address.streetAddress` | string? | The street address associated with the location. | | `results[].postal_address.addressRegion` | string? | The region associated with the location. This is usually a state. | | `results[].postal_address.addressLocality` | string? | The address locality or subregion associated with the location. | | `results[].postal_address.displayAddress` | string | The displayed address string. | | `results[].opening_hours` | object? | The opening hours, if it is a business, associated with the location. | | `results[].opening_hours.current_day` | object[]? | The current day opening hours. Can have two sets of opening hours. | | `results[].opening_hours.current_day[].abbr_name` | string | A short string representing the day of the week. | | `results[].opening_hours.current_day[].full_name` | string | A full string representing the day of the week. | | `results[].opening_hours.current_day[].opens` | string | A 24 hr clock time string for the opening time of the business on a particular day. | | `results[].opening_hours.current_day[].closes` | string | A 24 hr clock time string for the closing time of the business on a particular day. | | `results[].opening_hours.days` | object[][]? | The opening hours for the whole week. | | `results[].contact` | object? | The contact of the business associated with the location. | | `results[].contact.email` | string? | The email address. | | `results[].contact.telephone` | string? | The telephone number. | | `results[].price_range` | string? | A display string used to show the price classification for the business. | | `results[].rating` | object? | The ratings of the business. | | `results[].rating.ratingValue` | number | The current value of the rating. | | `results[].rating.bestRating` | number | Best rating received. | | `results[].rating.reviewCount` | int? | The number of reviews associated with the rating. | | `results[].rating.profile` | object? | The profile associated with the rating. | | `results[].rating.profile.name` | string | The name of the profile. | | `results[].rating.profile.url` | string | The original URL where the profile is available. | | `results[].rating.profile.long_name` | string? | The long name of the profile. | | `results[].rating.profile.img` | string? | The served image URL representing the profile. | | `results[].rating.is_tripadvisor` | bool? | Whether the rating is coming from Tripadvisor. | | `results[].distance` | object? | The distance of the location from the client. | | `results[].distance.value` | number | The quantity of the unit. | | `results[].distance.units` | string | The name of the unit associated with the quantity. | | `results[].profiles` | object[]? | Profiles associated with the business. | | `results[].profiles[].type` | string? | The type representing the source of data. This is usually `external`. | | `results[].profiles[].name` | string | The name of the data provider. This can be a domain. | | `results[].profiles[].url` | string | The URL where the information is coming from. | | `results[].profiles[].long_name` | string? | The long name for the data provider. | | `results[].profiles[].img` | string? | The served URL for the image data. | | `results[].reviews` | object? | Aggregated reviews from various sources relevant to the business. | | `results[].reviews.results` | object[] | A list of trip advisor reviews for the entity. | | `results[].reviews.results[].title` | string | The title of the review. | | `results[].reviews.results[].description` | string | A description seen in the review. | | `results[].reviews.results[].date` | string | The date when the review was published. | | `results[].reviews.results[].rating` | object | A rating given by the reviewer. | | `results[].reviews.results[].rating.ratingValue` | number | The current value of the rating. | | `results[].reviews.results[].rating.bestRating` | number | Best rating received. | | `results[].reviews.results[].rating.reviewCount` | int? | The number of reviews associated with the rating. | | `results[].reviews.results[].rating.profile` | object? | The profile associated with the rating. | | `results[].reviews.results[].rating.profile.name` | string | The name of the profile. | | `results[].reviews.results[].rating.profile.url` | string | The original URL where the profile is available. | | `results[].reviews.results[].rating.profile.long_name` | string? | The long name of the profile. | | `results[].reviews.results[].rating.profile.img` | string? | The served image URL representing the profile. | | `results[].reviews.results[].rating.is_tripadvisor` | bool? | Whether the rating is coming from Tripadvisor. | | `results[].reviews.results[].author` | object | The author of the review. | | `results[].reviews.results[].author.type` | string? | A type identifying a person. The value is always `person`. | | `results[].reviews.results[].author.name` | string | The name of the thing. | | `results[].reviews.results[].author.url` | string? | A URL for the thing. | | `results[].reviews.results[].author.thumbnail` | object? | Thumbnail associated with the thing. | | `results[].reviews.results[].author.thumbnail.src` | string | The served URL of the picture thumbnail. | | `results[].reviews.results[].author.thumbnail.alt` | string? | The alt text for the thumbnail image. | | `results[].reviews.results[].author.thumbnail.height` | int? | The height of the thumbnail. | | `results[].reviews.results[].author.thumbnail.width` | int? | The width of the thumbnail. | | `results[].reviews.results[].author.thumbnail.bg_color` | string? | The background color of the thumbnail. | | `results[].reviews.results[].author.thumbnail.original` | string? | The original URL of the image. | | `results[].reviews.results[].author.thumbnail.logo` | bool? | Whether the thumbnail is a logo. | | `results[].reviews.results[].author.thumbnail.duplicated` | bool? | Whether the thumbnail is a duplicate. | | `results[].reviews.results[].author.thumbnail.theme` | string? | The theme of the thumbnail (e.g., light or dark). | | `results[].reviews.results[].author.email` | string? | Email address of the person. | | `results[].reviews.results[].review_url` | string | A URL link to the page where the review can be found. | | `results[].reviews.results[].language` | string | The language of the review. | | `results[].reviews.viewMoreUrl` | string | A URL to a web page where more information on the result can be seen. | | `results[].reviews.reviews_in_foreign_language` | bool | Any reviews available in a foreign language. | | `results[].pictures` | object? | A bunch of pictures associated with the business. | | `results[].pictures.viewMoreUrl` | string? | A URL to view more pictures. | | `results[].pictures.results` | object[] | A list of thumbnail results. | | `results[].pictures.results[].src` | string | The served URL of the picture thumbnail. | | `results[].pictures.results[].alt` | string? | The alt text for the thumbnail image. | | `results[].pictures.results[].height` | int? | The height of the thumbnail. | | `results[].pictures.results[].width` | int? | The width of the thumbnail. | | `results[].pictures.results[].bg_color` | string? | The background color of the thumbnail. | | `results[].pictures.results[].original` | string? | The original URL of the image. | | `results[].pictures.results[].logo` | bool? | Whether the thumbnail is a logo. | | `results[].pictures.results[].duplicated` | bool? | Whether the thumbnail is a duplicate. | | `results[].pictures.results[].theme` | string? | The theme of the thumbnail (e.g., light or dark). | | `results[].action` | object? | An action to be taken. | | `results[].action.type` | string | The type representing the action. | | `results[].action.url` | string | A URL representing the action to be taken. | | `results[].serves_cuisine` | string[]? | A list of cuisine categories served. | | `results[].categories` | string[]? | A list of categories. | | `results[].icon_category` | string? | An icon category. | | `results[].timezone` | string? | IANA timezone identifier. | | `results[].timezone_offset` | int? | The UTC offset of the timezone. | | `results[].id` | string? | A temporary id associated with this result, which can be used to retrieve extra information about the location. It remains valid for 8 hours. | | `results[].results` | object[]? | Web results related to this location. | | `results[].results[].title` | string | The title of the web page. | | `results[].results[].url` | string | The URL where the page is served. | | `results[].results[].is_source_local` | bool? | Whether the result is from a local source. | | `results[].results[].is_source_both` | bool? | Whether the result is from both local and global sources. | | `results[].results[].description` | string? | A description for the web page. | | `results[].results[].page_age` | string? | The page's date, based on its published or last modified date. | | `results[].results[].page_fetched` | string? | A date representing when the web page was last fetched. | | `results[].results[].fetched_content_timestamp` | int? | The timestamp when the content was fetched. | | `results[].results[].profile` | object? | A profile associated with the web page. | | `results[].results[].profile.name` | string | The name of the profile. | | `results[].results[].profile.url` | string | The original URL where the profile is available. | | `results[].results[].profile.long_name` | string? | The long name of the profile. | | `results[].results[].profile.img` | string? | The served image URL representing the profile. | | `results[].results[].language` | string? | A language classification for the web page. | | `results[].results[].family_friendly` | bool? | Whether the web page is family friendly. | | `results[].results[].meta_url` | object | Aggregated information about the URL. | | `results[].results[].meta_url.scheme` | string | The protocol scheme extracted from the URL. | | `results[].results[].meta_url.netloc` | string | The network location part extracted from the URL. | | `results[].results[].meta_url.hostname` | string? | The lowercased domain name extracted from the URL. | | `results[].results[].meta_url.favicon` | string | The favicon used for the URL. | | `results[].results[].meta_url.path` | string | The hierarchical path of the URL useful as a display string. | ### 400 Bad Request | Field | Type | Description | |-------|------|-------------| | `type` | string? | | | `error` | object | | | `error.id` | string | A unique identifier for this particular occurrence of the problem. | | `error.status` | int | The HTTP status code applicable to this problem, expressed as a string value. | | `error.detail` | string? | Explanation specific to this occurrence of the problem. Like title, this field's value can be localized. | | `error.meta` | object? | A meta object containing non-standard meta-information about the error. | | `error.code` | string | An application-specific error code, expressed as a string value. | | `time` | int? | | ### 404 Not Found | Field | Type | Description | |-------|------|-------------| | `type` | string? | | | `error` | object | | | `error.id` | string | A unique identifier for this particular occurrence of the problem. | | `error.status` | int | The HTTP status code applicable to this problem, expressed as a string value. | | `error.detail` | string? | Explanation specific to this occurrence of the problem. Like title, this field's value can be localized. | | `error.meta` | object? | A meta object containing non-standard meta-information about the error. | | `error.code` | string | An application-specific error code, expressed as a string value. | | `time` | int? | | ### 422 Unprocessable Entity | Field | Type | Description | |-------|------|-------------| | `type` | string? | | | `error` | object | | | `error.id` | string | A unique identifier for this particular occurrence of the problem. | | `error.status` | int | The HTTP status code applicable to this problem, expressed as a string value. | | `error.detail` | string? | Explanation specific to this occurrence of the problem. Like title, this field's value can be localized. | | `error.meta` | object? | A meta object containing non-standard meta-information about the error. | | `error.code` | string | An application-specific error code, expressed as a string value. | | `time` | int? | | ### 429 Too Many Requests | Field | Type | Description | |-------|------|-------------| | `type` | string? | | | `error` | object | | | `error.id` | string | A unique identifier for this particular occurrence of the problem. | | `error.status` | int | The HTTP status code applicable to this problem, expressed as a string value. | | `error.detail` | string? | Explanation specific to this occurrence of the problem. Like title, this field's value can be localized. | | `error.meta` | object? | A meta object containing non-standard meta-information about the error. | | `error.code` | string | An application-specific error code, expressed as a string value. | | `time` | int? | | ## Code Samples ### cURL ```bash curl "https://api.search.brave.com/res/v1/local/pois?ids=loc4FNMQJNOOCVHEB7UBOLN354ZYIDIYJ3RPRETERRY%3D" \ -H "Accept: application/json" \ -H "Accept-Encoding: gzip" \ -H "X-Subscription-Token: " ``` ### Python ```python import requests url = "https://api.search.brave.com/res/v1/local/pois" params = { "ids": "loc4FNMQJNOOCVHEB7UBOLN354ZYIDIYJ3RPRETERRY=" } headers = { "Accept": "application/json", "Accept-Encoding": "gzip", "X-Subscription-Token": "" } response = requests.get(url, params=params, headers=headers) print(response.json()) ```