---
title: "App Store"
description: "Reviews of the iPhone and iPad apps a keyword names, with their stars, title and app version."
canonical: https://docs.mentio.dev/platforms/appstore
markdown: https://docs.mentio.dev/platforms/appstore.mdx
---

# App Store

Reviews of the iPhone and iPad apps a keyword names, with their stars, title and app version.

The App Store is a [review platform](/platforms/reviews): a keyword's term is never searched here. Instead a keyword names apps in its `reviewSources`, and every new review of those apps becomes a mention of the keyword, whether or not the review says the app's name.

| `platform`    | `appstore`                                                             |
| ------------- | ---------------------------------------------------------------------- |
| What is found | Every new review of the apps a keyword names, per storefront (country) |
| Freshness     | About once a day per app and storefront                                |
| Last 30 days  | Yes, the newest 100 reviews per storefront, free                       |
| Source        | Apple's public customer review feed                                    |

## Connect an app

Paste the app's App Store link, and name the storefronts to read (default: the one in the link, else `us`):

```bash
curl -X PATCH https://api.mentio.dev/v1/keywords/kw_123 \
  -H "Authorization: Bearer $MENTIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "reviewSources": [
        { "url": "https://apps.apple.com/us/app/notion-notes-docs-tasks/id1232780281", "countries": ["us", "gb", "de"] }
      ] }'
```

The id is the digits after `id` in the link; `{ "platform": "appstore", "id": "1232780281" }` works too. Reviews are stored per storefront, so an app reviewed mostly in Germany needs `de`. The same review seen in two storefronts is one mention.

## What a mention carries

* `post.text`: the review's title, a blank line, then its body.
* `review.rating` (1 to 5), `review.title`, `review.version` (the app version the reviewer ran) and `review.country`.
* `author.name` and a link to the reviewer's App Store profile.
* `review.response` is always `null`: Apple's feed does not carry the developer's reply.
* Sentiment comes from the stars (4 and 5 positive, 3 neutral, 1 and 2 negative) and relevance from the keyword's kind; the classifier still adds the intent tags.

## Limits

* Apple's feed lists the newest 500 reviews of a storefront. A daily poll never outgrows that except for the very largest apps.
* Apple lists a review a few hours after it was written, under the time it was written, so a review can reach the feed a day later than its date.
* An app that is not sold in a storefront has no reviews there: that storefront is simply empty.
