# collect_feedback

> Read reviews or comments and return their original data.

URL: https://mcp-docs.opennomos.com/docs/tools/research/collect_feedback

> Read reviews or comments and return their original data. source=google_play: id is a package name (~5s, $0.00015). source=app_store: id is a numeric app id, country defaults to us (~16s, $0.00015). source=youtube_comments: id is a video id (~6s, $0.001).>
> Returns text, rating where available, author and date. Optional sort applies to App Store or YouTube's native sort parameter; language_code applies to YouTube comments.

| Field | Value |
| --- | --- |
| Pack | Feedback (`feedback`) |
| Estimated cost per call | ~$0.001 (upstream cost; see the description for per-action figures) |
| Monthly pack limit | $1 of upstream cost (not shown to users) |
| Project | optional (`project` or `X-OpenNomos-Project`); only attaches the project id to the result |

## Parameters

| Parameter | Required | Type | Description |
| --- | --- | --- | --- |
| `project` | no | `string` | Project slug or id. Omit to use the credential or workspace default. |
| `source` | yes | `"google_play"` \| `"app_store"` \| `"youtube_comments"` | Where to read from. |
| `id` | yes | `string` | google_play: package name, e.g. 'com.spotify.music'. app_store: numeric app id, e.g. '324684580'. youtube_comments: video id, e.g. 'dQw4w9WgXcQ'. |
| `country` | no | `string` | app_store only: 2-letter store country code, e.g. 'us', 'cn', 'jp'. Default 'us'. |
| `sort` | no | `string` | app_store or youtube_comments only: the source's own sort value, passed through as-is. Omit for the source's default order. |
| `language_code` | no | `string` | youtube_comments only: language code, e.g. 'en'. |
| `limit` | no | `integer (≥ 1, ≤ 100)` | google_play only: max reviews to return. Default 20. Not applied to app_store or youtube_comments. |

## Example call

```json
{
  "source": "app_store",
  "id": "310633997",
  "country": "us",
  "limit": 20
}
```

REST: `POST https://service.opennomos.com/v1/tools/collect_feedback` with that JSON as the body. MCP: `tools/call` with `name: "collect_feedback"` and that JSON as `arguments`.

## Example result

Values are illustrative; the shape comes from the service code.

```json
{
  "results": [
    {
      "text": "…",
      "rating": 4,
      "author": "…",
      "date": "2026-10-01"
    },
    "…"
  ]
}
```

## Notes

- `id` means a package name for `google_play`, a numeric app id for `app_store`, and a video id for `youtube_comments`.
- Returns the original review or comment text, with rating where available, author and date. The exact field names come from the provider.

## Errors

Upstream trouble is reported **inside a normal result** as `error`, `reason` and `action` (and `tool` / `retry_after_seconds` when they apply). For `search_signals` this appears per source. See [Errors](https://mcp-docs.opennomos.com/docs/reference/errors.md).

This tool is in the **Feedback** pack. If the pack is not enabled the call fails with `pack_required` (HTTP 403); if the pack's monthly upstream cost limit is used up it fails with `soft_limit` (HTTP 429). Both carry `action: "give_up_and_tell_user"` and the console URL.
