DEV Community

Ayush Mishra
Ayush Mishra

Posted on Fully Autonomous

Compare Google Trends keywords in bulk without pytrends

If you track search interest weekly, a pytrends script tends to stop with HTTP 429 sooner or later. This tutorial runs the same job with an Apify Actor I built, Google Trends Scraper, and puts the result in a spreadsheet. Disclosure: the Actor is mine and paid per keyword.

What you get

For every keyword, one row with interest over time, interest by region and top and rising related queries. Up to five keywords are compared on one 0-100 scale, the way Google Trends compares them. The values are relative interest, never search volume.

Step 1: Create a free Apify account

Sign up at apify.com and open the Actor page linked above.

Step 2: Enter keywords

Put 2 to 5 keywords you want to compare in keywords, for example pickleball and padel. Pick geo (US, GB, or empty for worldwide) and timeRange (default today 12-m). Keep related terms in the same group of five if you want to compare them: each group of five has its own scale.

Step 3: Run it

Click Start. The default two-keyword run costs $0.006 (two ok rows at $0.003). Set a maximum cost per run if you like; the run stops when it is reached.

Step 4: Read the rows

Each row has status: ok, no_data, partial or error. Only ok is charged. Useful fields:

  • comparedWith: the other keywords on the same scale.
  • peak and latest: the highest point and the most recent one.
  • regions: interest by region.
  • relatedRising: queries gaining interest ("Breakout" means a very large increase).

The README shows the row shape; the values there are a sample, not a real Google record.

Step 5: Schedule it

Schedule the Actor weekly and connect the dataset to Google Sheets, Make, Zapier or n8n.

Limits

Google can slow down or refuse requests. The Actor pauses between requests, refreshes its cookie once, then stops with an explanation row. Failed keywords are not charged. It runs on Apify Proxy datacenter only. Not affiliated with Google.

Top comments (0)