# Google Trends Scraper: Interest, Regions and Related

> Google Trends Scraper Pro is an Apify actor (API) by CheapAPI Labs. Interest over time, by region, and related queries for up to five terms per query. It costs $15.00 per 1,000 queries on the Apify Free plan and $6.00 on Gold, billed through your Apify account with no API key. Compared with the most used Google Trends actor (about 14,100 users): 100 search terms with all 4 panels costs $0.30 on Free and $0.12 on Gold here and at least $0.30 and at least $0.03 plus platform usage there (Apify Store listing prices, checked September 2026). That actor is cheaper on paid plans whenever a term returns only a few rows.

- Page: https://cheapapilabs.com/actors/google-trends-scraper-pro/
- Run on Apify: https://apify.com/cheapapi/google-trends-scraper-pro
- Publisher: CheapAPI Labs (Apify username cheapapi)
- Main price: $15.00 per 1,000 queries on Free, $6.00 on Gold
- Our prices updated: 2026-10-30

## Prices per event (USD)

| Event | Free | Bronze | Silver | Gold |
|---|---:|---:|---:|---:|
| Trend query | $0.015 | $0.008 | $0.007 | $0.006 |
| Query checked (no data) | $0.014 | $0.0037 | $0.0037 | $0.0037 |

Platinum and Diamond pay the Gold price. Apify platform usage: billed separately by Apify.

## Call it from code

```bash
curl -X POST "https://api.apify.com/v2/acts/cheapapi~google-trends-scraper-pro/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"searchTerms":["coffee","tea"],"country":"US","timeRange":"past12Months","searchType":"web"}'
```

## Example output row

```json
{
  "id": "c8eff4ce4b9fa3fa",
  "recordType": "interestOverTime",
  "searchTerm": "coffee",
  "comparedTerms": "coffee, tea",
  "country": "US",
  "location": "United States",
  "language": "en",
  "searchType": "web",
  "categoryId": 0,
  "timeRange": "past12Months",
  "periodStart": null,
  "periodEnd": null,
  "queryIndex": 1,
  "sourceUrl": null,
  "scrapedAt": "2026-09-28T09:00:47.505Z",
  "dataUpdatedAt": "2026-09-26T15:24:02.000Z",
  "date": "2025-09-21",
  "dateTo": "2025-09-27",
  "timestamp": "2025-09-21T00:00:00.000Z",
  "value": 100,
  "periodAverage": 92,
  "isPartial": false
}
```

## Fields

Each row has a `recordType` that tells you which Google Trends panel it comes from.

| Data | One row per | Key fields |
|---|---|---|
| Interest over time | date bucket × search term | `date`, `dateTo`, `value` (0 to 100), `periodAverage`, `isPartial` |
| Interest by region | region × search term | `regionCode`, `regionName`, `value` (0 to 100), `isLeadingTerm`, `regionRank` |
| Related queries | query in the top / rising list | `listType`, `rank`, `query`, `value`, `isBreakout` |
| Related topics | topic in the top / rising list | `listType`, `rank`, `topicId`, `topicTitle`, `topicType`, `value`, `isBreakout` |

All output fields:

| Field | Type | Example |
|---|---|---|
| `id` | string | `c8eff4ce4b9fa3fa` (stable across runs for the same data point) |
| `recordType` | string | `interestOverTime`, `interestByRegion`, `relatedQuery`, `relatedTopic` |
| `searchTerm` | string | `coffee` |
| `comparedTerms` | string | `coffee, tea` |
| `country` | string \| null | `US` (or `Worldwide`) |
| `location` | string | `United States` |
| `language` | string | `en` |
| `searchType` | string | `web`, `images`, `news`, `shopping`, `youtube` |
| `categoryId` | integer | `0` (all categories) |
| `timeRange` | string | `past12Months` or `custom` |
| `periodStart` / `periodEnd` | string \| null | `2024-01-01` / `2024-12-31` (custom dates only) |
| `queryIndex` | integer | `1` |
| `sourceUrl` | string \| null | Google Trends URL you pasted, `null` for search terms |
| `scrapedAt` | string | `2026-09-28T09:00:47.505Z` |
| `dataUpdatedAt` | string | `2026-09-26T15:24:02.000Z` |
| `date` / `dateTo` | string | `2025-09-21` / `2025-09-27` |
| `timestamp` | string | `2025-09-21T00:00:00.000Z` |
| `value` | number \| null | `100` (0 to 100; percent increase in rising lists) |
| `periodAverage` | number \| null | `92` |
| `isPartial` | boolean | `false` |
| `regionCode` / `regionName` | string | `US-MS` / `Mississippi` |
| `isLeadingTerm` | boolean \| null | `true` |
| `regionRank` | integer | `2` |
| `listType` | string | `top` or `rising` |
| `rank` | integer | `1` |
| `query` | string | `matcha tea latte` |
| `topicId` / `topicTitle` / `topicType` | string | `/g/11x` / `Brown sugar oat latte` / `Drink` |
| `valueMeaning` | string | `relativeInterest` or `percentIncrease` |
| `isBreakout` | boolean | `true` when growth is above 5000% |

## Compared with alternatives

Typical run: **100 search terms, all 4 panels** (terms compared in groups of 5 here = 20 queries).

| Alternative on Apify Store | Listed price per result (row) | 100 terms on Free | 100 terms on Gold | Platform usage extra? |
|---|---|---|---|---|
| Most used Google Trends Actor (~14,100 users) | $0.003 Free, $0.0003 Gold, **$0.00015 Platinum, $0.0001 Diamond** | at least $0.30 + platform usage | at least $0.03 + platform usage ($0.015 Platinum, $0.01 Diamond) | Yes |
| Fast Google Trends Actor with "Trending now" (~2,300 users) | $0.002 Free / $0.0005 Gold + $0.02 per run | at least $0.22 | at least $0.07 | No |
| Flat price Google Trends Actor (~1,130 users) | $0.025 on all plans + $0.025 per run | at least $2.53 | at least $2.53 | No |
| Interest, regions & queries Actor (~360 users) | $0.005 on all plans + $0.00005 per run | at least $0.50 + platform usage | at least $0.50 + platform usage | Yes |
| **This Actor** | **$0.015 Free / $0.006 Gold+ per query** (up to 5 terms, all 4 panels, any number of rows) | **$0.30** | **$0.12** (Platinum and Diamond pay the Gold price) | Yes (small: ~$0.001 to $0.003 per run) |

Prices and user counts from public Apify Store listings, checked September 2026. "At least" assumes only one result per term. The other Actors charge per result (row), and one term with all 4 panels usually returns far more than one row: a 12-month weekly timeline alone is about 53 rows per term, plus regions and related lists. With just 10 rows per term, the four alternatives would cost at least $3.00 + platform usage, $2.02, $25.03 and $5.00 + platform usage on Free.

**Where we are not cheaper.** The most used Actor is cheaper whenever a term returns only a few rows: on Gold below 4 rows per term ($0.0003 × 4 = $0.0012, our Gold price per term in groups of 5), on Platinum below 8 rows and on Diamond below 12 rows. That happens if you only need, say, a short regional list or a few related queries; with a full timeline it does not. On Free, one row per term costs the same as our per term price. The fast alternative can also be cheaper for very small runs and offers "Trending now", which this Actor does not. If you turn off *Compare terms against each other*, each term is its own query and this Actor costs 5× more ($1.50 on Free, $0.60 on Gold for 100 terms). This Actor's price never depends on the number of rows.

## Not included

- **"Trending now" / daily trending searches.** This Actor covers the Google Trends Explore view (interest over time, by region, related queries and topics).
- **Absolute search volumes.** Google Trends only publishes relative 0 to 100 values. For monthly search volumes, CPC and keyword ideas use [Keyword Research Tool](https://cheapapilabs.com/actors/keyword-research-tool/).
- **Google search results and rankings.** Use [Google SERP Scraper](https://cheapapilabs.com/actors/google-serp-scraper/).
- **YouTube video search results.** The `youtube` property gives YouTube search *interest*; for the videos themselves use [YouTube Search Scraper](https://cheapapilabs.com/actors/youtube-search-scraper/).
- **Topic IDs as input** (e.g. `/m/02vqfm`). Type the topic name as a search term instead.

## Limits

- Google Trends data is relative (0 to 100) and sampled. Small terms often return no data, and repeated runs can differ slightly. That is how Google Trends works.
- Related queries and topics are often empty for short time ranges (past hour/day) or low volume terms.
- Regional, related query and related topic data is available for Web searches. For **News** searches it is not available (confirmed in live tests): those queries return interest over time only (still one query charge), the log says so and `RUN_SUMMARY.panelsUnavailableFor` lists the property. For **Image, Shopping and YouTube** searches all 4 panels are requested, but this has not been verified in live tests; if Google Trends rejects the extra panels for a property, the Actor detects it during the run and falls back to interest over time for that property in the same way. Web queries in the same run are not affected.
- Pasted URLs: a sub region `geo` (e.g. `US-NY`) falls back to the country, topic IDs are skipped, and only the first 5 terms are used.
- Bulk mode (all runs on Bronze and higher plans, large runs on Free) can take several minutes, up to about 45 minutes at peak times.
- "Trending now" / daily trending searches are out of scope (see Not included). This Actor covers the Google Trends Explore view.

## FAQ

**Is there a limit on the Apify Free plan?**
Yes: up to $0.25 of this Actor's results per calendar month, enough to try it. Apify pays developers nothing for Free plan usage while our data costs are real, so this keeps the Actor sustainable. Runs that reach the allowance stop cleanly and keep everything collected so far; the allowance resets on the 1st of the month. Any paid Apify plan has no limit.

**Is it legal to scrape Google Trends?**
Google Trends shows public, aggregated and anonymised statistics. It contains no personal data. Collecting publicly available data is generally legal, but you are responsible for how you use it. Check Google's terms and your local law, and ask a lawyer if you are unsure.

**How fresh is the data?**
Data is collected from Google Trends when you run the Actor. `dataUpdatedAt` shows when the numbers were retrieved and `scrapedAt` shows when the row was written. Short ranges (past hour/day) are near real time. The last bucket of a timeline may be incomplete (`isPartial: true`).

**Why are the values between 0 and 100?**
That is how Google Trends reports interest. 100 is the peak popularity within the chosen comparison, time range and location. Values are relative, not absolute search volumes. In rising lists `value` is the percent increase instead; when Google shows "Breakout" (growth above 5000%) we set `isBreakout: true` and `value: null`.

**Why do my numbers change when I compare different terms?**
Values are scaled within each comparison group. To keep every term on its own scale, turn off *Compare terms against each other*. Each term then counts as one query, so the run costs 5× more than grouping terms in fives.

**Can I paste a Google Trends link instead of typing terms?**
Yes. Paste it into *Google Trends URLs*. The terms, country, period, category, property and language come from the URL. Sub regions in the URL (e.g. `geo=US-NY`) fall back to the whole country; use the *State / region / city* option for regional data instead. Topic IDs such as `/m/02vqfm` are skipped. Type the topic name as a search term instead.

**Why did I get fewer results than expected, or a "query checked" fee?**
Low volume terms, very short time ranges and narrow locations often have no data, or have empty related lists, on Google Trends too. Also check *Max related items per list*, *Max queries*, your maximum cost per run and the `RUN_SUMMARY` record. A *query checked* fee means one of your queries was processed but returned no data (Google Trends has nothing for that term, place or period), or its answer was lost on the way. Processing it still costs us, so it is charged the reduced fee ($0.014 on Free, $0.0037 on paid plans) instead of the full query price. `RUN_SUMMARY.queriesCheckedCharged` shows how many. To avoid it, compare low volume terms with popular ones, widen the location or time range, and check a Google Trends URL in your browser first.

**How do I control my budget, and why is there a separate platform usage charge?**
Set *Maximum cost per run* in the run options and/or *Max queries* in the input. Group terms in fives (the default) for the lowest cost per term. Apify bills the compute a run uses separately from the query price; at the default 256 MB a small run typically uses about $0.001 to $0.003.

**Can I monitor trends automatically?**
Yes. Save your input as a task, add a schedule (daily or weekly) and connect a webhook, Google Sheets, Make or Zapier to get every new run's rows. Every row has a stable `id`: the same week, region or related query gets the same `id` in every run, so you can upsert rows into a sheet or database and keep one row per data point. To see only new rising queries, keep the `id`s of `relatedQuery` rows from earlier runs and filter out the ones you have already seen. Each run is charged per query, so a weekly check of 5 terms costs $0.015 (Free) per week.

**Which export formats are available?**
JSON, CSV, Excel, XML, HTML table and RSS from the Output tab or the dataset API. Rows are flat, so spreadsheets need no extra processing.

**Something is wrong. How do I get help?**
Open an issue on the Actor's **Issues** tab with your run ID and the input you used. We read every issue and fix confirmed problems quickly.
