Google Trends API endpoint
Returns the Explore detail widgets for a single trending term, including interest over time, regional interest, top/rising related queries, and related topics when Google returns them.
/google/trends/trending/detailRequest body:
query: required trending term.geo: optional country/territory location code. Defaults to worldwide when omitted. Allowed values: WORLDWIDE, AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BA, BW, BV, BR, IO, VG, BN, BG, BF, BI, KH, CM, CA, CV, BQ, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, XK, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, KP, MK, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, KR, SS, ES, LK, BL, SH, KN, LC, MF, PM, VC, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UM, VI, UG, UA, AE, GB, US, UY, UZ, VU, VA, VE, VN, WF, EH, YE, ZM, ZW.time_range: optional Trends time range. Allowed values: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all. Defaults to now 7-d.hl: optional locale. Defaults to en-US.tz: optional timezone offset in minutes. Defaults to 0.category: optional Trends category id. Defaults to 0.type: optional search type. Allowed values: web, image, news, youtube, shopping. Defaults to web.property: optional legacy Trends property filter. Prefer type; if both are supplied they must describe the same search type.| Field | Filled in, of 53 checked | Values in the sample |
|---|---|---|
| time | 53 | 1,760,227,200 to 1,791,676,800, median 1,775,952,000 |
| formatted_time | 53 | “Oct 12 – 18, 2025” and 52 other values |
| formatted_axis_time | 53 | “Oct 12, 2025” and 52 other values |
| values | 53 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| request (body) | object | Yes | Trending detail request | ||
| x-api-key (header) | string | Yes | API key required |
curl -X POST "https://api.crawlora.net/api/v1/google/trends/trending/detail" \
-H "x-api-key: $CRAWLORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"category":0,"geo":"US","hl":"en-US","property":"","query":"chatgpt","time_range":"now 7-d","type":"web","tz":0}'{
"category": 0,
"geo": "US",
"hl": "en-US",
"property": "",
"query": "chatgpt",
"time_range": "now 7-d",
"type": "web",
"tz": 0
}{
"code": 200,
"msg": "OK",
"data": {
"keywords": [
"google"
],
"geo": "HK",
"time_range": "today 12-m",
"interest_over_time": [
{
"time": "1777075200",
"formatted_time": "Apr 2026",
"values": [
{
"keyword": "google",
"value": 87,
"formatted_value": "87",
"has_data": true
}
]
}
],
"top_queries": [
{
"keyword": "google",
"items": [
{
"query": "google maps",
"value": 100
}
]
}
]
}
}Request schema
#/definitions/trends.TrendingDetailRequest
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| category | integer | No | 0 | |||
| geo | string | No | WORLDWIDE, AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BA, BW, BV, BR, IO, VG, BN, BG, BF, BI, KH, CM, CV, CA, BQ, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, XK, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, KP, MK, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, KR, SS, ES, LK, BL, SH, KN, LC, MF, PM, VC, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UM, VI, UG, UA, AE, GB, US, UY, UZ, VU, VA, VE, VN, WF, EH, YE, ZM, ZW | US | ||
| hl | string | No | en-US | |||
| property | string | No | ||||
| query | string | No | chatgpt | |||
| time_range | string | No | now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all | now 7-d | ||
| type | string | No | web, image, news, youtube, shopping | web | ||
| tz | integer | No | 0 |
Response schema
#/definitions/trends.exploreResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | trends.ExploreResponse | No | ||||
| data.category | integer | No | 0 | Trends category ID that was applied. `0` means all categories. | ||
| data.geo | string | No | US | Location code the data covers, such as `US`. | ||
| data.hl | string | No | en-US | Locale that was applied, such as `en-US`. | ||
| data.interest_by_region | array | No | Interest in each keyword by region. | |||
| data.interest_by_region[].geo_code | string | No | US-CA | Code of the region, such as `US-CA`. | ||
| data.interest_by_region[].geo_name | string | No | California | Name of the region, such as `California`. | ||
| data.interest_by_region[].values | array | No | Interest value for each keyword in this region. | |||
| data.interest_by_region[].values[].formatted_value | string | No | 87 | Interest score as Google Trends displays it. | ||
| data.interest_by_region[].values[].has_data | boolean | No | true | Whether Google Trends has data for this keyword at this point. | ||
| data.interest_by_region[].values[].keyword | string | No | chatgpt | Keyword the value belongs to. | ||
| data.interest_by_region[].values[].value | integer | No | 87 | Relative interest score for the keyword, as Google Trends reports it. | ||
| data.interest_over_time | array | No | Interest in each keyword over time, one point per time step. | |||
| data.interest_over_time[].formatted_axis_time | string | No | Apr 2026 | Date label used on the chart axis, such as `Apr 2026`. | ||
| data.interest_over_time[].formatted_time | string | No | Apr 2026 | Date label of this point as Google Trends shows it, such as `Apr 2026`. | ||
| data.interest_over_time[].time | string | No | 1777075200 | Time of this data point, in Unix seconds, as a string. | ||
| data.interest_over_time[].values | array | No | Interest value for each keyword at this point. | |||
| data.interest_over_time[].values[].formatted_value | string | No | 87 | Interest score as Google Trends displays it. | ||
| data.interest_over_time[].values[].has_data | boolean | No | true | Whether Google Trends has data for this keyword at this point. | ||
| data.interest_over_time[].values[].keyword | string | No | chatgpt | Keyword the value belongs to. | ||
| data.interest_over_time[].values[].value | integer | No | 87 | Relative interest score for the keyword, as Google Trends reports it. | ||
| data.keywords | array | No | Keywords that were compared. | |||
| data.property | string | No | Google property filter that was applied, matching `type`. | |||
| data.related_queries | array | No | Top related queries, grouped by keyword. Same content as `top_queries`. | |||
| data.related_queries[].items | array | No | Related entries for this keyword. | |||
| data.related_queries[].items[].formatted_value | string | No | 100 | Value as Google Trends displays it. | ||
| data.related_queries[].items[].link | string | No | /trends/explore?q=chatgpt | Google Trends path that opens this entry in Explore. | ||
| data.related_queries[].items[].query | string | No | chatgpt login | Related search query. | ||
| data.related_queries[].items[].topic_mid | string | No | /g/11khcfz0y2 | Google topic ID of the related topic, such as `/g/11khcfz0y2`. | ||
| data.related_queries[].items[].topic_title | string | No | ChatGPT | Title of the related topic. | ||
| data.related_queries[].items[].topic_type | string | No | Topic | Type label of the related topic, such as `Topic`. | ||
| data.related_queries[].items[].value | integer | No | 100 | Relative popularity score Google Trends gives the entry. | ||
| data.related_queries[].keyword | string | No | chatgpt | Keyword the related entries belong to. | ||
| data.related_topics | array | No | Related topics, grouped by keyword. | |||
| data.related_topics[].items | array | No | Related entries for this keyword. | |||
| data.related_topics[].items[].formatted_value | string | No | 100 | Value as Google Trends displays it. | ||
| data.related_topics[].items[].link | string | No | /trends/explore?q=chatgpt | Google Trends path that opens this entry in Explore. | ||
| data.related_topics[].items[].query | string | No | chatgpt login | Related search query. | ||
| data.related_topics[].items[].topic_mid | string | No | /g/11khcfz0y2 | Google topic ID of the related topic, such as `/g/11khcfz0y2`. | ||
| data.related_topics[].items[].topic_title | string | No | ChatGPT | Title of the related topic. | ||
| data.related_topics[].items[].topic_type | string | No | Topic | Type label of the related topic, such as `Topic`. | ||
| data.related_topics[].items[].value | integer | No | 100 | Relative popularity score Google Trends gives the entry. | ||
| data.related_topics[].keyword | string | No | chatgpt | Keyword the related entries belong to. | ||
| data.rising_queries | array | No | Rising related queries, grouped by keyword. | |||
| data.rising_queries[].items | array | No | Related entries for this keyword. | |||
| data.rising_queries[].items[].formatted_value | string | No | 100 | Value as Google Trends displays it. | ||
| data.rising_queries[].items[].link | string | No | /trends/explore?q=chatgpt | Google Trends path that opens this entry in Explore. | ||
| data.rising_queries[].items[].query | string | No | chatgpt login | Related search query. | ||
| data.rising_queries[].items[].topic_mid | string | No | /g/11khcfz0y2 | Google topic ID of the related topic, such as `/g/11khcfz0y2`. | ||
| data.rising_queries[].items[].topic_title | string | No | ChatGPT | Title of the related topic. | ||
| data.rising_queries[].items[].topic_type | string | No | Topic | Type label of the related topic, such as `Topic`. | ||
| data.rising_queries[].items[].value | integer | No | 100 | Relative popularity score Google Trends gives the entry. | ||
| data.rising_queries[].keyword | string | No | chatgpt | Keyword the related entries belong to. | ||
| data.time_range | string | No | today 12-m | Time range that was applied, such as `today 12-m`. | ||
| data.top_queries | array | No | Top related queries, grouped by keyword. | |||
| data.top_queries[].items | array | No | Related entries for this keyword. | |||
| data.top_queries[].items[].formatted_value | string | No | 100 | Value as Google Trends displays it. | ||
| data.top_queries[].items[].link | string | No | /trends/explore?q=chatgpt | Google Trends path that opens this entry in Explore. | ||
| data.top_queries[].items[].query | string | No | chatgpt login | Related search query. | ||
| data.top_queries[].items[].topic_mid | string | No | /g/11khcfz0y2 | Google topic ID of the related topic, such as `/g/11khcfz0y2`. | ||
| data.top_queries[].items[].topic_title | string | No | ChatGPT | Title of the related topic. | ||
| data.top_queries[].items[].topic_type | string | No | Topic | Type label of the related topic, such as `Topic`. | ||
| data.top_queries[].items[].value | integer | No | 100 | Relative popularity score Google Trends gives the entry. | ||
| data.top_queries[].keyword | string | No | chatgpt | Keyword the related entries belong to. | ||
| data.type | string | No | web | Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`. | ||
| data.tz | integer | No | 0 | Timezone offset in minutes that was applied. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
| 503 | Google Trends upstream request failed | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X POST "https://api.crawlora.net/api/v1/google/trends/trending/detail" \
-H "x-api-key: $CRAWLORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"category":0,"geo":"US","hl":"en-US","property":"","query":"chatgpt","time_range":"now 7-d","type":"web","tz":0}'