Yelp business search, place details and the full review feed, as structured JSON.
Call this server's tools from your browser. Nothing to install.
HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get Yelp Place Details Fetches a single Yelp business by Yelp ID or alias with domain targeting. Returns name, address, phone, website, price range, categories, overall rating, review count, hours, amenities, photos, and highlighted reviews. Use to enrich leads or listings with verified Yelp metadata, monitor a competitor's rating and review count over time, or validate hours/amenities before displaying venue details to end users.
The Yelp ID or Yelp Alias of the place. For example, 'jPIZ3FR5LNcwPuUHi2Fe4g' or 'mcdonalds-new-york-386'.
Yelp domain to use. Default is `www.yelp.com`.
Get Yelp Place Details Fetches a single Yelp business by Yelp ID or alias with domain targeting. Returns name, address, phone, website, price range, categories, overall rating, review count, hours, amenities, photos, and highlighted reviews. Use to enrich leads or listings with verified Yelp metadata, monitor a competitor's rating and review count over time, or validate hours/amenities before displaying venue details to end users.
| Argument | Type | Description |
|---|---|---|
| domain | string | Yelp domain to use. Default is `www.yelp.com`. |
| placeId* | string | The Yelp ID or Yelp Alias of the place. For example, 'jPIZ3FR5LNcwPuUHi2Fe4g' or 'mcdonalds-new-york-386'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"placeId"
],
"properties": {
"domain": {
"enum": [
"www.yelp.com",
"www.yelp.co.uk",
"www.yelp.ca",
"www.yelp.com.au",
"ms.yelp.my",
"www.yelp.cz",
"www.yelp.dk",
"www.yelp.de",
"www.yelp.at",
"de.yelp.ch",
"en.yelp.be",
"en.yelp.com.hk",
"en.yelp.my",
"www.yelp.co.nz",
"en.yelp.com.ph",
"www.yelp.ie",
"www.yelp.com.sg",
"en.yelp.ch",
"www.yelp.com.ar",
"www.yelp.cl",
"www.yelp.es",
"www.yelp.com.mx",
"fil.yelp.com.ph",
"fr.yelp.be",
"fr.yelp.ca",
"www.yelp.fr",
"fr.yelp.ch",
"www.yelp.it",
"it.yelp.ch",
"nl.yelp.be",
"www.yelp.nl",
"www.yelp.no",
"www.yelp.pl",
"www.yelp.com.br",
"www.yelp.pt",
"fi.yelp.fi",
"sv.yelp.fi",
"www.yelp.com.tr",
"www.yelp.co.jp",
"zh.yelp.com.hk",
"www.yelp.com.tw"
],
"type": "string",
"description": "Yelp domain to use. Default is `www.yelp.com`."
},
"placeId": {
"type": "string",
"description": "The Yelp ID or Yelp Alias of the place. For example, 'jPIZ3FR5LNcwPuUHi2Fe4g' or 'mcdonalds-new-york-386'."
}
},
"additionalProperties": false
}Get Yelp Place Reviews Fetches the review feed of a single Yelp business by Yelp ID, with sorting (relevance, date, rating, elites), filtering by star rating, language and free-text query, and cursor pagination. To page, either step `start` by `num`, or resend the `pagination.nextPageToken` of the previous response as the `nextPageToken` parameter, keeping the other filters unchanged, until `pagination.hasNextPage` is false. The response reports the page it returned as `pagination.start` and `pagination.num`, matching the parameter names. Each review returns the author profile (name, location, review/friend/photo counts, Elite status), full text with language, star rating, timestamp, attached photos and videos, reader reactions, review tags (check-ins, first review, reservation and payment flags) and the owner reply when present. The response also carries the business review totals broken down by rating and by language. Use to monitor customer sentiment over time, mine complaints for a competitor, track how a business responds to negative reviews, or build rating-distribution and review-velocity datasets.
| Argument | Type | Description |
|---|---|---|
| num | number | Number of reviews to return per page. The maximum is 49. Defaults to 49 for the recommended feed and to 10 when `notRecommended` is set. The response echoes it back as `pagination.num`. |
| query | string | Note: Yelp ignores the `rating` filter while searching, so a query returns matching reviews of every star rating. Free-text query to search within the reviews of the place. |
| start | number | Result offset for pagination. It skips the given number of reviews, so the step matches `num` (e.g., 0, 49, 98 for the recommended feed, or 0, 10, 20 when `notRecommended` is set). The response echoes it back as `pagination.start`. Cannot be combined with `nextPageToken`. |
Get Yelp Search Results Runs a Yelp business search by keyword and location with optional map-bounded radius via the `l` parameter (g:lon1,lat1,lon2,lat2), domain targeting, and offset-based pagination. Returns a ranked list of businesses with Yelp alias/ID, name, categories, rating, review count, price tier, and thumbnail. Use the returned aliases as input to the Yelp Place endpoint for full details, to power local-discovery UIs, or to build market-share/competitor datasets for a niche in a given geography.
| Argument | Type | Description |
|---|---|---|
| l | string | Parameter defines the distance or map radius for the search results. For example: `g:-95.2486,29.8496,-95.4277,29.6324`. |
| start | number | Result offset for pagination (e.g., 0 for the first page, 10 for the 2nd page, etc.). |
| domain | string | Yelp domain to use. Default is `www.yelp.com`. |
| keyword* | string | The search term for which to get the search results. |
| location* | string | The location where to search for businesses with the given keyword. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"location"
],
"properties": {
"l": {
"type": "string",
"description": "Parameter defines the distance or map radius for the search results. For example: `g:-95.2486,29.8496,-95.4277,29.6324`.\n"
},
"start": {
"type": "number",
"description": "Result offset for pagination (e.g., 0 for the first page, 10 for the 2nd page, etc.)."
},
"domain": {
"enum": [
"www.yelp.com",
"www.yelp.co.uk",
"www.yelp.ca",
"www.yelp.com.au",
"ms.yelp.my",
"www.yelp.cz",
"www.yelp.dk",
"www.yelp.de",
"www.yelp.at",
"de.yelp.ch",
"en.yelp.be",
"en.yelp.com.hk",
"en.yelp.my",
"www.yelp.co.nz",
"en.yelp.com.ph",
"www.yelp.ie",
"www.yelp.com.sg",
"en.yelp.ch",
"www.yelp.com.ar",
"www.yelp.cl",
"www.yelp.es",
"www.yelp.com.mx",
"fil.yelp.com.ph",
"fr.yelp.be",
"fr.yelp.ca",
"www.yelp.fr",
"fr.yelp.ch",
"www.yelp.it",
"it.yelp.ch",
"nl.yelp.be",
"www.yelp.nl",
"www.yelp.no",
"www.yelp.pl",
"www.yelp.com.br",
"www.yelp.pt",
"fi.yelp.fi",
"sv.yelp.fi",
"www.yelp.com.tr",
"www.yelp.co.jp",
"zh.yelp.com.hk",
"www.yelp.com.tw"
],
"type": "string",
"description": "Yelp domain to use. Default is `www.yelp.com`."
},
"keyword": {
"type": "string",
"description": "The search term for which to get the search results."
},
"location": {
"type": "string",
"description": "The location where to search for businesses with the given keyword."
}
},
"additionalProperties": false
}| domain | string | Yelp domain to use. Default is `www.yelp.com`. |
| rating | string | Note: Yelp ignores this filter when `query` is set, so a search returns matching reviews of every star rating. Filters the reviews by star rating. Possible values are 5, 4, 3, 2 and 1. To return only five-star reviews, set it to `5`. To include several ratings, pass them comma-separated, for example `5,4,3`. When omitted, reviews with any rating are returned. |
| sortBy | string | The order in which the reviews are returned. Defaults to relevanceDesc. |
| placeId* | string | The Yelp ID of the place. For example, '-4ofMtrD7pSpZIX5pnDkig'. Yelp IDs can be obtained from the Yelp Search Scraper API. |
| languageCode | string | Language of the reviews to return, as a two-letter code (e.g., 'en', 'es', 'fr'). Defaults to en. |
| nextPageToken | string | Opaque cursor for the next page, taken verbatim from `pagination.nextPageToken` of the previous response. It carries both the offset and the page size, so passing it alone continues the feed where the last response ended. Keep the other filters (`sortBy`, `rating`, `languageCode`, `query`, `notRecommended`) identical across pages. Use either this or `start`, not both. Paginate until `pagination.hasNextPage` is false. |
| notRecommended | boolean | Returns the reviews Yelp does not currently recommend (filtered out of the main feed by its recommendation software) instead of the recommended ones. These reviews carry no photos, videos or reactions, and are paginated ten at a time. Defaults to false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"placeId"
],
"properties": {
"num": {
"type": "number",
"description": "Number of reviews to return per page. The maximum is 49. Defaults to 49 for the recommended feed and to 10 when `notRecommended` is set. The response echoes it back as `pagination.num`.\n"
},
"query": {
"type": "string",
"description": "Note: Yelp ignores the `rating` filter while searching, so a query returns matching reviews of every star rating. Free-text query to search within the reviews of the place.\n"
},
"start": {
"type": "number",
"description": "Result offset for pagination. It skips the given number of reviews, so the step matches `num` (e.g., 0, 49, 98 for the recommended feed, or 0, 10, 20 when `notRecommended` is set). The response echoes it back as `pagination.start`. Cannot be combined with `nextPageToken`.\n"
},
"domain": {
"enum": [
"www.yelp.com",
"www.yelp.co.uk",
"www.yelp.ca",
"www.yelp.com.au",
"ms.yelp.my",
"www.yelp.cz",
"www.yelp.dk",
"www.yelp.de",
"www.yelp.at",
"de.yelp.ch",
"en.yelp.be",
"en.yelp.com.hk",
"en.yelp.my",
"www.yelp.co.nz",
"en.yelp.com.ph",
"www.yelp.ie",
"www.yelp.com.sg",
"en.yelp.ch",
"www.yelp.com.ar",
"www.yelp.cl",
"www.yelp.es",
"www.yelp.com.mx",
"fil.yelp.com.ph",
"fr.yelp.be",
"fr.yelp.ca",
"www.yelp.fr",
"fr.yelp.ch",
"www.yelp.it",
"it.yelp.ch",
"nl.yelp.be",
"www.yelp.nl",
"www.yelp.no",
"www.yelp.pl",
"www.yelp.com.br",
"www.yelp.pt",
"fi.yelp.fi",
"sv.yelp.fi",
"www.yelp.com.tr",
"www.yelp.co.jp",
"zh.yelp.com.hk",
"www.yelp.com.tw"
],
"type": "string",
"description": "Yelp domain to use. Default is `www.yelp.com`."
},
"rating": {
"type": "string",
"description": "Note: Yelp ignores this filter when `query` is set, so a search returns matching reviews of every star rating. Filters the reviews by star rating. Possible values are 5, 4, 3, 2 and 1. To return only five-star reviews, set it to `5`. To include several ratings, pass them comma-separated, for example `5,4,3`. When omitted, reviews with any rating are returned.\n"
},
"sortBy": {
"enum": [
"relevanceDesc",
"dateDesc",
"dateAsc",
"ratingDesc",
"ratingAsc",
"elitesDesc"
],
"type": "string",
"description": "The order in which the reviews are returned. Defaults to relevanceDesc."
},
"placeId": {
"type": "string",
"description": "The Yelp ID of the place. For example, '-4ofMtrD7pSpZIX5pnDkig'. Yelp IDs can be obtained from the Yelp Search Scraper API."
},
"languageCode": {
"type": "string",
"description": "Language of the reviews to return, as a two-letter code (e.g., 'en', 'es', 'fr'). Defaults to en."
},
"nextPageToken": {
"type": "string",
"description": "Opaque cursor for the next page, taken verbatim from `pagination.nextPageToken` of the previous response. It carries both the offset and the page size, so passing it alone continues the feed where the last response ended. Keep the other filters (`sortBy`, `rating`, `languageCode`, `query`, `notRecommended`) identical across pages. Use either this or `start`, not both. Paginate until `pagination.hasNextPage` is false.\n"
},
"notRecommended": {
"type": "boolean",
"description": "Returns the reviews Yelp does not currently recommend (filtered out of the main feed by its recommendation software) instead of the recommended ones. These reviews carry no photos, videos or reactions, and are paginated ten at a time. Defaults to false.\n"
}
},
"additionalProperties": false
}