# Google Trends API

> Google Trends returns search interest, trending searches, and related searches as a workflow and API.

Google Trends compares interest in one to five search terms over time, using terms and optional region, category, and time range. Its regional method ranks places for a search term; its trending method lists searches by country, category, and time window. Its related-search method returns top and rising searches and topics for a term, with an optional region and time range.

- Page: https://fous.com/workflows/google-trends
- Handle: `@google-trends`
- Category: [Marketing](https://fous.com/workflows/category/marketing)
- Source website: https://trends.google.com
- Last verified: Sep 28, 2026
- Fous is not affiliated with Google Trends.

## Methods

### Get interest by region

Operation `get_interest_by_region`, version 1. 1 credit per call.

See where a search term has the highest relative search interest, across countries worldwide or regions within a country. Scores are normalized from 0 to 100; low-volume locations may have no score.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `term` | string | yes | `"pickleball"` | Search term to compare across places, for example pickleball. |
| `country` | string | no | `"United States"` | Country name or two-letter code, such as United States or US; use worldwide to list countries. |
| `time_range` | string | no | `"past_30_days"` | Period to measure, for example past_12_months. |
| `include_low_volume` | boolean | no | `false` | Include locations without enough measured searches as zero-interest entries; for example false. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "term"
  ],
  "properties": {
    "term": {
      "type": "string",
      "minLength": 1,
      "description": "Search term to compare across places, for example pickleball.",
      "examples": [
        "pickleball",
        "weather"
      ]
    },
    "country": {
      "type": "string",
      "default": "worldwide",
      "description": "Country name or two-letter code, such as United States or US; use worldwide to list countries.",
      "examples": [
        "United States",
        "CA"
      ]
    },
    "time_range": {
      "enum": [
        "past_7_days",
        "past_30_days",
        "past_90_days",
        "past_12_months",
        "past_5_years"
      ],
      "type": "string",
      "default": "past_12_months",
      "description": "Period to measure, for example past_12_months.",
      "examples": [
        "past_30_days",
        "past_7_days"
      ]
    },
    "include_low_volume": {
      "type": "boolean",
      "default": false,
      "description": "Include locations without enough measured searches as zero-interest entries; for example false.",
      "examples": [
        false,
        true
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "term": "pickleball"
    },
    {
      "term": "pickleball",
      "country": "United States",
      "time_range": "past_30_days",
      "include_low_volume": false
    },
    {
      "term": "weather",
      "country": "CA",
      "time_range": "past_7_days",
      "include_low_volume": true
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `regions` | array |  | Places ranked by relative search interest, highest first. |
| `regions[].link` | string | `"https://trends.google.com/trends/explore?date=today+12-m&q=pickleball&geo=PH"` | Google Trends page for the term in this place. |
| `regions[].interest` | integer | `100` |  |
| `regions[].region_code` | string | `"PH"` |  |
| `regions[].region_name` | string | `"Philippines"` |  |
| `google_trends_link` | string | `"https://trends.google.com/trends/explore?date=today+12-m&q=pickleball"` | Google Trends page for this term, country, and period. |

**Example input**

```json
{
  "term": "pickleball"
}
```

**Example output**

```json
{
  "regions": [
    {
      "link": "https://trends.google.com/trends/explore?date=today+12-m&q=pickleball&geo=PH",
      "interest": 100,
      "region_code": "PH",
      "region_name": "Philippines"
    },
    {
      "link": "https://trends.google.com/trends/explore?date=today+12-m&q=pickleball&geo=SG",
      "interest": 76,
      "region_code": "SG",
      "region_name": "Singapore"
    },
    {
      "link": "https://trends.google.com/trends/explore?date=today+12-m&q=pickleball&geo=MY",
      "interest": 71,
      "region_code": "MY",
      "region_name": "Malaysia"
    }
  ],
  "google_trends_link": "https://trends.google.com/trends/explore?date=today+12-m&q=pickleball"
}
```

### Get interest over time

Operation `get_interest_over_time`, version 1. 1 credit per call.

Compare search interest for 1 to 5 terms over time, with average scores and a dated timeline. Scores are relative within the comparison and low-volume terms can score zero. Seven-day points show each day’s peak score.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `terms` | string | yes | `"electric vehicle, unusuallyrarephrasexyz9999"` | One to five search terms separated by commas, for example ChatGPT, Gemini, Claude. |
| `region` | string | no | `"California"` | Country name or US state, for example United States or California. Default: worldwide. |
| `category` | string | no | `"Autos & Vehicles"` | Google Trends category name, for example Arts & Entertainment or Health. Default: all. |
| `time_range` | string | no | `"past_7_days"` | Period to compare, for example past_12_months. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "terms"
  ],
  "properties": {
    "terms": {
      "type": "string",
      "description": "One to five search terms separated by commas, for example ChatGPT, Gemini, Claude.",
      "examples": [
        "electric vehicle, unusuallyrarephrasexyz9999",
        "coffee, tea",
        "ChatGPT, Gemini, Claude"
      ]
    },
    "region": {
      "type": "string",
      "default": "worldwide",
      "description": "Country name or US state, for example United States or California. Default: worldwide.",
      "examples": [
        "California",
        "United Kingdom"
      ]
    },
    "category": {
      "type": "string",
      "default": "all",
      "description": "Google Trends category name, for example Arts & Entertainment or Health. Default: all.",
      "examples": [
        "Autos & Vehicles",
        "all"
      ]
    },
    "time_range": {
      "enum": [
        "past_hour",
        "past_4_hours",
        "past_day",
        "past_7_days",
        "past_30_days",
        "past_90_days",
        "past_12_months",
        "past_5_years",
        "since_2004"
      ],
      "type": "string",
      "default": "past_12_months",
      "description": "Period to compare, for example past_12_months.",
      "examples": [
        "past_7_days",
        "past_4_hours"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "terms": "electric vehicle, unusuallyrarephrasexyz9999",
      "region": "California",
      "category": "Autos & Vehicles",
      "time_range": "past_7_days"
    },
    {
      "terms": "coffee, tea",
      "region": "United Kingdom",
      "category": "all",
      "time_range": "past_4_hours"
    },
    {
      "terms": "ChatGPT, Gemini, Claude"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `timeline` | array |  |  |
| `timeline[].date` | string | `"2026-09-21"` | YYYY-MM-DD, or ISO 8601 date-time for periods shorter than a week. |
| `timeline[].term` | string | `"electric vehicle"` |  |
| `timeline[].interest` | integer | `0` |  |
| `google_trends_link` | string | `"https://trends.google.com/trends/explore?q=electric+vehicle%2Cunusuallyrarephrasexyz9999&date=now+7-d&geo=US-CA&cat=47"` | Link to this comparison on Google Trends. |
| `average_interest_by_term` | array |  |  |
| `average_interest_by_term[].term` | string | `"electric vehicle"` |  |
| `average_interest_by_term[].page_link` | string | `"https://trends.google.com/trends/explore?q=electric+vehicle%2Cunusuallyrarephrasexyz9999&date=now+7-d&geo=US-CA&cat=47"` |  |
| `average_interest_by_term[].average_interest` | number | `14` |  |

**Example input**

```json
{
  "terms": "electric vehicle, unusuallyrarephrasexyz9999",
  "region": "California",
  "category": "Autos & Vehicles",
  "time_range": "past_7_days"
}
```

**Example output**

```json
{
  "timeline": [
    {
      "date": "2026-09-21",
      "term": "electric vehicle",
      "interest": 0
    },
    {
      "date": "2026-09-21",
      "term": "unusuallyrarephrasexyz9999",
      "interest": 0
    },
    {
      "date": "2026-09-22",
      "term": "electric vehicle",
      "interest": 65
    }
  ],
  "google_trends_link": "https://trends.google.com/trends/explore?q=electric+vehicle%2Cunusuallyrarephrasexyz9999&date=now+7-d&geo=US-CA&cat=47",
  "average_interest_by_term": [
    {
      "term": "electric vehicle",
      "page_link": "https://trends.google.com/trends/explore?q=electric+vehicle%2Cunusuallyrarephrasexyz9999&date=now+7-d&geo=US-CA&cat=47",
      "average_interest": 14
    },
    {
      "term": "unusuallyrarephrasexyz9999",
      "page_link": "https://trends.google.com/trends/explore?q=electric+vehicle%2Cunusuallyrarephrasexyz9999&date=now+7-d&geo=US-CA&cat=47",
      "average_interest": 0
    }
  ]
}
```

### Get related searches

Operation `get_related_searches`, version 1. 1 credit per call.

Get top and rising searches and topics related to a term on Google Trends, for a country or US state and time range. Some sections may be empty when Google has no data.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `term` | string | yes | `"electric bikes"` | Search term, for example electric bikes. |
| `region` | string | no | `"United States"` | Country name or US state name, for example California. Defaults to Worldwide. |
| `time_range` | string | no | `"past_7_days"` | Period, for example past_12_months. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "term"
  ],
  "properties": {
    "term": {
      "type": "string",
      "description": "Search term, for example electric bikes.",
      "examples": [
        "electric bikes",
        "coffee",
        "Tesla"
      ]
    },
    "region": {
      "type": "string",
      "default": "Worldwide",
      "description": "Country name or US state name, for example California. Defaults to Worldwide.",
      "examples": [
        "United States",
        "California"
      ]
    },
    "time_range": {
      "enum": [
        "past_7_days",
        "past_30_days",
        "past_90_days",
        "past_12_months",
        "past_5_years"
      ],
      "type": "string",
      "default": "past_12_months",
      "description": "Period, for example past_12_months.",
      "examples": [
        "past_7_days",
        "past_12_months"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "term": "electric bikes"
    },
    {
      "term": "coffee",
      "region": "United States",
      "time_range": "past_7_days"
    },
    {
      "term": "Tesla",
      "region": "California",
      "time_range": "past_12_months"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `top_topics` | array |  |  |
| `top_topics[].type` | string or null |  |  |
| `top_topics[].topic` | string |  |  |
| `top_topics[].value` | integer or null |  |  |
| `top_topics[].page_url` | string |  | Google Trends page for this search or topic. |
| `top_searches` | array |  |  |
| `top_searches[].value` | integer or null | `100` |  |
| `top_searches[].search` | string | `"electric bike"` |  |
| `top_searches[].page_url` | string | `"https://trends.google.com/trends/explore?q=electric+bike&date=today+12-m"` | Google Trends page for this search or topic. |
| `rising_topics` | array |  |  |
| `rising_topics[].type` | string or null |  |  |
| `rising_topics[].topic` | string |  |  |
| `rising_topics[].growth` | string or null |  |  |
| `rising_topics[].page_url` | string |  | Google Trends page for this search or topic. |
| `rising_topics[].growth_percent` | number or null |  |  |
| `rising_searches` | array |  |  |
| `rising_searches[].growth` | string or null | `"Breakout"` |  |
| `rising_searches[].search` | string | `"yozma"` |  |
| `rising_searches[].page_url` | string | `"https://trends.google.com/trends/explore?q=yozma&date=today+12-m"` | Google Trends page for this search or topic. |
| `rising_searches[].growth_percent` | number or null | `850` |  |

**Example input**

```json
{
  "term": "electric bikes"
}
```

**Example output**

```json
{
  "top_topics": [],
  "top_searches": [
    {
      "value": 100,
      "search": "electric bike",
      "page_url": "https://trends.google.com/trends/explore?q=electric+bike&date=today+12-m"
    },
    {
      "value": 99,
      "search": "bike",
      "page_url": "https://trends.google.com/trends/explore?q=bike&date=today+12-m"
    },
    {
      "value": 54,
      "search": "best electric bikes",
      "page_url": "https://trends.google.com/trends/explore?q=best+electric+bikes&date=today+12-m"
    }
  ],
  "rising_topics": [],
  "rising_searches": [
    {
      "growth": "Breakout",
      "search": "yozma",
      "page_url": "https://trends.google.com/trends/explore?q=yozma&date=today+12-m",
      "growth_percent": null
    },
    {
      "growth": "+850%",
      "search": "peloton bikes",
      "page_url": "https://trends.google.com/trends/explore?q=peloton+bikes&date=today+12-m",
      "growth_percent": 850
    },
    {
      "growth": "+400%",
      "search": "alpha electric bikes",
      "page_url": "https://trends.google.com/trends/explore?q=alpha+electric+bikes&date=today+12-m",
      "growth_percent": 400
    }
  ]
}
```

### List trending searches

Operation `list_trending_searches`, version 1. 1 credit per call.

List current Google Trending now searches in Google’s order, with volumes, activity, related searches, and news. Choose a country, time window, and category; news is limited to headlines Google associates with each trend.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | no | `"United States"` | Country name or two-letter code, for example United States or US. |
| `category` | string | no | `"all"` | Trend category in words, for example sports, entertainment, business and finance, technology, politics, health, or all. |
| `active_only` | boolean | no | `false` | Show only searches still trending, for example true. |
| `max_results` | integer | no | `5` | Maximum number of trends to return, for example 25. |
| `time_window` | string | no | `"past_24_hours"` | How far back to look, for example past_24_hours. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Country name or two-letter code, for example United States or US.",
      "examples": [
        "United States",
        "Canada"
      ]
    },
    "category": {
      "type": "string",
      "default": "all",
      "description": "Trend category in words, for example sports, entertainment, business and finance, technology, politics, health, or all.",
      "examples": [
        "all",
        "sports",
        "technology"
      ]
    },
    "active_only": {
      "type": "boolean",
      "default": false,
      "description": "Show only searches still trending, for example true.",
      "examples": [
        false,
        true
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of trends to return, for example 25.",
      "x-fous-developer": true,
      "examples": [
        5,
        3
      ]
    },
    "time_window": {
      "enum": [
        "past_4_hours",
        "past_24_hours",
        "past_48_hours",
        "past_7_days"
      ],
      "type": "string",
      "default": "past_24_hours",
      "description": "How far back to look, for example past_24_hours.",
      "examples": [
        "past_24_hours",
        "past_4_hours",
        "past_48_hours"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "United States",
      "category": "all",
      "active_only": false,
      "max_results": 5,
      "time_window": "past_24_hours"
    },
    {
      "country": "United States",
      "category": "sports",
      "active_only": true,
      "max_results": 3,
      "time_window": "past_4_hours"
    },
    {
      "country": "Canada",
      "category": "technology",
      "active_only": false,
      "max_results": 3,
      "time_window": "past_48_hours"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `trends` | array |  | Searches in Google Trending now order. |
| `trends[].page_link` | string | `"https://trends.google.com/trends/explore?date=now+1-d&geo=US&q=fda+chlorthalidone+dissolution+testing+recall"` | Google Trends page for this search. |
| `trends[].search_term` | string | `"fda chlorthalidone dissolution testing recall"` |  |
| `trends[].still_active` | boolean | `true` |  |
| `trends[].search_volume` | string or null | `"200K+"` | Approximate volume as shown by Google, such as 200K+. |
| `trends[].news_headlines` | array |  |  |
| `trends[].related_searches` | array |  |  |
| `trends[].started_trending` | string or null | `"2026-09-28T17:30:00+00:00"` |  |
| `trends[].search_volume_number` | integer or null | `200000` | Approximate search volume as a number. |

**Example input**

```json
{
  "country": "United States",
  "category": "all",
  "active_only": false,
  "max_results": 5,
  "time_window": "past_24_hours"
}
```

**Example output**

```json
{
  "trends": [
    {
      "page_link": "https://trends.google.com/trends/explore?date=now+1-d&geo=US&q=fda+chlorthalidone+dissolution+testing+recall",
      "search_term": "fda chlorthalidone dissolution testing recall",
      "still_active": true,
      "search_volume": "200K+",
      "news_headlines": [
        {
          "link": "https://www.wusa9.com/article/news/nation-world/blood-pressure-medication-recall/507-756358e0-3933-4870-a1f6-5f25d9512046",
          "title": "Blood pressure medication recalled nationwide after failing FDA dissolution testing",
          "publisher": "WUSA9"
        }
      ],
      "related_searches": [
        "chlorthalidone tablets fda recall"
      ],
      "started_trending": "2026-09-28T17:30:00+00:00",
      "search_volume_number": 200000
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@google-trends",
  "visibility": "public",
  "operation": "get_interest_by_region",
  "version": 1,
  "input": {
    "term": "pickleball"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@google-trends\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_interest_by_region\",\n  \"version\": 1,\n  \"input\": {\n    \"term\": \"pickleball\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@google-trends",
  "visibility": "public",
  "operation": "get_interest_by_region",
  "version": 1,
  "input": {
    "term": "pickleball"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@google-trends","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Compare search interest in competing products over time
- Find places with the highest interest in a search term
- Review current trending searches by country and category
- Discover top and rising searches related to a topic

## FAQ

### Is Fous affiliated with Google Trends?

No. Fous is not affiliated with Google Trends. This workflow reads the public trends.google.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Google Trends account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from trends.google.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 28, 2026.

### How has interest in several search terms changed over time?

Use Get interest over time with one to five terms and an optional region, category, and time range.

### Where is a search term most popular?

Use Get interest by region with a term and optional country and time range.

### What searches are related to a topic?

Use Get related searches with a term and optional region and time range.

## Related

- [CoinGecko API](https://fous.com/workflows/coingecko.md): CoinGecko returns cryptocurrency prices and histories, sector rankings and details, and trending coins; non-USD historical values cover 365 days, histories 7–365 days, and today’s prices may change.
- [TikTok Creative Center API](https://fous.com/workflows/tiktok-creative-center.md): Explore publicly visible TikTok marketing trends.
- [Google News API](https://fous.com/workflows/google-news.md): Google News returns recent publisher articles, up to 100 per search, current top stories by topic, country, and language, and local stories by city or region when available.
- [Google Play API](https://fous.com/workflows/google-play.md): Google Play helps people discover Android apps and games, view public listings and search results, read reviews when available by app and region, and see country-specific top charts.
- [GitHub API](https://fous.com/workflows/github.md): GitHub returns public repository matches and details, up to 25 trending projects, issues, pull requests, and newest-first published releases; release or commit dates may be unavailable.
- [TMDB API](https://fous.com/workflows/tmdb.md): TMDB returns movie and TV details, cast, trailers, releases, viewing services, scheduled upcoming movies, and up to 20 homepage trending titles; future episode details depend on published schedules.
- [Google Search API](https://fous.com/workflows/google-search.md): Google Search returns public web, image, job, event, related-question, and autocomplete results in Google’s order, with answers and details when available; results may be fewer, omit information, or be empty.
- [Hugging Face API](https://fous.com/workflows/hugging-face.md): Hugging Face returns public model, dataset, and demo search results, model details, or weekly trending models; unpublished information may be missing, and demo availability can change.
- [All Marketing workflows](https://fous.com/workflows/category/marketing)
