Google Trends Scraper

Google Trends Webhooks

Set callbackUrl in the submit request body to receive the result via webhook instead of polling. When parsing completes, the server sends a POST request to that URL with the result payload.

Submit with Callback

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"
}'

Webhook Payload

Make sure your webhook endpoint responds with a 2xx status code to acknowledge receipt.

Your endpoint will receive a POST request with the same body as the polling result:

{
  "data": {
    "input": {
      "q": "iphone",
      "hl": "en-US",
      "tz": 0,
      "cat": 0,
      "geo": "US",
      "date": "today 1-m",
      "type": ["periods", "geo", "queries", "autocomplete"],
      "gprop": "",
      "resolution": null,
      "original_url": "https://trends.google.com/explore?q=iphone&date=today%201-m&hl=en-US&geo=US"
    },
    "interestOverTime": [
      { "time": "2026-08-28T00:00:00.000Z", "value": 41 },
      { "time": "2026-09-09T00:00:00.000Z", "value": 100 }
    ],
    "interestByGeo": [
      { "value": 100, "geoCode": "US-KS", "geoName": "Kansas" },
      { "value": 57, "geoCode": "US-CA", "geoName": "California" }
    ],
    "relatedQueries": {
      "top": [{ "query": "iphone 18", "value": 100 }],
      "rising": [{ "query": "iphone 18 duo", "value": 51800 }]
    },
    "autocomplete": [
      { "mid": "/m/027lnzs", "type": "Mobile phone", "title": "iPhone" }
    ]
  },
  "success": true
}

Next steps