Reviews

Read user reviews and aggregate stats.

Updated 2026-05-24
2 min read

Forvibe's review-sync pipeline scrapes the App Store / Play Store on a schedule. This API reads the DB cache — fast and cheap, no per-request scraping. Reviews are paginated because tables can hold thousands of rows.

List reviews

bash
GET /api/v1/projects/:projectId/reviews?store_type=appstore&min_rating=1&max_rating=3&only_unreplied=true&limit=50&offset=0

# Scope: store:read
# Returns: { data: [...], pagination: { total, limit, offset, has_more, next_offset } }

Get a single review

bash
GET /api/v1/reviews/:reviewId

# Includes developer_response and developer_response_state. Scope: store:read

Aggregate stats

bash
GET /api/v1/projects/:projectId/review-stats?store_type=appstore&days=30

# Returns:
# {
#   "data": {
#     "total_reviews": 1287,
#     "average_rating": 4.32,
#     "unreplied": 41,
#     "rating_distribution": { "1": 8, "2": 12, "3": 35, "4": 220, "5": 1012 },
#     "window_days": 30
#   }
# }
# Scope: store:read

Filters

  • store_type — appstore | playstore
  • rating — exact rating (1-5)
  • min_rating / max_rating — range
  • territory — 2-letter country code
  • only_unreplied — true to filter to reviews without a developer response