Review intelligence for an app - top issues with trends and samples, topics per version, weekly sentiment.

GEThttps://api.appgoat.ai/v1/apps/{app}/insights
25 creditsMCP tool get_insightsoperationId getAppInsights

Built from the AI tags on every review (sentiment, intent, severity, topic). top_issues are topics carried by negative / bug / crash / UX / pricing reviews, with last_30d vs prev_30d counts and sample reviews; versions shows what each release changed in sentiment and topics; sentiment_over_time is weekly. Use it for "what do users complain about since v2.3?" or a reviews → GitHub issues playbook. Reviews not tagged yet only count in the totals (tagged < reviews, see meta.warnings).

Request

curl "https://api.appgoat.ai/v1/apps/com.spotify.music/insights" \
  -H "x-api-key: $APPGOAT_API_KEY"

Path parameters

appstringrequired
Any app identifier: App Store id (284882215, id284882215), Play package (com.spotify.music), Apple bundle id (com.spotify.client), store URL (URL-encoded), apple:<id> / play:<id>, or a name (spotify).

Query parameters

store"apple" | "play"
Disambiguates {app} (a bundle id vs a Play package, or a name).
countrystring
One storefront; omit for every storefront we hold reviews for.
since_daysinteger

Default 180

versionsinteger
How many of the latest versions to break down.

Default 6

Response

200 with data: Insights. See the envelope for meta.

windowobject
window.sincestring
window.untilstring
reviewsinteger
taggedinteger
Reviews with AI tags (the breakdowns below cover these).
avg_ratingnumber | null
sentimentobject
sentiment.positiveinteger
sentiment.neutralinteger
sentiment.negativeinteger
intentsobject
topicsobject[]
topics[].labelstring
topics[].reviewsinteger
topics[].negativeinteger
topics[].avg_ratingnumber | null
top_issuesobject[]
top_issues[].topicstring
top_issues[].reviewsinteger
top_issues[].sharenumber
top_issues[].avg_severitynumber | null
0 none - 3 critical.
top_issues[].intentsobject
top_issues[].last_30dinteger
top_issues[].prev_30dinteger
top_issues[].versionsstring[]
top_issues[].samplesobject[]
versionsobject[]
versions[].versionstring
versions[].first_review_atstring
versions[].reviewsinteger
versions[].avg_ratingnumber | null
versions[].sentimentobject
versions[].intentsobject
versions[].topicsobject[]
sentiment_over_timeobject[]
sentiment_over_time[].weekstring
sentiment_over_time[].reviewsinteger
sentiment_over_time[].positiveinteger
sentiment_over_time[].neutralinteger
sentiment_over_time[].negativeinteger
sentiment_over_time[].avg_ratingnumber | null
Example
{
  "data": {
    "window": {
      "since": "2026-10-22T10:00:00Z",
      "until": "2026-10-22T10:00:00Z"
    },
    "reviews": 1,
    "tagged": 1,
    "avg_rating": 4.5,
    "sentiment": {
      "positive": 1,
      "neutral": 1,
      "negative": 1
    },
    "intents": {},
    "topics": [
      {
        "label": "string",
        "reviews": 1,
        "negative": 1,
        "avg_rating": 4.5
      }
    ],
    "top_issues": [
      {
        "topic": "string",
        "reviews": 1,
        "share": 4.5,
        "avg_severity": 4.5,
        "intents": {},
        "last_30d": 1,
        "prev_30d": 1,
        "versions": [],
        "samples": []
      }
    ],
    "versions": [
      {
        "version": "string",
        "first_review_at": "2026-10-22T10:00:00Z",
        "reviews": 1,
        "avg_rating": 4.5,
        "sentiment": {},
        "intents": {},
        "topics": []
      }
    ],
    "sentiment_over_time": [
      {
        "week": "2026-10-22",
        "reviews": 1,
        "positive": 1,
        "neutral": 1,
        "negative": 1,
        "avg_rating": 4.5
      }
    ]
  },
  "meta": {
    "credits_used": 25,
    "credits_remaining": 9981,
    "request_id": "req_123"
  }
}

Status codes

200
Insights.
Missing or invalid API key.
insufficient_credits (the call costs more than you have left; nothing was done) or plan_limit (a feature of a higher plan).
Nothing matches {app}, or the store does not have it.
Too many requests per second for your plan.