Keyword Trends Analyser
Analyse keyword trends using Google Trends to find rising and declining topics.
Legacy tool: unreliable API
This tool relies on an unofficial API (pytrends for Google Trends), which is often rate-limited. It may fail or return incomplete data.
#about
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.
- Category
- Keyword Research
Use cases
- Identifying trending topics
- Deprioritising declining keywords
- Content calendar planning
- Market trend analysis
#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
- Upload keywords or enter manually
- Select region, time range, and request delay
- Set max keywords to analyse (default 100)
- Run analysis and review rising/declining tables
- Download the three-sheet Excel report
#faq
- 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.
/contact
Want me to run this for you? I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.