Skip to content
Back to Blog
·5 min read

Replying to App Store reviews

Where to reply in App Store Connect, what Apple says about notifications, editing and tone, how to report a concern instead, and the Customer Reviews and Customer Review Responses endpoints of the App Store Connect API.

Reply from App Store Connect: open the app, choose Ratings and Reviews in the sidebar, pick the platform, find the review and click Reply. Each review shows one response, you can edit or delete it at any time, and Apple says the customer is notified and can update their review. If a review is offensive or breaks the rules, report a concern instead of replying; the reviewer is not told. Everything you write is public, and guideline 5.6.1 says to keep it about the customer's comment, with no personal information, spam or marketing. To reply from code, the App Store Connect API has endpoints for listing reviews and for creating, reading and deleting responses; sign its requests with a token from our App Store Connect JWT generator.

This guide is the reply workflow and the API. Our post on asking for ratings, replying and resetting your rating covers the in-app rating prompt and the summary-rating reset; read that one for those topics.

Reply in App Store Connect

The required role, per Apple, is Account Holder, Admin or Customer Support.

  1. In Apps, select the app.
  2. Click Ratings and Reviews in the sidebar. A user who has only the Customer Support role is taken straight there.
  3. At the top right, select the platform that has the review.
  4. Find the review and click Reply.
  5. Enter the reply and click Submit.

To change it, click Edit Response next to the review, edit and click Save. Apple notes you do not need to be the person who wrote the response. To remove it, open Edit Response and click Delete Response.

What Apple says about the result:

  • The customer is notified and can update their review in response. Several edits made in a short time, for example to fix a typo, send only one notification.
  • Only one response per review is shown on the product page, and it stays visible even if the customer edits their review.
  • You can respond to any review, however old.
  • Replying is available for iOS, macOS, watchOS and visionOS apps. On tvOS, people can only rate, so there is nothing to reply to.
  • If a customer changes their review, users with the Admin or Customer Support role are notified, provided they have access and have the notifications turned on. Apple suggests setting up email alerts for this in App Store Connect.

Apple's pages do not give a maximum length for a reply, so we do not state one. Apple asks for concise replies anyway.

What to write

Apple's guidance has two layers. The App Review Guidelines say, in 5.6.1: "treat customers with respect when responding to their comments. Keep your responses targeted to the user's comments and do not include personal information, spam, or marketing in your response."

Apple's ratings and reviews page adds advice on style and order:

  • A good response is concise and addresses the customer's feedback clearly. Be respectful, friendly and in your brand's voice, and personalize it rather than pasting one generic answer under many reviews.
  • If you cannot answer everything, start with the lowest star ratings and the reviews that describe technical problems in the current version. Acknowledge the feedback and say you are working on it.
  • When an update fixes something people complained about, say so in the release notes and consider replying to those reviews. Apple calls this an effective way to bring back people who were unhappy.
  • After a major release, reply soon to new and updated reviews, while people are interested in talking.
  • If a reviewer reports a download error or a billing problem, point them to Apple Support. If Apple decides it is not about the App Store or the person's account, Apple contacts you.

A short reply in that spirit:

Thanks for the details. The export crash on iPad is fixed in version 2.3.1, which is on the App Store now. If it still happens after updating, write to the support address on our product page and we will look at it with you.

Report a concern instead of replying

For a review with offensive material, spam or other content that breaks Apple's terms, Apple says to use Report a Concern under the review in App Store Connect, not a reply. In the dialog, choose a concern from the menu, describe it and click Submit. The customer who wrote the review is not notified that you reported it. The same menu exists for the review summary on the iOS platform page, through the ellipsis next to the summary.

Do it with the App Store Connect API

Apple documents these endpoints under Customer Reviews and Customer Review Responses. The base URL is https://api.appstoreconnect.apple.com/.

WhatRequest
List an app's reviewsGET /v1/apps/{id}/customerReviews
List an app version's reviewsGET /v1/appStoreVersions/{id}/customerReviews
Read one reviewGET /v1/customerReviews/{id}
Read the response to a reviewGET /v1/customerReviews/{id}/response
Create a response, or replace yoursPOST /v1/customerReviewResponses
Delete a responseDELETE /v1/customerReviewResponses/{id}

For the list of an app's reviews, Apple documents these query parameters: filter[rating] (values 1 to 5, for example 1,2), filter[territory], exists[publishedResponse] (false returns reviews with no published response), sort (rating, -rating, createdDate or -createdDate), limit (200 at most), include and fields[...]. Apple warns that a review can have a response that is not published yet, so exists[publishedResponse]=false is not the same as "never replied to". A review has rating, title, body, reviewerNickname, createdDate and territory. A response has responseBody, lastModifiedDate and a state of PUBLISHED or PENDING_PUBLISH.

Every request needs a signed token in the Authorization header as a bearer token. Apple's token page: the header uses alg ES256, the kid of your key and typ JWT, signed with the private key from App Store Connect. The JWT generator builds one in your browser.

The create request takes the review ID in a relationship and your text in responseBody:

{
  "data": {
    "type": "customerReviewResponses",
    "attributes": { "responseBody": "Thanks for the details. The export crash is fixed in 2.3.1." },
    "relationships": {
      "review": { "data": { "type": "customerReviews", "id": "REVIEW_ID" } }
    }
  }
}

Apple says the POST creates the response and publishes it, and if a response already exists it overwrites it, so the same call also edits. Responses and deletions do not take effect instantly on the App Store; allow some time. In Swift, the body and request can be built like this:

import Foundation

struct ReviewReplyBody: Encodable {
    struct Attributes: Encodable { let responseBody: String }
    struct Review: Encodable {
        struct Ref: Encodable {
            let type = "customerReviews"
            let id: String
        }
        let data: Ref
    }
    struct Relationships: Encodable { let review: Review }
    struct Payload: Encodable {
        let type = "customerReviewResponses"
        let attributes: Attributes
        let relationships: Relationships
    }
    let data: Payload

    init(reviewID: String, text: String) {
        data = Payload(
            attributes: .init(responseBody: text),
            relationships: .init(review: .init(data: .init(id: reviewID)))
        )
    }
}

func replyRequest(reviewID: String, text: String, token: String) throws -> URLRequest {
    var request = URLRequest(url: URL(string: "https://api.appstoreconnect.apple.com/v1/customerReviewResponses")!)
    request.httpMethod = "POST"
    request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    request.httpBody = try JSONEncoder().encode(ReviewReplyBody(reviewID: reviewID, text: text))
    return request
}

We compiled this with Swift 6.4 and printed the encoded body, which matches the JSON above (key order differs). We did not send it to Apple, because that needs a live key and a real review. Posting an identical answer under every review would go against Apple's advice to personalize, so use the API to find reviews that need an answer, not to reply in bulk.

Sources

All read on 1 November 2026.

Apple's pages and endpoints change; check the pages above for current details.

Written by

Building local-first Mac & iOS productivity apps at Obelisk Club. About the author →