Developers

API reference

A read-only REST API to pull your reviews, ratings, and trends — for BI tools, data warehouses, or custom workflows. Available on the Studio plan. Create a key on the API keys page.

Authentication

Pass your key as a Bearer token. Keys are scoped to your workspace and only ever return your own data.

curl https://reviewcast.co/api/v1/apps \
  -H "Authorization: Bearer rc_live_xxxxxxxx..."

Base URL & limits

  • Base URL: https://reviewcast.co/api/v1
  • Rate limit: 60 requests/minute per key (429 with a retry hint when exceeded).
  • All responses are JSON. Dates are ISO-8601 (UTC).
GET/apps

Your tracked apps. Use each app’s id to filter the other endpoints.

{
  "apps": [
    { "id": "clx…", "name": "Pocket Peaks", "store": "googleplay",
      "externalAppId": "com.pocketpeaks.app", "appIcon": "https://…" }
  ]
}
GET/reviews

Your reviews, newest first, cursor-paginated. Query params (all optional): app (an app id), store, from/to (YYYY-MM-DD), rating (1–5), sentiment, topic, limit (≤100), cursor.

Each review’s topics, and the ?topic= filter, reflect your workspace’s own topic edits: a topic removed from or added to a review in the dashboard is removed or added here too.

{
  "reviews": [
    {
      "id": "…", "store": "appstore", "externalAppId": "6569248884",
      "author": "Jane", "rating": 5, "title": "Love it", "text": "…",
      "translatedText": null, "translatedFrom": null,
      "version": "1.4.0", "country": "us", "date": "2026-06-26T10:12:00.000Z",
      "sentiment": { "label": "positive", "score": 0.9 }, "topics": ["UI/UX"]
    }
  ],
  "nextCursor": "…"   // pass back as ?cursor= for the next page, or null
}
GET/ratings?app=<id>

Latest all-time rating summary for one app (from our daily snapshots).

{
  "app": { "id": "clx…", "store": "appstore", "externalAppId": "6569248884" },
  "rating": {
    "average": 4.42, "total": 12500,
    "histogram": { "1": 400, "2": 300, "3": 900, "4": 2950, "5": 7950 },
    "capturedOn": "2026-06-28"
  }
}
GET/trends?app=<id>

Weekly series for one app — volume by store, average rating, sentiment mix, and top topics. Each app is one store listing, so trends cover one store per app and only that store’s count is non-zero. Optional from/to (YYYY-MM-DD).

weekly buckets are whole ISO weeks (Monday–Sunday, UTC), keyed by the Monday: every week that overlaps from–to is returned complete, so the first and last buckets can include a few days outside the range. Weeks with no reviews are omitted rather than returned as zeros. totals, ratingDistribution and topTopics count only reviews dated inside from–to. Like /reviews, topTopics reflects your workspace’s own topic edits.

{
  "weekly": [ { "week": "2026-06-22", "label": "Jun 22",
    "appstore": 52, "googleplay": 0, "total": 52,
    "positive": 30, "neutral": 8, "negative": 10, "mixed": 4,
    "analyzed": 52, "avgScore": 4.25 } ],
  "totals": { "total": 52, "analyzed": 52,
    "positive": 30, "neutral": 8, "negative": 10, "mixed": 4 },
  "ratingDistribution": [ { "score": 1, "count": 3 }, { "score": 2, "count": 3 },
    { "score": 3, "count": 3 }, { "score": 4, "count": 12 }, { "score": 5, "count": 31 } ],
  "topTopics": [ { "topic": "Performance", "count": 14 } ]
}

Need write access, more resources, or a higher rate limit? Tell us — this is v1 and we’re expanding it.