# Google Trends Scraper: Interest Over Time, Regions & Queries (`hydrafetch/google-trends-scraper`) Actor

Give it search terms and get Google Trends data: interest over time with a 0 to 100 value per point, interest by country or region, and top and rising related queries. Input: one search per line, up to 5 comma-separated terms to compare. Searches with no data are not charged.

- **URL**: https://apify.com/hydrafetch/google-trends-scraper.md
- **Developed by:** [Hydrafetch](https://apify.com/hydrafetch) (community)
- **Categories:** SEO tools, Marketing, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.30 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

<div align="center">

<img src="https://hydrafetch.com/brand/mark-512.png" alt="Hydrafetch" height="64" />

## Google Trends Scraper: Interest Over Time, Regions & Queries

**Give it search terms and get Google Trends data: interest over time with a 0 to 100 value per point, interest by country or region, and top and rising related queries. Input: one search per line, up to 5 comma-separated terms to compare. Searches with no data are not charged.**

`Pay per result` · `$7 per 1,000 searchs` · `No API key` · Powered by [Hydrafetch](https://hydrafetch.com?utm_source=apify\&utm_medium=readme\&utm_content=google-trends-scraper)

</div>

***

### Google Trends Scraper at a glance

- **Input:** One search per line. Put up to 5 terms on a line, separated by commas, to compare them against each other, like "chatgpt, claude, gemini", plus a country and a time range.
- **Output:** one row per search with 11 fields, including input, geo, timeRange, latest.
- **Price:** $7 per 1,000 searchs, charged only for results.
- **You need:** nothing else. No cookies, no logins, no proxies and no API keys.
- **Export:** JSON, CSV, Excel or XML, or straight into your own tools with the Apify API and MCP.

### What is Google Trends Scraper?

Returns Google Trends data for any search terms: the interest over time series the Trends chart draws, interest by country or by region inside a country, and the top and rising related searches for each term. Put up to 5 terms on one line to compare them on the same 0 to 100 scale. Choose a country or region and a time range from the past hour to since 2004. Each row also carries the latest and average value per term, so a spreadsheet can sort by them. Searches with no data are skipped and not charged. Built for keyword research, brand and market tracking, and AI agents that need to know whether interest in something is rising.

- **Interest over time.** A 0 to 100 value per term for every hour, day, week or month in the range, the same series the Google Trends chart draws.
- **Up to 5 terms compared.** Put several terms on one line and every value is scaled against the others, so they compare directly.
- **Interest by region.** The split across countries, or across regions inside the country you chose.
- **Related queries.** The top and rising searches people make alongside each term.
- **Summary numbers.** The latest and average value per term, so a sheet can sort by them without unpacking the series.

### What data can I extract with Google Trends Scraper?

Every result is one row per search, with these fields:

| Field | What it holds |
| --- | --- |
| `input` | The search you gave |
| `terms` | The terms compared, in order |
| `geo` | The country or region, empty for worldwide |
| `timeRange` | The time range asked for |
| `points` | How many points the interest over time has |
| `latest` | Each term's most recent value, 0 to 100 |
| `average` | Each term's average value over the range |
| `interestOverTime` | Every point in time with a 0 to 100 value per term |
| `interestByRegion` | Each country or region with a 0 to 100 value per term |
| `relatedQueries` | Top and rising related searches per term |
| `exploreUrl` | The same search on Google Trends |

The table view in Apify shows Search, Geo, Range, Latest, Average, Points. The full record is in the JSON, CSV, Excel and XML exports, and over the API.

### How to use Google Trends Scraper

1. Open Google Trends Scraper in the Apify Console. A free Apify account is enough to try it.
2. Paste your searches, one per line, or upload a list.
3. Click **Start**. Each search is processed on its own, so one bad entry never loses the batch.
4. Download the results as JSON, CSV or Excel, or send them to your own tools with an integration.

### Input

One field: **searches**. One search per line. Put up to 5 terms on a line, separated by commas, to compare them against each other, like "chatgpt, claude, gemini".

**geo** limits every search to a country like `US` or a region like `US-CA` (default: worldwide).

**timeRange** is one of `past-hour`, `past-day`, `past-7-days`, `past-30-days`, `past-90-days`, `past-12-months` (default), `past-5-years` or `since-2004`.

**includeRegions** adds interest by country or region (default on).

**includeRelated** adds the top and rising related searches for each term (default on).

Every line is checked before the run starts. Each must be a search query like "stripe funding"; a run with any other line is refused with that line named, so a typo never costs you anything.

```json
{
  "searches": [
    "chatgpt, claude, gemini"
  ],
  "geo": "US",
  "timeRange": "past-12-months",
  "includeRegions": true,
  "includeRelated": true
}
```

### Output

A search we cannot resolve is skipped rather than returned empty, and you are not charged for it. The run log names every one that was skipped, so a short result is never a mystery.

```json
{
  "input": "coffee, tea",
  "terms": [
    "coffee",
    "tea"
  ],
  "geo": "GB",
  "timeRange": "past-90-days",
  "points": 93,
  "latest": {
    "coffee": 71,
    "tea": 34
  },
  "average": {
    "coffee": 68.4,
    "tea": 36.1
  },
  "interestOverTime": [
    {
      "date": "2026-09-30T00:00:00Z",
      "values": {
        "coffee": 71,
        "tea": 34
      }
    }
  ],
  "interestByRegion": [
    {
      "geoCode": "GB-ENG",
      "geoName": "England",
      "values": {
        "coffee": 66,
        "tea": 34
      }
    }
  ],
  "relatedQueries": [
    {
      "term": "coffee",
      "top": [
        {
          "query": "coffee shop",
          "value": 100,
          "label": "100"
        }
      ],
      "rising": []
    }
  ],
  "exploreUrl": "https://trends.google.com/trends/explore?q=coffee%2Ctea&date=today+3-m&geo=GB"
}
```

### How much does Google Trends Scraper cost?

Google Trends Scraper costs **$7 per 1,000 searchs** returned, which is $0.007 each, with no separate compute charge. 10,000 searchs cost $70.

- **You pay only for results.** A search that cannot be resolved is skipped and free.
- **Try it on the free plan.** On Apify's free plan you get 50 searchs from this Actor in total, not per month, to try it out. After that a run stops and asks you to move to a paid Apify plan. Paid plans have no limit. On a paid plan, $5 covers about 714 searchs.
- **Volume discounts.** Scale plans pay 5% less per result and Business plans 10% less.
- **Cap any run.** Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.

### Common use cases

- **Keyword and content research.** See which of several phrasings people actually search, and where.
- **Market and brand tracking.** Compare your brand with competitors over time and by country.
- **Timing.** Find the season or week when interest in a topic peaks.
- **Agent tools.** Give an AI agent a clean answer to "is interest in X rising?".

### Integrate Google Trends Scraper with other apps

Google Trends Scraper works with the integrations on the Apify platform, including [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [n8n](https://apify.com/integrations/n8n), [Google Sheets](https://apify.com/integrations/google-sheets), [Slack](https://apify.com/integrations/slack), [Airbyte](https://apify.com/integrations/airbyte), [Google Sheets](https://apify.com/integrations/google-sheets), [Slack](https://apify.com/integrations/slack), Airtable and Notion through Make or Zapier. Results can also go anywhere with a [webhook](https://docs.apify.com/platform/integrations/webhooks) when a run finishes.

To keep a list current, save your input as a task and put it on a [schedule](https://docs.apify.com/platform/schedules).

### Google Trends Scraper API

Run Google Trends Scraper from your own code with the Apify API clients.

**JavaScript**

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hydrafetch/google-trends-scraper').call({ searches: ["chatgpt, claude, gemini"] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hydrafetch/google-trends-scraper").call(run_input={"searches": ["chatgpt, claude, gemini"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

AI agents can call it too. Connect Claude, Cursor or any MCP client to the [Apify MCP server](https://mcp.apify.com) and add `hydrafetch/google-trends-scraper` as a tool.

### FAQ

#### What do the numbers mean?

Google Trends scales interest from 0 to 100 within each search: 100 is the peak for the terms and range you asked about. Values from different searches are not on the same scale, so compare terms by putting them on one line.

#### How many terms can I compare?

Up to 5 per line, separated by commas. Put each search you want kept separate on its own line.

#### What if a search has too little data?

Terms with too few searches come back as zero, and a search with no data at all is skipped and not charged.

#### Is there a free trial?

Yes. On Apify's free plan you get 50 searchs from this Actor in total to try it, charged to your free Apify credit. After that, runs stop and ask you to move to a paid Apify plan, which has no limit.

#### Do I need cookies, a login or proxies?

No. Google Trends Scraper works without cookies, accounts, proxies or API keys. Paste your searches and run it; everything else is handled for you.

#### Is it legal to use Google Trends Scraper?

Google Trends Scraper collects only publicly available aggregated, public Google Trends data. As with any data collection, you are responsible for how you use the results: follow the terms of the websites you work with and data protection laws such as GDPR wherever personal data is involved. If you are unsure about your use case, check with a lawyer.

#### Does Google Trends Scraper have an API?

Yes. Every run is available through the Apify API, with the JavaScript and Python examples above, and through the Apify MCP server for AI agents.

### Other Actors by Hydrafetch

- [Company Enrichment API](https://apify.com/hydrafetch/company-enrichment-api): give it domains and get a full company record for each: name, legal name, tagline, description, logo, brand colors, fonts, industry with NAICS code, email and social profiles. Input: domains like stripe.com. One row per company; domains that return nothing are not charged.
- [Bulk Company Logo Finder](https://apify.com/hydrafetch/bulk-company-logo-finder): give it domains and get a direct image URL for each company's logo, with its format, width, height, dominant color and whether it is an icon or a wordmark. Input: domains like stripe.com. One row per company; domains with no logo found are not charged.
- [Website Color Palette Extractor](https://apify.com/hydrafetch/website-color-palette-extractor): give it domains and get each site's design as tokens: colors by role, fonts, type scale, radius, shadows and spacing, plus a paste-ready CSS stylesheet and Tailwind CSS v4 theme to restyle an app like it. Input: domains like linear.app. One row per site; failures are not charged.
- [AI SEO & GEO Audit](https://apify.com/hydrafetch/ai-seo-geo-audit): give it page URLs and find out whether LLMs and AI agents can read them: a score out of 100, every check passed, warned or failed, the specific fixes, and a sample of the markdown an agent would see. Input: full URLs. One row per URL; pages we cannot read are not charged.
- [Website to Markdown](https://apify.com/hydrafetch/website-to-markdown): give it URLs and get each page as clean markdown for LLMs, RAG and AI agents, with navigation, cookie banners and ads removed and JavaScript pages rendered. Input: full URLs. Each row has the markdown, title, language and word count; pages that return nothing are not charged.
- [Article Extractor](https://apify.com/hydrafetch/article-extractor): give it article or blog post URLs and get the full text with its title, author, publish date, site name, language, lead image and word count. Input: full URLs. One row per article; pages with no article to extract are not charged.
- [Company Social Links Finder](https://apify.com/hydrafetch/company-social-links-finder): give it company domains or names and get the social profiles each company links from its own website: LinkedIn, X, Facebook, Instagram, YouTube, TikTok, GitHub and Crunchbase, with handles. Input: domains like stripe.com or names like "Acme Corp, Germany". Companies with none are not charged.
- [LinkedIn Company Scraper](https://apify.com/hydrafetch/linkedin-company-scraper): give it LinkedIn company page URLs or company domains and get the public profile: industry, company size, employees on LinkedIn, followers, headquarters address, founded year, specialties and logo. No login needed. One row per company; companies we cannot find are not charged.
- [Tech Stack Detector](https://apify.com/hydrafetch/website-tech-stack-detector): give it domains and get the technology each site runs: CMS, ecommerce platform, analytics, tag managers, JavaScript frameworks, hosting, web server, payments, marketing automation and live chat. Input: domains like stripe.com. One row per site; sites we cannot read are not charged.
- [PDF to Markdown](https://apify.com/hydrafetch/pdf-to-markdown): give it links to PDF files and get each document as clean markdown with headings and tables intact, plus its title and word count, ready for LLMs, RAG and search. Input: full URLs to PDFs. One row per PDF; files we cannot read are not charged.
- [Website Crawler to Markdown](https://apify.com/hydrafetch/website-crawler-to-markdown): give it a start URL and get the site or docs section crawled into clean markdown, one row per page with its title, language, page type, depth and word count. Input: full URLs, plus how many pages to read per site. Charged per page returned; pages that return nothing are free.
- [Company Jobs Scraper](https://apify.com/hydrafetch/company-jobs-scraper): give it company domains and get every open job from the hiring platform each company uses: title, team, location, remote status, employment type, pay when listed, posting date, apply link and full description. Input: domains like stripe.com. Companies with no open roles found are not charged.
- [YouTube Transcript Scraper](https://apify.com/hydrafetch/youtube-transcript-scraper): give it YouTube links or video ids and get each video's full transcript, as plain text and as timestamped segments, with the title, channel and word count. Input: youtube.com or youtu.be links, or 11 character ids. One row per video; videos without a transcript are not charged.
- [Google Ads Library Scraper](https://apify.com/hydrafetch/google-ads-library-scraper): give it company domains and get the Google ads each company runs, from the public Ads Transparency Center: advertiser, format, image, preview link and first and last shown dates. Input: domains like stripe.com, plus how many ads per domain. One row per ad; domains with no ads are not charged.
- [LinkedIn Ad Library Scraper](https://apify.com/hydrafetch/linkedin-ad-library-scraper): give it company names, domains or LinkedIn pages and get the ads each runs on LinkedIn: full copy, headline, call to action, image or video, run dates, impressions by country and targeting. One row per ad; companies with no ads, or none we can match, are not charged.
- [Facebook Ads Library Scraper](https://apify.com/hydrafetch/facebook-ads-library-scraper): give it brand names, domains, Facebook pages or Ad Library links and get the ads each runs on Facebook and Instagram: copy, images, videos, carousel cards, platforms, start and end dates and active status. One row per ad; brands with no ads, or none we can match, are not charged.
- [Website Contact Details Scraper](https://apify.com/hydrafetch/website-contact-details-scraper): give it company domains or names and get the emails, phone numbers, social profiles and postal address each company publishes on its own website. Input: domains like stripe.com, or names like "Acme Corp, Germany". One row per company; companies with no contact details are not charged.
- [App Store and Google Play Scraper](https://apify.com/hydrafetch/app-store-google-play-scraper): give it App Store or Google Play links, Apple app ids or package names and get app details plus its newest reviews: rating, rating count, installs, version, then each review's text, stars, date and developer reply. One row per review; apps not found or with no reviews are not charged.
- [Trustpilot Reviews Scraper](https://apify.com/hydrafetch/trustpilot-reviews-scraper): give it company domains and get each company's Trustpilot TrustScore, star breakdown and total reviews, plus its newest reviews with rating, text, dates and the company's reply, without reviewer names. Input: domains like stripe.com. One row per review; companies not on Trustpilot are not charged.
- [Shopify Store Products Scraper](https://apify.com/hydrafetch/shopify-store-products-scraper): give it Shopify store domains and get every product: title, price range, currency, variants with SKUs and stock, options, images, vendor, type, tags and description, including stores that hide their product feed. One row per product; stores with no readable products are not charged.
- [LinkedIn Jobs Scraper](https://apify.com/hydrafetch/linkedin-jobs-scraper): search LinkedIn jobs with terms like "data engineer" or a jobs search link, filtered by location, date posted, workplace, job type and experience, and get each posting with company, pay, applicants, seniority and full description. No login needed. Searches with no jobs are not charged.
- [Google Maps Scraper with Emails](https://apify.com/hydrafetch/google-maps-scraper-emails): search Google Maps with a phrase like "dentists in Berlin" or a Maps link and get every place: name, address, phone, website, rating, reviews and coordinates, up to 120 per search. Turn on contacts to add emails and socials from each place's own website, charged only when found.
- [Amazon Product Scraper](https://apify.com/hydrafetch/amazon-product-scraper): search Amazon.com with terms like "wireless earbuds", or give it product links or ASINs, and get each product's US price, rating, review count, sales in the past month and seller, with the full product page on request. One row per product; searches with no products are not charged.
- [News Scraper with Full Article Text](https://apify.com/hydrafetch/news-scraper-full-text): search the news for any topic, like "stripe funding", and get recent articles with their full text as clean markdown, the real publisher link, source, author and publish date. Input: search queries, plus how many articles and how far back. Queries with no readable articles are not charged.
- [Company Ads Across Google, LinkedIn and Meta](https://apify.com/hydrafetch/company-ads-all-platforms): give it company domains and get the ads each company runs on Google, LinkedIn and Facebook and Instagram in one dataset with the same columns: platform, headline, copy, call to action, image or video, link and dates. One row per ad; domains with no ads anywhere are not charged.
- [Company Website Finder](https://apify.com/hydrafetch/company-website-finder): give it company names, optionally with the country after a comma, and get each company's official website and domain, checked against the company's own homepage so directories never slip through, with a confidence level. One row per company; names we cannot confirm are not charged.
- [Reddit Scraper](https://apify.com/hydrafetch/reddit-scraper): give it a subreddit like r/startups, a user, a post link or words to search Reddit, and get posts with title, author, subreddit, score, comment count, date, flair, link and full text. Input: one per line, with sort, time window and up to 500 posts each. Inputs with no posts are not charged.
- [Booking.com Reviews Scraper](https://apify.com/hydrafetch/booking-reviews-scraper): give it Booking.com hotel links and get the newest guest reviews: score, date, title, what guests liked and disliked, language, country, room type, nights and check-in date, with the hotel name and overall score on every row. One row per review; hotels with no reviews are not charged.
- [Website Screenshot API](https://apify.com/hydrafetch/website-screenshot-api): give it URLs and get a screenshot of each page as a hosted PNG link, of the first screen or the full page, rendered in a real browser, with its width and height. Input: full URLs. One row per screenshot; pages that fail to load are not charged.

### Terms of use

**Your results are yours.** We claim no rights in the inputs you submit or the data you get back. Full terms: [hydrafetch.com/terms](https://hydrafetch.com/terms?utm_source=apify\&utm_medium=readme\&utm_content=google-trends-scraper)

### Your feedback

Something not working, or a field you need? Open an issue on the Issues tab with the input you used, and we read every one.

***

<div align="center">
Built by <a href="https://hydrafetch.com?utm_source=apify&utm_medium=readme&utm_content=google-trends-scraper">Hydrafetch</a>. Clean web data for developers and agents.
</div>

# Actor input Schema

## `searches` (type: `array`):

The searches to process, one per line. One search per line. Put up to 5 terms on a line, separated by commas, to compare them against each other, like "chatgpt, claude, gemini".

## `geo` (type: `string`):

A two letter country code like US or GB, or a region code like US-CA. Leave empty for worldwide.

## `timeRange` (type: `string`):

How far back the interest over time goes.

## `includeRegions` (type: `boolean`):

Add how interest splits across countries, or across regions inside the chosen country.

## `includeRelated` (type: `boolean`):

Add the top and rising related searches for each term.

## `proxyConfiguration` (type: `object`):

Optional. Send this run's requests through your own Apify Proxy, billed to your Apify account, for example residential addresses in a chosen country. This needs a paid Apify plan, because the requests leave the Apify platform; on a free plan the run uses our network and says so. Leave it off and the run uses our network, which works for most sites.

## Actor input object example

```json
{
  "searches": [
    "chatgpt, claude, gemini"
  ],
  "timeRange": "past-12-months",
  "includeRegions": true,
  "includeRelated": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Google Trends Scraper: Interest Over Time, Regions & Queries records (the run's default dataset).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searches": [
        "chatgpt, claude, gemini"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("hydrafetch/google-trends-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searches": ["chatgpt, claude, gemini"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("hydrafetch/google-trends-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searches": [
    "chatgpt, claude, gemini"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call hydrafetch/google-trends-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hydrafetch/google-trends-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/UeqZvkhHUcXCnRSjc/builds/CWIJVbkUsmbE9ZWoT/openapi.json
