Google Search interest versus Android app rankings

Pass source google search for a weekly Search interest series, or source app rankings for chart position by bundle ID. Rank 1 on Play is a different tool.

Live data as of 2026-10-16

Source google search on get_growth and get_time_series returns a weekly 0-100 Google Search interest series for one phrase. Source app rankings returns a 0-100 Android chart-index series for an exact Google Play bundle ID, plus an independent rank-position volume field where 1.0 is first place. Both pulls on October 16, 2026 used ChatGPT as the example: Search keyword chatgpt, rankings keyword com.openai.chatgpt. Search held 261 weekly points from 2021-10-16 through 2026-10-10 and closed 89.0, with no volume keys. app rankings held 29 points from 2026-09-16 through 2026-10-15 and closed 100.0, with series volume 1.0. Search 12M fell 8.25 percent from 97.0. Rankings 12M returned date_out_of_range. WhatsApp Search closed 96.0 while rankings volume sat at 200.0. The live boards use type Google Trends and type Google Play, not those source strings.

Search 12M cooled while ChatGPT stayed at rank 1.0

The October 16, 2026 pull is the split that still matters next month: weekly Search interest versus a short Android rank series, then two indexes that do not share a scale. get_time_series for chatgpt on source google search returned 261 weekly points from 2021-10-16 (value 0, no volume field) through 2026-10-10 (value 89). Peak 100 sat on 2025-09-20. The first non-zero week was 2022-12-10 at value 4. The series field is source google search. Growth metadata printed total_data_points 261. Search growth rows for chatgpt printed no volume_available, no volume_estimated, and no recent_volume.

get_time_series for com.openai.chatgpt on source app rankings returned 29 points from 2026-09-16 (value 100, volume 1) through 2026-10-15 (value 100.0, volume 1.0). Every row in that ChatGPT series held volume 1.0. The series field is datatype app rankings, not source. REST and MCP both printed datatype. Growth metadata printed total_data_points 29. Search starts in 2021. Rankings start in 2026-09-16. Quote both dates. The lag is the series, not a stale live board.

Search 7D matched 1W exactly: plus 21.92 percent from 73.0, recent_date 2026-10-10, baseline 2026-10-03. app rankings 7D was flat 0.0 percent from 100.0, recent_date 2026-10-15, with volume_growth 0.0 from 1.0 to 1.0. 30D matched 1M on Search: plus 5.95 percent from 84.0. app rankings 30D was also flat 0.0 percent from 100.0, rank volume still 1.0. Search YTD was plus 45.9 percent from 61.0 on 2026-01-03. Rankings YTD returned date_out_of_range with data_start 2026-09-16. Omitting percent_growth defaults to 12M. That default succeeded on Search (minus 8.25 percent from 97.0) and failed on rankings with envelope statusCode 400, error growth_calculation_failed, message No growth window could be calculated.

Display nameSearch closeSearch 12MBundle IDRankings closeRankings volumeRankings 30D indexPoints
ChatGPT89.0 on 2026-10-10-8.25% from 97.0com.openai.chatgpt100.0 on 2026-10-151.00.0% (1.0 to 1.0)261 / 29
WhatsApp96.0 on 2026-10-10+4.35% from 92.0com.whatsapp0.0 on 2026-10-15200.0-100.0% (18.9 to 0.0)261 / 21
Google Gemini16.0 on 2026-10-10-36.0% from 25.0com.google.android.apps.bard95.2 on 2026-10-156.0+33.33% (71.4 to 95.2)261 / 29
Duolingo52.0 on 2026-10-10-10.34% from 58.0com.duolingo100.0 on 2026-10-151.00.0% (1.0 to 1.0)261 / 29
TikTok75.0 on 2026-10-10+10.29% from 68.0com.zhiliaoapp.musically16.7 on 2026-10-157.0-83.3% (100.0 to 16.7)261 / 29
Instagram63.0 on 2026-10-10-10.0% from 70.0com.instagram.android100.0 on 2026-10-151.00.0% (1.0 to 1.0)261 / 29

The 12M column is Search only. Rankings 12M returned date_out_of_range on every bundle in this pull. WhatsApp is the split: Search closed 96.0, 7D plus 39.13 percent from 69.0, estimated volume 301000000.0, while rankings closed index 0.0 at volume 200.0. Rankings 7D index was minus 100.0 percent from 78.4, with volume_growth plus 16.96 percent from 171.0 to 200.0. A higher rank volume is a worse chart slot. Gemini Search 12M was minus 36.0 percent from 25.0 while rankings 30D index rose 33.33 percent and rank volume improved from 11.0 to 6.0 (volume_growth minus 45.45 percent). TikTok Search 12M was plus 10.29 percent from 68.0 while rankings 30D index fell 83.3 percent and rank volume worsened from 2.0 to 7.0 (volume_growth plus 250.0 percent). Quote both closes. Do not rescale one index onto the other.

whatsapp Search printed volume_available true, volume_estimated true, recent_volume 301000000.0, and volume_growth null, with reason volume is derived from the trend value for this source, not an independent measurement. The matching time series printed volume 301016949 on 2026-10-10. duolingo Search estimated 7370000.0. instagram Search estimated 506000000.0. chatgpt Search printed no volume keys. Presence of a volume key on one Search keyword does not promise it on the next. Rankings volume is a chart position, not a Search estimate.

Source names case-fold. App Rankings and APP RANKINGS on get_growth for com.openai.chatgpt returned the same 7D row as the lowercase label. Feed labels do not belong here. Source Google Play returned HTTP 400 invalid_source, message 'google play' is not a valid source., and listed 17 keyword sources plus all. Source Google Trends did the same, echoed as 'google trends'. The handler lowercased the rejected type string. It did not map it to source app rankings or source google search.

Close dates are not shared. Search closed 2026-10-10 on every phrase in this pull. Rankings closed 2026-10-15 on every bundle that returned a series. Quote the date on the row, not a single as_of for the table.

A comma call searches Google for the bundle ID

Google Search chatgpt printed no volume. app rankings com.openai.chatgpt printed independent rank positions. A comma call still mixes the first windows, then weights only the source that has volume. The trap is the shared keyword.

{"mode": "get_growth", "source": "google search, app rankings", "keyword": "com.openai.chatgpt", "percent_growth": ["7D", "30D"]}

The matching MCP call on October 16, 2026 returned sources_successful 2. trend_analysis printed uptrend_count 0, downtrend_count 1, flat_count 1, and uptrend_ratio 0/2. app rankings 7D was flat 0.0 percent. Search 7D was minus 62.79 percent. The Search series on that call is the bundle ID com.openai.chatgpt, which closed 16.0 on 2026-10-10 from a 43.0 baseline. Branded chatgpt Search 7D was plus 21.92 percent from 73.0 to 89.0. The mixer scored a downtrend because it searched Google for the package name. It never saw the 89.0 series. Search 30D on that bundle ID printed 999999.0 from baseline 0.0 on 2026-09-12. That percent is a zero baseline on a package-name query, not branded ChatGPT demand.

volume_weighted_growth was 0.0 with has_volume_data true, sources_with_volume 1, weight_coverage 1/2 sources, and total_volume 1.0. app rankings contributed 1.0 (100.0 percent of the mix) at growth 0.0. Google Search contributed nothing to that mix. The 0.0 is app rankings volume_growth, a rank-position change. Search of the bundle ID printed no recent_volume and no volume_growth. The mixer did not invent Search units to fill the gap. Read source_results before treating 0.0 as a blended Search-plus-rank number.

The first REST comma on the same ChatGPT bundle marked app rankings unavailable, message Data not available for this source., with sources_successful 1 and sources_failed 1. A later REST retry returned sources_successful 2. MCP returned 2 on the first try. Treat one unavailable as retry, not as a missing Android series. Extra windows still sit on one get-growth request per source.

get_time_series rejects the comma. Source google search, app rankings returned HTTP 400 invalid_source and listed 16 keyword sources with no all. Source all on get_time_series returned the same 400 shape. One source per series call. Two sources belong on get-growth. Source all on get_growth is a different path: it ran 13 sources in parallel for chatgpt, excluded app rankings and app downloads (bundle-ID sources), and left news volume plus news sentiment as Source did not respond in time. Dedicated REST get_growth for tesla on those two news sources returned HTTP 504 the same morning.

The schema warning is literal. If the request includes app rankings with other sources, keyword must still be the Android bundle ID. REST get_growth on source google search, app rankings with keyword chatgpt returned sources_successful 1 and sources_failed 1. Search closed 89.0. app rankings returned unavailable, message Data not available for this source. Display names belong on Search. Bundle IDs belong on rankings. Join them in the notebook, not in one keyword field.

A REST comma on com.whatsapp did succeed on both sources the same morning: sources_successful 2, uptrend_ratio 0/2, volume_weighted_growth 16.96 from rankings 7D volume_growth plus 16.96 at volume 200.0. Rankings index 7D was minus 100.0 percent from 78.4 to 0.0. The mixer used the rank-volume increase, a worse chart slot, as the weighted growth number. Search of that bundle ID closed 48.0, 7D minus 9.43 percent. Phrase whatsapp closed 96.0, 7D plus 39.13 percent. Same product, three series.

Volume 1.0 is shared; 12M is date_out_of_range

Source google search accepts an ordinary phrase. Source app rankings is documented as an Android bundle ID, the id= value on a Play Store URL. Live traffic enforced the second rule.

ChatGPT on app rankings returned HTTP 200 with envelope statusCode 404 no_data, message No time series data available for this keyword and source combination. The same string on Google Search folded with chatgpt: close 89.0, 12M minus 8.25 percent from 97.0, 261 points. Search keywords case-fold. Bundle IDs do not have a display-name alias. Prefer the Play Store package name in stored configs.

Volume 1.0 on October 15, 2026 was not unique to ChatGPT. com.duolingo and com.instagram.android also closed index 100.0 at volume 1.0, each with 29 points from 2026-09-16. com.roblox.client closed index 100.0 at volume 2.0. Three packages cannot occupy the same slot on one 200-row chart. Treat volume 1.0 as first place on whatever chart that package is attached to, not as a global Play rank. The first REST get_growth for com.instagram.android returned 404 no_data. get_time_series for the same pair returned 29 points on the first try. A later get_growth printed the 100.0 / 1.0 close. Treat one 404 as retry.

History is short. ChatGPT, Gemini, Duolingo, TikTok, Instagram, Facebook (com.facebook.katana, 29 points, close 66.7 / volume 4.0), Spotify (com.spotify.music, 29 points, close 8.8 / volume 61.0), and Roblox all started on 2026-09-16. WhatsApp started one day later, 2026-09-17, with 21 points. Windows longer than the series, including 12M and YTD, return date_out_of_range. Prefer 7D and 30D until the history lengthens. Follow-up for the rankings source alone lives on the Android app rankings API. Google Search history lives on google search data. Install volume by the same bundle IDs lives on Google Search vs Android app downloads.

The 0-100 columns are independent indexes. ChatGPT Search close 89.0 is not 89 percent of rankings close 100.0. Rankings volume 1.0 is a chart slot, not a Search score. Search 12M on that name was minus 8.25 percent from 97.0. Quote both closes. Do not add the percents.

Call source app rankings without pasting Google Play as a type

Two strings, two tools. REST uses mode get_growth or get_top_trends. MCP uses the matching tool names. The adjacent live board is Google Play, not a second app-rankings keyword source. Multi-source growth patterns sit on get_growth.

{"mode": "get_growth", "source": "google search", "keyword": "chatgpt", "percent_growth": ["30D", "12M"]}
{"mode": "get_growth", "source": "app rankings", "keyword": "com.openai.chatgpt", "percent_growth": ["7D", "30D"]}
{"mode": "get_time_series", "source": "google search", "keyword": "chatgpt"}
{"mode": "get_time_series", "source": "app rankings", "keyword": "com.openai.chatgpt"}
{"mode": "get_top_trends", "type": "Google Trends"}
{"mode": "get_top_trends", "type": "Google Play"}

The MCP equivalents are get_growth(keyword="chatgpt", source="google search", percent_growth=["30D", "12M"]), get_growth(keyword="com.openai.chatgpt", source="app rankings", percent_growth=["7D", "30D"]), get_time_series(keyword="chatgpt", source="google search"), get_time_series(keyword="com.openai.chatgpt", source="app rankings"), get_top_trends(type="Google Trends"), and get_top_trends(type="Google Play"). Keep the two growth calls separate when the Search phrase is not the bundle ID. Pass 7D or 30D on rankings. 12M is the default and it failed on this 29-day series.

Omitting limit is not required to learn the stamp. Type Google Trends with limit 1 returned as_of_ts 2026-10-16T06:01:43.645385+00:00, rank 1 rj mitte. Type GitHub with limit 1 returned the same stamp, rank 1 morluto/rea. Type Google Play with limit 1 returned as_of_ts 2026-09-13T12:01:38.463213+00:00, rank 1 WhatsApp Messenger. That Play stamp is 33 days behind the Trends and GitHub stamps. Rank is live chart order, not a sort of the 2026-10-15 ChatGPT ranking index. Rank 1 on that board is a display name. It is not a bundle ID. Rankings volume 200.0 for com.whatsapp on 2026-10-15 does not match Play rank 1. Quote both tools. Do not substitute one for the other.

REST type google search (the keyword source string, lowercase) returned HTTP 200, echoed type Google Trends, and matched rj mitte at rank 1. REST type Google Search did the same. REST type app rankings returned HTTP 400, error invalid_request, message Unknown type 'app rankings', plus 24 valid feed labels. llms.txt still describes feed labels as case-sensitive. The live handler accepted some lowercase aliases on October 16, 2026 and rejected others. Prefer the canonical spelling in stored configs. Do not pass source app rankings as a feed type.

REST omitting type is a different 400. POST https://api.trendsmcp.ai/api with mode get_top_trends and no type returned HTTP 200 with envelope statusCode 400, error invalid_request, message The 'type' parameter is required, then the same 24-name list. llms.txt still names that miss missing_parameter. Read statusCode inside the JSON, not only the HTTP line.

get_top_trends MCP pricing is 1 credit per 10 requested rows, max 10 credits per call. REST counts 1 request per call. get_growth bills one request per source plus keyword, with extra percent_growth windows included, so a two-source comma string is two units. get_time_series bills one request per source plus keyword. Keyword follow-up stays on source google search or source app rankings. The live boards stay on their type strings. Free includes 100 requests per month. Starter is $19 for 1,000, Pro $49 for 5,000, Business $199 for 25,000. Annual billing saves 20 percent. Check current pricing before locking a budget.

Common questions

No. Source google search is a weekly 0-100 Google Search interest series for an ordinary phrase. Source app rankings is a 0-100 Android chart-index series plus an independent rank-position volume field for an exact Google Play bundle ID. ChatGPT on October 16, 2026 closed 89.0 on 261 weekly Search points ending 2026-10-10, versus 100.0 on 29 app-rankings points ending 2026-10-15 at volume 1.0.
The two columns are independent. Search closed 96.0 on 2026-10-10 with estimated volume 301000000.0. Rankings closed index 0.0 and volume 200.0 on 2026-10-15. Volume on app rankings is chart position, where higher is worse. Type Google Play still listed WhatsApp Messenger at rank 1 with as_of 2026-09-13T12:01:38.463213+00:00. That live board is not the rankings series.
No. get_time_series on source google search, app rankings returned HTTP 400 invalid_source and listed 16 keyword sources with no all. Comma-separated sources belong on get_growth. A REST comma on com.openai.chatgpt first marked app rankings unavailable, then a retry and the matching MCP call both returned sources_successful 2.
No. If app rankings is in the source list, the keyword must still be the Android bundle ID. REST get_growth on source google search, app rankings with keyword chatgpt returned sources_successful 1. Google Search closed 89.0. app rankings returned unavailable. Pass com.openai.chatgpt for rank history, and run a second Search call on chatgpt.
No. Source app rankings is the bundle-ID series. Type app rankings on get_top_trends returned HTTP 400 invalid_request, Unknown type, plus 24 feed labels. Type Google Play returned the live chart, rank 1 WhatsApp Messenger, as_of 2026-09-13T12:01:38.463213+00:00. Source Google Play on get_growth is invalid_source and lists 17 keyword sources plus all.