Back to Tools

Legacy Tool - Unreliable API

This tool relies on an unofficial API (pytrends for Google Trends) which is frequently rate-limited and unreliable. The tool may fail or return incomplete data. Use with caution.

Keyword Trends Analyser

Use cases

Identifying trending topics Deprioritising declining keywords Content calendar planning Market trend analysis

Queries Google Trends via pytrends in batches of 5 keywords and calculates a year-over-year slope: the percentage change between last calendar year and the previous year average interest.

Keywords are classified as Rising (slope above +10%), Declining (below -10%), or Stable.

Uses a randomised delay between batches to reduce rate limiting.

Streamlit App

Platform

Browser-based (no installation required)

Input

CSV/Excel with a Keyword column, or manual entry (one per line)

Output

Excel with an All Results sheet plus Rising Trends and Declining Trends sheets (top 20 each, selected on slope above or below zero): keyword, average interest, last year and previous year averages, slope %, and trend classification.

Launch App View Source

Features

  • pytrends batching (5 keywords per request)
  • YoY slope: (last calendar year avg minus previous year avg) / previous year avg x 100
  • Rising/Stable/Declining classification at +/-10% thresholds
  • Time ranges: 5 years, 3 years, 12 months, or all time (12 months gives no previous-year data, so everything reads Stable)
  • 10 geographic regions plus worldwide
  • Random delay of 1 to N seconds between batches (slider 1-10, default 3)
  • Keyword cap 5-500 (default 100)

How to use

  1. 1 Upload keywords or enter manually
  2. 2 Select region, time range, and request delay
  3. 3 Set max keywords to analyse (default 100)
  4. 4 Run analysis and review rising/declining tables
  5. 5 Download the three-sheet Excel report

Frequently asked questions

Why does everything come back Stable when I pick the 12 months range?
The slope compares average interest in the last full calendar year against the year before that. A 12 month window contains no data at all for that earlier year, so the previous-year average is zero and the slope defaults to 0, classifying every keyword as Stable. Use the 3 year or 5 year ranges for meaningful results.
How are brand new keywords classified?
Counterintuitively, as Stable. When a keyword had zero interest in the earlier comparison year, the code sets the slope to 0 rather than infinity, so a term that only started trending last year will not show as Rising. Check the last_year_avg and prev_year_avg columns to spot these.
Which column does it read my keywords from?
The first column whose name contains 'keyword' (case insensitive); if none matches, it silently uses the first column in the file. There is no mapping UI, so make sure your keywords are in a column with 'keyword' in the header, or first in the file. Duplicates are removed automatically.
Do the Rising and Declining Excel sheets contain every trending keyword?
No, each holds only the top 20, taken from the on-screen tables which use any positive or negative slope rather than the +/-10% classification bands. The All Results sheet contains every keyword with its slope and trend label, so filter that sheet for complete lists.
What happens when Google Trends rate-limits a batch?
Keywords are queried in batches of 5 through the unofficial pytrends library. A failed batch shows a warning and is skipped without retry, so those 5 keywords are simply absent from the results. If your output has fewer rows than keywords uploaded, increase the delay slider and re-run the missing ones.

Need something built for your business?

This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.

Tell Me What You Need