<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: EasyData Labs</title>
    <description>The latest articles on DEV Community by EasyData Labs (@easydatalabs_975595dd444).</description>
    <link>https://dev.to/easydatalabs_975595dd444</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4232713%2F1533078c-3974-4976-a3ee-61df6ffb97d6.png</url>
      <title>DEV Community: EasyData Labs</title>
      <link>https://dev.to/easydatalabs_975595dd444</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/easydatalabs_975595dd444"/>
    <language>en</language>
    <item>
      <title>The app idea is already proven. It's just in another country.</title>
      <dc:creator>EasyData Labs</dc:creator>
      <pubDate>Sat, 07 Nov 2026 19:46:12 +0000</pubDate>
      <link>https://dev.to/easydatalabs_975595dd444/the-app-idea-is-already-proven-its-just-in-another-country-tags-ios-startup-appstore-386e</link>
      <guid>https://dev.to/easydatalabs_975595dd444/the-app-idea-is-already-proven-its-just-in-another-country-tags-ios-startup-appstore-386e</guid>
      <description>&lt;p&gt;Most app ideas get validated the hard way: build, launch, wait, hope.&lt;/p&gt;

&lt;p&gt;There's a cheaper signal hiding in plain sight. Apple publishes &lt;strong&gt;top-grossing charts for every country and every category&lt;/strong&gt;. When a brand-new app is earning enough to rank in a country's top-grossing chart, someone is already paying for that idea. And very often that app exists in &lt;strong&gt;one&lt;/strong&gt; country only.&lt;/p&gt;

&lt;p&gt;So I scanned them all.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I scanned (November 2026)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;56 countries&lt;/strong&gt;, &lt;strong&gt;12 categories&lt;/strong&gt; (Business, Finance, Food &amp;amp; Drink, Shopping, Health &amp;amp; Fitness, Productivity, Travel and more)&lt;/li&gt;
&lt;li&gt;top-grossing charts only, so these are apps that &lt;strong&gt;make money&lt;/strong&gt;, not just get downloads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;66,875 chart entries&lt;/strong&gt; in total&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I kept apps that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;were &lt;strong&gt;released in the last 12 months&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;rank in the &lt;strong&gt;top 50&lt;/strong&gt; of a category's top-grossing chart,&lt;/li&gt;
&lt;li&gt;in &lt;strong&gt;3 countries or fewer&lt;/strong&gt;,&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;and checked whether each one is even &lt;strong&gt;available&lt;/strong&gt; in 10 big markets: US, UK, France, Germany, Spain, Italy, Brazil, Japan, Saudi Arabia and the UAE.&lt;/p&gt;

&lt;p&gt;Result: &lt;strong&gt;1,358 new apps&lt;/strong&gt; that earn money locally. Most of them are not available in any of those 10 markets.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern that jumped out: grocery-budget apps
&lt;/h2&gt;

&lt;p&gt;One theme kept showing up in different countries, built by different teams, in different languages: &lt;strong&gt;apps that help people spend less on groceries&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;app&lt;/th&gt;
&lt;th&gt;where it's charting (category top-grossing)&lt;/th&gt;
&lt;th&gt;released&lt;/th&gt;
&lt;th&gt;missing from&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NomNom: budget meal planner&lt;/td&gt;
&lt;td&gt;🇭🇺 Hungary &lt;strong&gt;#1&lt;/strong&gt;, Food &amp;amp; Drink&lt;/td&gt;
&lt;td&gt;Jul 2026&lt;/td&gt;
&lt;td&gt;9 of 10 big markets (in the US store but not charting)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SeSum: Sammenlign Matpriser&lt;/td&gt;
&lt;td&gt;🇳🇴 Norway #3, Shopping&lt;/td&gt;
&lt;td&gt;Aug 2026&lt;/td&gt;
&lt;td&gt;all 10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;שף כיס (weekly menu on a budget)&lt;/td&gt;
&lt;td&gt;🇮🇱 Israel #2, Food &amp;amp; Drink&lt;/td&gt;
&lt;td&gt;Sep 2026&lt;/td&gt;
&lt;td&gt;all 10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Suppie: Weekmenu Aanbiedingen&lt;/td&gt;
&lt;td&gt;🇳🇱 Netherlands #9, 🇧🇪 Belgium #27&lt;/td&gt;
&lt;td&gt;Jul 2026&lt;/td&gt;
&lt;td&gt;all 10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grocery Go: Compare &amp;amp; Save&lt;/td&gt;
&lt;td&gt;🇦🇺 Australia #10, Shopping&lt;/td&gt;
&lt;td&gt;Jul 2026&lt;/td&gt;
&lt;td&gt;all 10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Råkollen&lt;/td&gt;
&lt;td&gt;🇸🇪 Sweden #11, 🇫🇮 Finland #30, 🇳🇴 Norway #63&lt;/td&gt;
&lt;td&gt;Aug 2026&lt;/td&gt;
&lt;td&gt;all 10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dete: Grocery Prices&lt;/td&gt;
&lt;td&gt;🇦🇺 Australia #21, Shopping&lt;/td&gt;
&lt;td&gt;May 2026&lt;/td&gt;
&lt;td&gt;all 10&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Seven independent apps, launched within a few months of each other, each making money in its own country. Two flavours:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;price comparison&lt;/strong&gt;: "which supermarket is cheapest for my list this week?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;budget meal planning&lt;/strong&gt;: "plan my week's meals around this week's promotions."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When the same idea earns money in Hungary, Norway, Israel, the Netherlands and Australia at the same time, that's not luck. It's a need. None of these apps is available in the UK, France, Germany or Spain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other examples from the same scan
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pulga: compra y vende usados&lt;/strong&gt;: 🇨🇱 Chile #5 in Shopping, &lt;strong&gt;2,281 ratings&lt;/strong&gt; at 4.8 stars, released Dec 2025. A local second-hand marketplace, not available in any of the 10 markets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bildirio&lt;/strong&gt;: 🇹🇷 Turkey #6 in Business, released Jul 2026. Earning, but rated 2.0 stars by 358 users: proven demand, unhappy users. That's an opening for a better version.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to read a "gap" honestly
&lt;/h2&gt;

&lt;p&gt;A gap is a &lt;strong&gt;lead, not a guarantee&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Top-grossing in a small country can mean small revenue.&lt;/strong&gt; #3 in Norway's Shopping chart is not #3 in the US. Treat the rank as proof of willingness to pay, not as a revenue figure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Some ideas are local by nature.&lt;/strong&gt; Grocery price comparison depends on local supermarket data. That's exactly why nobody has copied it everywhere yet, and also why it takes real work in each new country.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low rating counts mean early.&lt;/strong&gt; An app with 14 ratings at #10 just launched. Check again in a month.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Not available" can be a choice.&lt;/strong&gt; Some developers deliberately stay local. That's fine: the idea is still validated.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who this is useful for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Indie developers and small studios&lt;/strong&gt; looking for an idea with demand already proven somewhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Localization and ASO agencies&lt;/strong&gt;: every app earning money in one country and absent everywhere else is a &lt;strong&gt;potential client&lt;/strong&gt;. They have revenue, and they haven't expanded yet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Investors and scouts&lt;/strong&gt; who want to spot local winners before they go international.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Run the scan yourself
&lt;/h2&gt;

&lt;p&gt;The scan runs on Apify as &lt;strong&gt;&lt;a href="https://apify.com/easydata-labs/app-market-gap-finder" rel="noopener noreferrer"&gt;App Store Market Gap Finder&lt;/a&gt;&lt;/strong&gt;. Default input:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gaps"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"releasedWithinDays"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;365&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxCountries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxRank"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"targetCountries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"us"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gb"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"fr"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"de"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"es"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"it"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"br"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sa"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ae"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can change the categories, the 56 source countries, the target markets, how new the apps must be and how deep in the chart to look. Each row gives you the app, where it charts and at what rank, where it's missing, a &lt;strong&gt;gap score&lt;/strong&gt;, ratings and the App Store link.&lt;/p&gt;

&lt;p&gt;From Python:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;apify_client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ApifyClient&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ApifyClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_APIFY_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;easydata-labs/app-market-gap-finder&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run_input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;categories&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Food &amp;amp; Drink&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Shopping&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Finance&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;targetCountries&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;fr&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;de&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;defaultDatasetId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nf"&gt;iterate_items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;appName&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;chartingInText&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;missing:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;notAvailableInText&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There's also a raw mode that simply exports the top charts of every country you choose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; pay per result, $20 per 1,000 market gaps ($0.02 each). A default scan returns up to 100 gaps (you set the limit), so about $2.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I built this tool. The data comes from Apple's public App Store charts and lookup API. If you spot a gap worth a closer look, or want a filter that isn't there, leave a comment.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ios</category>
      <category>appstore</category>
      <category>startup</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to check if 1,000 keywords are growing on Google Trends in one call</title>
      <dc:creator>EasyData Labs</dc:creator>
      <pubDate>Sat, 07 Nov 2026 19:36:31 +0000</pubDate>
      <link>https://dev.to/easydatalabs_975595dd444/how-to-check-if-1000-keywords-are-growing-on-google-trends-in-one-call-1hlc</link>
      <guid>https://dev.to/easydatalabs_975595dd444/how-to-check-if-1000-keywords-are-growing-on-google-trends-in-one-call-1hlc</guid>
      <description>&lt;p&gt;Google Trends is the best free signal for "is demand going up or down?". It is also painful to use at scale:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the website compares at most &lt;strong&gt;5 keywords at a time&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;every chart is scaled to its own peak (0–100), so you can't read growth off it directly;&lt;/li&gt;
&lt;li&gt;there is no official API, and scripts get rate-limited fast.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have a list of 200 product ideas, 500 SEO keywords or a spreadsheet of niches, you usually end up clicking through charts one by one and eyeballing them.&lt;/p&gt;

&lt;p&gt;I wanted &lt;strong&gt;one row per keyword with a number that answers the question&lt;/strong&gt;. So I built a small tool for it. This post explains the method, so you can reuse it even without my tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  The method: compare the last 12 months with the 12 before
&lt;/h2&gt;

&lt;p&gt;Raw Trends values are relative, but &lt;strong&gt;ratios inside the same series are meaningful&lt;/strong&gt;. So for each keyword:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pull 5 years of weekly data for the country you care about.&lt;/li&gt;
&lt;li&gt;Take the &lt;strong&gt;last 52 complete weeks&lt;/strong&gt; and the &lt;strong&gt;52 weeks before them&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Compare the averages: that's your &lt;strong&gt;year-over-year growth&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Comparing full years cancels out seasonality. "Sunscreen" in July vs January tells you nothing; this July-to-June year vs the previous one tells you whether the market is actually bigger.&lt;/p&gt;

&lt;p&gt;Two extra signals help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3-month momentum:&lt;/strong&gt; the last 13 weeks vs the 13 weeks before. Is the growth still accelerating, or already cooling?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Current vs peak:&lt;/strong&gt; a keyword at 100% of its peak is a different story from one at 30%.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then put everything into plain labels that anyone on the team can read:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;label&lt;/th&gt;
&lt;th&gt;meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;emerging&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;no measurable searches a year ago, searches now&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;breakout&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;+100% or more vs the previous 12 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rising&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;+20% to +100%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;stable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-20% to +20%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;declining&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;below -20%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Real example (US, November 2026)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;keyword&lt;/th&gt;
&lt;th&gt;trend&lt;/th&gt;
&lt;th&gt;growth score&lt;/th&gt;
&lt;th&gt;YoY change&lt;/th&gt;
&lt;th&gt;3-month momentum&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;trump account&lt;/td&gt;
&lt;td&gt;breakout&lt;/td&gt;
&lt;td&gt;83&lt;/td&gt;
&lt;td&gt;+466.8%&lt;/td&gt;
&lt;td&gt;-22.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;home battery backup&lt;/td&gt;
&lt;td&gt;breakout&lt;/td&gt;
&lt;td&gt;62&lt;/td&gt;
&lt;td&gt;+122%&lt;/td&gt;
&lt;td&gt;-46.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;air fryer&lt;/td&gt;
&lt;td&gt;stable&lt;/td&gt;
&lt;td&gt;52&lt;/td&gt;
&lt;td&gt;+14.3%&lt;/td&gt;
&lt;td&gt;-11.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;How to read it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"home battery backup"&lt;/strong&gt; more than doubled over a year, but momentum is down 46% over the last quarter. The demand is real, but the spike is behind it. That's useful before ordering stock or writing 20 articles on the topic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"air fryer"&lt;/strong&gt; is a mature market: slightly up, flat overall. Big volume, no growth story.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;growth score&lt;/strong&gt; (0–100, 50 = flat) combines year-over-year growth and recent momentum into a single sortable number. Sort your list by it and the interesting keywords float to the top.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bonus: &lt;em&gt;why&lt;/em&gt; did it spike?
&lt;/h2&gt;

&lt;p&gt;A number tells you &lt;strong&gt;that&lt;/strong&gt; a keyword jumped, not &lt;strong&gt;why&lt;/strong&gt;. So the tool can also look at news headlines from the weeks around each keyword's biggest spike and extract the phrases that keep coming up:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;keyword&lt;/th&gt;
&lt;th&gt;phrases found in the news&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;trump account&lt;/td&gt;
&lt;td&gt;accounts, kids, $1,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;crowdstrike&lt;/td&gt;
&lt;td&gt;outage, global, tech&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;spirit airlines&lt;/td&gt;
&lt;td&gt;bankruptcy, files, chapter 11&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I tested it on 50 well-known spikes in English, French and Arabic: it found the right cause in &lt;strong&gt;43 of 50&lt;/strong&gt;. Not perfect, but enough to separate a one-off news event from a lasting trend without opening 30 tabs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Doing it in one call
&lt;/h2&gt;

&lt;p&gt;The tool runs on Apify as &lt;strong&gt;&lt;a href="https://apify.com/easydata-labs/keyword-growth-checker" rel="noopener noreferrer"&gt;Google Trends Growth Checker&lt;/a&gt;&lt;/strong&gt;. Input:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"keywords"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"home battery backup"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"portable power station"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"heat pump rebate"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"countries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"US"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"GB"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"includeRelatedQueries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"explainWithNews"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Up to 1,000 keywords per run, each one checked in every country you list. From Python:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;apify_client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ApifyClient&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ApifyClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_APIFY_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;easydata-labs/keyword-growth-checker&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run_input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;keywords&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;home battery backup&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;portable power station&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;countries&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;US&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;defaultDatasetId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nf"&gt;iterate_items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;keyword&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;trend&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;growthScore&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;yoyChangePct&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each row also includes the &lt;strong&gt;10 fastest-rising related searches&lt;/strong&gt;, which is often where the next keyword idea comes from, plus a &lt;code&gt;lowVolumeWarning&lt;/code&gt; flag when Google has too little data for the number to be trusted.&lt;/p&gt;

&lt;p&gt;It also works from n8n, Make, or an AI agent through Apify's MCP server: the agent gets a clean, labeled row instead of a raw chart to interpret.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limits worth knowing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Google Trends measures &lt;strong&gt;relative interest, not search volume&lt;/strong&gt;. Use this to see whether demand is growing; use a search-volume tool to see how big it is.&lt;/li&gt;
&lt;li&gt;Very small keywords are noisy. Respect the low-volume flag.&lt;/li&gt;
&lt;li&gt;Growth is computed on complete weeks, so the current partial week is ignored on purpose.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Pay per keyword: $12 per 1,000 keywords checked, and failed checks are not charged. The news explanation is optional and charged separately ($15 per 1,000), only when an explanation is actually found.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I built this tool. If you try it and something is off, or you need a field it doesn't have, leave a comment. I read them all.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>python</category>
      <category>api</category>
      <category>marketing</category>
    </item>
  </channel>
</rss>
