Owlmetry
CLI

Reviews

List, view, and respond to public App Store / Play Store reviews from the CLI.

Public App Store / Play Store reviews. Apple reviews are pulled from the App Store Connect customerReviews API and require a configured App Store Connect integration on the project. Distinct from in-app feedback. Replies round-trip to Apple's developer-response field on the public listing.

For raw star-rating aggregates (no text), see Ratings.

List reviews

owlmetry reviews list --project-id <id> [filters]

Lists store reviews for a project. Sorted by most recent first; results are paginated via cursor.

FlagRequiredDescription
--project-id <id>YesProject UUID
--app-id <id>NoFilter by app UUID
--store <store>Noapp_store or play_store
--rating <n>NoExact rating (1-5)
--rating-lte <n>NoRating ≤ this value
--rating-gte <n>NoRating ≥ this value
--country <cc>NoISO country code (e.g. us, gb)
--has-responseNoOnly reviews that have a developer response
--no-responseNoOnly reviews that have no developer response
--search <text>NoFree-text search within title + body
--limit <n>NoMax entries to return
--cursor <cursor>NoPagination cursor from a previous response
# Five-star reviews from US
owlmetry reviews list --project-id 550e8400-... --rating 5 --country us

# Negative reviews still awaiting a reply
owlmetry reviews list --project-id 550e8400-... --rating-lte 2 --no-response

View a review

owlmetry reviews view <reviewId> --project-id <id>

Shows the full review — reviewer name, country, app version, posted/ingested timestamps, full body, and the developer response (with publish state) if one exists.

Argument / FlagRequiredDescription
<reviewId>YesReview UUID
--project-id <id>YesProject UUID

Reply to a review

owlmetry reviews respond <reviewId> --project-id <id> --body "Thanks for the feedback…"
owlmetry reviews respond <reviewId> --project-id <id> --body-file ./reply.txt
echo "…" | owlmetry reviews respond <reviewId> --project-id <id> --body-file -

⚠️ Sends the response to App Store Connect. Apple publishes the reply on the App Store listing — it becomes publicly visible. If a reply already exists, it is replaced (Apple has no PATCH for review responses, so the CLI internally deletes-then-creates).

Requires the project to have an active App Store Connect integration. Replies are limited to 5970 characters (Apple's responseBody cap) — the CLI rejects longer payloads client-side.

Argument / FlagRequiredDescription
<reviewId>YesReview UUID
--project-id <id>YesProject UUID
--body <text>ConditionalReply body inline. One of --body/--body-file required.
--body-file <path>ConditionalRead reply body from a file (use - for stdin).

The CLI prints Reply sent — pending publish on Apple's side initially; the next reviews sync flips state to published.

Delete a review response

owlmetry reviews delete-response <reviewId> --project-id <id> --yes

⚠️ Destructive — irrecoverable. Removes the developer response from the public App Store listing. This is a real Apple-side mutation; the only way back is to post a new reply. The --yes flag is required to confirm.

Argument / FlagRequiredDescription
<reviewId>YesReview UUID
--project-id <id>YesProject UUID
--yesYesRequired confirmation flag

JSON output

All reviews commands support --format json for machine-readable output:

owlmetry reviews list --project-id <id> --format json
owlmetry reviews view <reviewId> --project-id <id> --format json

Ready to get started?

Connect your agent via MCP or CLI and start tracking.