Google Trends Scraper
Creating a Google Trends Scraping Task
Submit a Google Trends scraping task to retrieve interest over time, interest by region, related queries, related topics and autocomplete suggestions for a search term.
Requires the google-trends scope on your API key.
Endpoint
POST /api/parsing/v1/google-trends
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | yes | Search term to explore (e.g. iphone) |
| type | string[] | no | Which datasets to collect: periods, geo, queries, topics, autocomplete. Defaults to ["periods","geo","queries","topics"] |
| geo | string | no | Country or region code (e.g. US, GB, US-CA). Omit for worldwide |
| date | string | no | Time range in Google Trends syntax (e.g. now 1-d, today 1-m, all). Defaults to now 1-d |
| cat | number | no | Google Trends category ID. 0 (default) means all categories |
| gprop | string | no | Google property to search: web, images, news, froogle (Shopping), youtube. Defaults to web |
| hl | string | no | Interface language code (e.g. en-US, de-DE). Defaults to en-US |
| tz | number | no | Timezone offset in minutes from UTC (e.g. 0, -120). Defaults to 0 |
| resolution | string | no | Granularity for interest by region: COUNTRY, REGION, CITY, DMA. Chosen automatically from geo when omitted |
| callbackUrl | string | no | Webhook URL to POST result when done |
type values
| Value | Returns | Response field |
|---|---|---|
| periods | Interest over time for the term | interestOverTime |
| geo | Interest broken down by region | interestByGeo |
| queries | Top and rising related search queries | relatedQueries |
| topics | Top and rising related topics | relatedTopics |
| autocomplete | Matching Google Trends entities (used to disambiguate a term) | autocomplete |
date values
Any Google Trends range string is accepted. Common presets:
| Value | Range |
|---|---|
| now 1-d | Past day |
| now 7-d | Past 7 days |
| today 1-m | Past 30 days |
| today 3-m | Past 90 days |
| today 12-m | Past 12 months |
| today 5-y | Past 5 years |
| all | 2004 – present |
resolution values
| Value | Granularity |
|---|---|
| COUNTRY | Country level |
| REGION | Region / state level |
| CITY | City level |
| DMA | US metro area (Designated Market Area) |
Example Request
curl -X POST 'https://app.scrapering.com/api/parsing/v1/google-trends' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{"q":"iphone","type":["periods","geo","queries","autocomplete"],"geo":"US","date":"today 1-m","gprop":"web","hl":"en-US","callbackUrl":"https://my-server.com/webhook/parsing"}'
Example Response
{
"id": "ac9c7911-b32c-4890-a850-227003ee2d35",
"status": "parsing",
"scope": "google-trends",
"costCredits": 10,
"createdAt": "2026-09-28T10:00:00.000Z"
}
| Field | Type | Description |
|---|---|---|
| id | string | Task ID used to poll for the result |
| status | string | Current task status (parsing, done, error) |
| scope | string | Task type — always google-trends for this endpoint |
| costCredits | number | Credits charged for the task |
| createdAt | string | ISO 8601 timestamp of when the task was created |
A request costs 10 credits regardless of how many type datasets you request.
The task is processed asynchronously. Use the id to poll for the result or set callbackUrl to receive a webhook when parsing completes.
Next steps
- Receiving result — poll for the result using the task ID
- Webhook — receive the result via callback instead of polling
- Pricing — see how credits are calculated for this request