Skip to main content
Glama

Store category rank

sensortower_app_rank
Read-only

Retrieve an app's current category ranks or daily rank history for a chosen category and chart type. Use it to monitor app store ranking changes.

Instructions

mode=current gives every category rank an app holds right now (one app id). mode=history gives the daily rank series for a specific category and chart type (needs category + chart_type_ids; get valid values from sensortower_reference). An unknown app id returns 422 'App not found.' here, unlike sensortower_app_metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
osNoStore to query. This endpoint has no unified variant.ios
modeNocurrent
limitNoKeep at most this many rows.
fieldsNoComma-separated allowlist of output fields. Strongly recommended: SensorTower rows are wide.
formatNoOutput encoding. csv is markedly cheaper in tokens for wide, flat results.
app_idsYesComma-separated app ids. Batch them -- one request per 100 ids costs one request.
dry_runNoPrint the URL that would be called (token redacted) and charge 0 requests.
categoryNoRequired for mode=history, e.g. 6005 (iOS) or a slug (Android).
end_dateNo
countriesNoComma-separated ISO country codes, or "WW" for worldwide.US
start_dateNo
chart_type_idsNomode=history only.topfreeapplications

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower. The description earns credit by disclosing a concrete failure behavior — an unknown app id returns 422 'App not found.' here, unlike sensortower_app_metadata — which an agent cannot derive from the schema or annotations. It omits request-cost/pagination context, but the mode requirements and error semantics add real value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, each carrying distinct information: mode=current behavior, mode=history requirements plus a pointer for valid values, and the 422-versus-sibling distinction. The mode branches are front-loaded and there is no redundant restatement of the title or schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, no-output-schema tool, the description covers the mode logic, the history prerequisites, and an error edge case. Remaining fields (os, limit, fields, format, dates, countries) are documented in the schema, so their absence from the description is acceptable. A brief note on what a rank row contains would fully close the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so the schema already documents most fields. The description nonetheless adds conditional semantics that the schema does not express: category and chart_type_ids are required only for mode=history, and mode=current operates on a single app id. That conditional relationship is the key semantic an agent needs and it is stated explicitly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource (returns category rank for an app) and cleanly splits it into two named modes with a precise definition of each ('every category rank an app holds right now' vs 'the daily rank series for a specific category and chart type'). This is distinguishable from siblings like sensortower_top_charts, which aggregate across apps rather than reporting a given app's rank.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear mode-selection guidance: mode=current for one app id, mode=history requires category + chart_type_ids and directs the agent to sensortower_reference for valid values. It also flags a behavioral difference against sensortower_app_metadata. It stops short of stating when NOT to use this tool (e.g. preferring top_charts for aggregate rankings), so it is clear guidance without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.