Google Trends seasonality data for demand and inventory planning
Pull Google Trends interest over time and by region for any keyword as JSON, to plan launches, stock and ad spend around real seasonal demand.
Planning stock, ad budgets or a content calendar by gut feeling means you find out about the autumn spike after it started. Google Trends shows when interest in a product rises and where, but only in a chart you read by hand. Lovely Router runs the query for you. Send a keyword, a time period and a country, get one JSON object per call, pay per call from a prepaid balance. Run it from a spreadsheet script, a planning job or an AI agent with one API key.
Hand it to your AI agent
Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.
Google Trends seasonality data for demand and inventory planning. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>How it works
Pick the keywords
List the products, categories or brand terms you plan around, one keyword per call.
Run the tool for a period and a country
Send the keyword to
POST /v1/tools/google-trends/runwithmodeset tokeyword, apredefinedTimeframesuch astoday 5-y, and ageocountry code. AddfetchRegionalDatato get the regional breakdown.Compare across years
Store each result. Line up the same weeks across years to see when demand ramps up, peaks and falls, then work backwards to your order and launch dates.
Get seasonal demand with one request
Google Trends interest takes one keyword per call. predefinedTimeframe accepts values from now 1-h to today 5-y and all. geo is a country code, and an empty value means worldwide. The regional breakdown needs a country to be set:
curl https://lovelyrouter.com/v1/tools/google-trends/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"mode": "keyword",
"keyword": "patio heater",
"predefinedTimeframe": "today 5-y",
"geo": "US",
"fetchRegionalData": true
},
"max_results": 1
}'A call returns interest over time for the keyword and, with fetchRegionalData, interest by region. A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each call holds
| Field group | What you get |
|---|---|
| Keyword | The term you asked about, in the period and country you set |
| Interest over time | How interest in the keyword moved across the time period |
| Interest by region | How interest splits across regions, when you turn on fetchRegionalData with a country |
Trends reports relative interest, not search volumes. Use it to compare weeks, years and regions with each other, not to count searches.
Recipes
Run a five-year view of your product keyword for your main market. Mark the week interest begins to climb each year and set purchase orders and ad launches a few weeks earlier.
Run the keyword with a country and fetchRegionalData on, and start your paid campaign where interest is highest.
Run 10 keywords with the same period and country, then rank them by how steady interest is, not by one spike.
Use all as the period for a rising term. If the curve is a single spike, skip it; if it is a slow climb, keep going.
Run a short list of keywords every month from a scheduled job and write the series into a spreadsheet that your buyers already use.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Check Google Trends for 'standing desk' and 'treadmill desk' in the US for the last 5 years and tell me when interest starts rising each year. One call per keyword."
Pair it with search and marketplace data
Trends tells you when. These tools show what is selling and who is talking:
Google Trends interest over time and by region for a keyword.
Google results pages for a query: organic results (position, title, URL, snippet, date, sitelinks) and related searches. One result = one results page (~10 links).
Reddit posts for a query or subreddit: title, body, score, comments count, author, date.
News articles from Google News for a search (operators work: "exact phrase", OR, -word, site:, intitle:), optionally within a time window: title, source, date and the article's link on the publisher's site.
google-searchshows what ranks today for the keywords that trend.reddit-searchshows what people say when a topic takes off.google-newsshows the news behind a sudden spike.
For a wider market picture, see e-commerce intelligence.
What you pay
You pay per call: starting a run holds its maximum cost, the per-call fee, and the run settles to what it used. A run that fails or times out pays only for what it delivered, and a run refused at the start costs nothing.
Checking 40 keywords once a month is billed as 40 calls a month. There is no subscription and no monthly minimum: top up from $5, and one balance pays for tools and models. The card above shows today's price; pricing lists every tool.
Frequently asked questions
Can I get search volumes from Google Trends?+
No. The result shows relative interest over time and by region, which is what Trends itself shows. It is made for comparing periods and places.
Can I check several keywords in one run?+
One keyword per call. Run each keyword as its own call, and use the same period and country so the results compare.
Which time periods can I choose?+
now 1-h, now 4-h, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y and all.
How do I get the trending searches?+
Set mode to trending with a country in geo to get the top trending searches for it, instead of analyzing one keyword.
Do I need a subscription?+
No. You add credit to a prepaid balance and each run draws it down. Failed runs pay only for the results they delivered, and nothing renews automatically.
Planning around more than demand curves? See e-commerce intelligence, social listening and the tool catalog.