App Store intelligence in Cursor

A product manager in Agent can call iOS chart boards and Android bundle-ID series through Trends MCP. AppTweak still owns ASO suites.

App Store intelligence in Cursor means Trends MCP inside Agent, not a second ASO login. After mcp.json is live, get_top_trends with type App Store Top Free or App Store Top Paid returns iOS charts. Type Google Play returns the Play board. Android keyword history uses source app downloads or app rankings with a bundle ID such as com.openai.chatgpt. Display names are the wrong keyword. Default board limit is 25.

The product view is App Store trends. The blog best App Store trend research tools is a tools roundup. This page is the Cursor PM workflow. Reddit pairing from the related prompt is Reddit trends in Cursor.

iOS boards versus Android bundle IDs

Those clocks look similar in a standup and they are different tools.

get_top_trends(type="App Store Top Free", limit=25)
get_top_trends(type="App Store Top Paid", limit=25)
get_top_trends(type="Google Play", limit=25)
get_growth(keyword="com.openai.chatgpt", source="app downloads", percent_growth=["30D", "3M"])
get_growth(keyword="com.himshers.hims", source="app rankings", percent_growth=["30D"])

Type strings take no keyword. Sources app downloads and app rankings take a bundle ID. Sending ChatGPT as the keyword on app downloads is how the series comes back empty. Sending App Store Top Free as source is invalid_source. REST series mode is get_time_series. Weekly grain.

sort rank_change on a board needs a baseline snapshot. offset pages past 25. Max limit 200. Official type names live on data sources.

Ask with “using TrendsMCP.” A PM prompt that only says “app store intelligence” often retrieves AppTweak, not this server.

A PM sequence that stays in Agent

Open the ticket. Ask Agent for the iOS free chart if the question is “what is topping unpaid.” Ask for Google Play if the question is Android charts. Then grow-check exact bundle IDs for the two candidates, not the marketing names. If the ticket also asked “is Reddit talking about this,” add type Reddit Hot Posts as a separate board call. Four objects, four requests if each is its own tool call. Cap it. Free plan 100 requests per month.

Do not freeze this morning’s Top Free list in the ticket template. The chart turns over. Cite as_of_ts or call again.

AppTweak, Sensor Tower, and data.ai remain ASO suites. Check current pricing on those sites. Trends MCP will not return keyword difficulty or estimated IAP revenue. It will return public charts and Android download or rank series on a 0-100 index where the pipeline supports it.

Cursor JSON, quotas, misses

Same Bearer object as other Cursor pages. url https://api.trendsmcp.ai/mcp, transport http. Cursor setup. Key: account. Quit Cursor. VS Code type http does not belong in this file.

Starter $19 / 1,000. Pro $49 / 5,000. Business $199 / 25,000. Annual 20 percent off. Pricing. Cursor is a weak cron. Nightly chart pulls belong on REST.

Empty bundle series: not_found or data_unavailable. That is often a display name used as a keyword, not an outage. Low-volume apps print huge percents on tiny baselines. Quote both index values. 401: Claude www URL in Cursor.

A second GitHub-trending or npm growth call can sit in the same Agent turn when the PM is deciding a dependency that also ships as an app. Different sources, same server. Name the product every time.

What belongs in the ticket versus what belongs in a suite

A ticket that asks “what is topping unpaid iOS” is a board. A ticket that asks “did ChatGPT Android downloads move” is app downloads plus com.openai.chatgpt. A ticket that asks “keyword difficulty for standing desk” is AppTweak. Mixing the third into Agent with this MCP attached produces a confident paragraph with no field behind it.

.cursorrules can name the three type strings, the two Android sources, and the bundle-ID rule. They should not name this morning’s Top Free titles. Charts turn over. A frozen list in a rule file becomes a stale standup fact.

sort rank_change is the climber view. It needs a baseline snapshot. If the feed has no snapshot in tolerance, the response can return count 0 with a note. That is not an outage. Ask for sort rank when the job is the current chart, not the movers.

A proving pair that fits the free plan: one App Store Top Free page, one app downloads growth call on a known bundle ID. Two requests. Google Play is a third object if the ticket named Android charts. Reddit Hot Posts is a fourth if the ticket named community heat. Cap it. An Agent that pages every chart “to be thorough” finishes the free 100-request month before the PR is opened.

iOS keyword history is not a hidden third source on this MCP. If the PM needs App Store search ads volume, that is the ASO suite. Do not send an iOS bundle-shaped string into app downloads and treat a miss as “Apple is down.” not_found often means the wrong object.

If Agent starts quoting estimated revenue or conversion, stop. Those fields are not in this payload. Open AppTweak, Sensor Tower, or App Store Connect. Mixing the two without labels produces a review comment that looks cited and still lacks a recent_date.

Common questions

Install Trends MCP, then ask Agent, using TrendsMCP, for get_top_trends with type App Store Top Free, App Store Top Paid, or Google Play. For a specific Android app, call get_growth with source app downloads or app rankings and the bundle ID, not the display name.
iOS charts are get_top_trends types. Keyword history for apps is Android-shaped in this API. Sources app downloads and app rankings want a bundle ID such as com.openai.chatgpt. Do not send App Store Top Free as a get_growth source.
No. Those products are ASO suites with keyword difficulty, creative, and revenue estimates. Trends MCP is a public chart plus Android series index. Keep the suite for ASO. Use Agent for live charts next to the repo.
Yes. The same Trends MCP server exposes Reddit Hot Posts and App Store Top Free. That is two get_top_trends calls, not two installs.