Yelp Respond to Reviews API
Respond to Reviews API operations documented in the Yelp developer reference: Respond to Review; Get Access Token; Get Businesses Associated with Access Token; Retrieve Business Owner Information.
Respond to Reviews API operations documented in the Yelp developer reference: Respond to Review; Get Access Token; Get Businesses Associated with Access Token; Retrieve Business Owner Information.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/yelp:yelp-respond-to-reviews-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Respond to Reviews API
version: '1.0'
servers:
- url: https://partner-api.yelp.com/
security:
- {}
tags:
- name: Respond to Reviews
paths:
/reviews/v1/{review_id}:
post:
tags:
- Respond to Reviews
summary: Respond to Review
operationId: create_review_response
description: Create a new review response.
parameters:
- name: review_id
in: path
required: true
description: 22-character unique ID of a review. Review IDs are usually obtained from the Yelp Places API Review endpoints, GraphQL API, or a Yelp Partner Feed.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
response_text:
description: Response text (only UTF-8 characters, no emojis)
type: string
response_type:
type: string
enum:
- public_comment
required:
- response_text
- response_type
responses:
'200':
description: Successfully responded to the given review.
content:
application/json:
schema:
type: object
properties: []
examples:
Result:
value: {}
'400':
description: "There are multiple scenarios in which different errors can be returned.\n\n## General Error Responses:\n\n| id | description | http_code\n| ------------------------ | ------------------------------------------------------------------------------------------------------- | -----------\n| INVALID_REQUEST |\tMissing a required parameter or includes an unsupported parameter. | HTTPBadRequest (400)\n| INSUFFICIENT_SCOPE |\tThe request requires higher privileges than provided by the access token. | HTTPBadRequest (400)\n| R2R_COMMENTS_NOT_ALLOWED |\tThis location does not include the respond-to-reviews feature. Contact your Yelp sales exec to enable. | HTTPBadRequest (400)\n\n## Public R2R Error Responses:\n\n| id | description\t | http_code\n| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------\n| R2R_PROBLEM_WITH_USER_PHOTO | Photo is missing, unacceptable, or pending. (A business owner needs to upload their own photo on biz.yelp.com - a valid photo is required in order to use R2R API.) | HTTPBadRequest (400)\n| R2R_UNACCEPTABLE_BIZ_USER_NAME | Unacceptable biz user name.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| HTTPBadRequest (400)\n| R2R_REVIEW_DOES_NOT_EXIST\t | Review does not exist.\t \t \t \t \t \t \t \t | HTTPBadRequest (400)\n| R2R_INVALID_RESPONSE_TYPE | Invalid response type.\t\t \t \t \t \t \t \t \t | HTTPBadRequest (400)\n| R2R_INVALID_RESPONSE_TEXT | Invalid response text. (This error happens if the response is empty or exceeds 5K characters or has foul language or is too similar to a comment that's already been posted.)\t| HTTPBadRequest (400)\n| R2R_PUBLIC_COMMENTS_DISABLED | Invalid response type.\t\t \t \t \t \t \t \t | HTTPBadRequest (400)\n| R2R_BUSINESS_NOT_CLAIMED | Cannot determine the status of your business. \t \t \t \t \t \t | HTTPBadRequest (400)\n| R2R_PERMISSION_DENIED | You do not have permission to comment on that review.\t\t \t \t \t \t | HTTPBadRequest (400)\n| R2R_COMMENT_QUOTA_EXCEEDED | You have made too many comments recently. (There is a maximum of 20 comments for each location per biz owner per day).\t\t \t | HTTPBadRequest (400)\n"
content:
application/json:
$ref: '#/paths/~1token~1v1/post/responses/400/content/application~1json'
examples:
Invalid Request:
value:
id: INVALID_REQUEST
description: Missing a required parameter or includes an unsupported parameter.
http_code: HTTPBadRequest (400)
Invalid Response Type:
value:
id: R2R_INVALID_RESPONSE_TYPE
description: Invalid response type.
http_code: HTTPBadRequest (400)
'401':
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
/v1/business_owner/me/profile:
get:
tags:
- Respond to Reviews
summary: Retrieve Business Owner Information
operationId: retrieve_business_owner_information
description: Retrieve information about the business owner associated with the given access token.
responses:
'200':
description: Successfully retrieved business owner information.
content:
application/json:
examples:
Result:
value:
first_name: Chris
last_name: Sample
email: chris.sample@companyname.com
position: MANAGER
id: ziUn,iIXzXAuv-hUpCOadA
photo_url: https://s3-media0.fl.yelpcdn.com/buphoto/tTs_H5N5QtY7umnkv44VXA/ms.jpg
schema:
type: object
properties:
first_name:
type: string
last_name:
type: string
email:
type: string
position:
type: string
id:
type: string
photo_url:
type: string
'400':
description: Bad Request.
content:
application/json:
schema:
type: object
properties: []
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'To authenticate API calls with the API Key, set the Authorization HTTP header value as `Bearer API_KEY`.
Example: `Bearer 23813239889e947efd3e787cc41b0b839f442a85c5bfd30bd4b9a85ec3a54d5cae4d52b37ff52e64deb9c83bd04883812a6cebde04f2f25752f31be0ac74b514`.
You can create or find your API Key at [yelp.com](https://www.yelp.com/developers/v3/manage_app).
'
x-readme-fauxas: true
x-provenance:
method: searched
source: https://docs.developer.yelp.com/reference
harvested: '2026-11-05'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.developer.yelp.com/reference/create_review_response.md
- https://docs.developer.yelp.com/reference/get-businesses-associated-with-an-access-token.md
- https://docs.developer.yelp.com/reference/get_businesses_associated_with_access_token.md
- https://docs.developer.yelp.com/reference/redeem_authorization_code_for_access_token.md
- https://docs.developer.yelp.com/reference/retrieve_business_owner_information-1.md
merge:
pages: 5
deduped: 5
conflicts_kept_first: 2