App Rank History
sonar_app_rankingsRank history for an app's tracked keywords over the requested window. Compact by default: each keyword's current rank and status, best rank, positions gained and a newest-first daily ranks list (a rank, "unranked" = checked but not found, null = no check that day). Pass fields: "full" for the per-day observations grid: ranked has a numeric rank; not_found means a completed search did not return the app (results_count is the returned search size); not_observed means no confirmed check, including legacy gaps. Never interpret an absent rank as a collection failure or assign a numeric rank to it. The legacy history array contains positive ranks only. Use this to check how rankings moved after a metadata change or to find keywords trending up or down. Cursor-paginated over keywords (default 50 per page). Requires an Indie plan (trial counts).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | History window in days (1-365). Default 30. | |
| limit | No | Page size (1-200). Server default applies when omitted. | |
| app_id | Yes | Sonar app UUID — the `id` returned by sonar_list_apps or sonar_create_product. NOT a store id. | |
| cursor | No | Pagination cursor from a previous call's `next_cursor`. Omit for the first page. | |
| fields | No | "compact" (default): per keyword: rank + status + measured_at (latest day with a completed check or recorded rank), best_rank, positions_gained (oldest ranked day in the window minus the current rank; positive = moved up), and ranks — one entry per day, newest first starting at ranks_end: a number = the rank, "unranked" = a completed check did not find the app, null = no check that day (never report a null day as not ranked). About 7× smaller. "full": per keyword: the `history` array (positive ranks only) and the daily `observations` grid with status (ranked / not_found / not_observed) and results_count per day. | compact |
| keyword_id | No | Restrict to one keyword — a keyword_id from sonar_app_keywords. Omit for all tracked keywords. |