Keyword Trends in One Call: Daily Interest, US States, Age and Gender (Web, Past 90 Days)
omnial/keywords-trends-merged
Given one to five keywords, returns three views of their US web search interest over the past 90 days from an independent trends dataset, in one call: a daily 0 to 100 score per keyword with each keyword's average; each keyword's score in every US state and the District of Columbia, with per-state shares between the keywords; and interest by age band and by female and male search audiences, with each keyword's share per group.
Price
Up to $0.00819 per call; you pay what the call used
The price shown is the price you pay. No monthly minimum. Top-ups start at $5.
Data source
DataForSEO Trends
Data from DataForSEO Trends.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/keywords-trends-merged" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/keywords-trends-merged" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/keywords-trends-merged", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/keywords-trends-merged", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.00819 |
- Updated
- Oct 14, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"keywords",
"location_code",
"type",
"time_range"
],
"properties": {
"type": {
"enum": [
"web"
],
"type": "string",
"description": "The kind of search measured; only web is offered."
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 5,
"minItems": 1,
"description": "The search terms, one to five, each up to 80 characters and 10 words. Scores are relative across all the terms in one call."
},
"time_range": {
"enum": [
"past_90_days"
],
"type": "string",
"description": "The time window; only past_90_days (the last 90 days, one point per day) is offered."
},
"location_code": {
"enum": [
2840
],
"type": "integer",
"description": "The market; only 2840 (the United States) is offered."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "number"
},
"description": "One score per keyword, 0 to 100, in keyword order; 100 is the highest point of any keyword in the range."
},
"date_to": {
"type": "string",
"description": "Last day of the period, YYYY-MM-DD."
},
"date_from": {
"type": "string",
"description": "First day of the period, YYYY-MM-DD."
},
"timestamp": {
"type": "number",
"description": "Start of the period, Unix seconds."
}
}
},
"description": "One point per day, oldest first."
},
"averages": {
"type": "array",
"items": {
"type": "number"
},
"description": "Each keyword's average score over the range, in keyword order."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "The keywords, in the order the scores use."
},
"interests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "number",
"description": "Interest, 0 to 100; 100 is this keyword's strongest state."
},
"geo_name": {
"type": "string",
"description": "The US state, or the District of Columbia."
}
}
},
"description": "One row per state, alphabetical."
},
"keyword": {
"type": "string"
}
}
},
"description": "One entry per keyword."
},
"demography": {
"type": "object",
"properties": {
"age": {
"type": "array",
"items": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The age band, such as 25-34."
},
"value": {
"type": "number",
"description": "Interest index, 0 to 100; 100 is this keyword's strongest group."
}
}
}
},
"keyword": {
"type": "string"
}
}
},
"description": "One entry per keyword."
},
"gender": {
"type": "array",
"items": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "female or male."
},
"value": {
"type": "number",
"description": "Interest index, 0 to 100; 100 is this keyword's strongest group."
}
}
}
},
"keyword": {
"type": "string"
}
}
},
"description": "One entry per keyword."
}
},
"description": "Search-audience interest by age band and gender (aggregate groups, not people)."
},
"interests_comparison": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "number"
},
"description": "One number per keyword, in keyword order."
},
"geo_name": {
"type": "string",
"description": "The US state, or the District of Columbia."
}
}
},
"description": "Per state, each keyword's percentage share of the interest there; the shares sum to 100."
},
"absolute_items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "number"
},
"description": "One number per keyword, in keyword order."
},
"geo_name": {
"type": "string",
"description": "The US state, or the District of Columbia."
}
}
},
"description": "Per state, each keyword's interest on one shared 0 to 100 scale; 100 is the highest state score of any keyword."
}
}
},
"demography_comparison": {
"type": "object",
"properties": {
"age": {
"type": "object",
"properties": {
"18-24": {
"type": "array",
"items": {
"type": "number"
}
},
"25-34": {
"type": "array",
"items": {
"type": "number"
}
},
"35-44": {
"type": "array",
"items": {
"type": "number"
}
},
"45-54": {
"type": "array",
"items": {
"type": "number"
}
},
"55-64": {
"type": "array",
"items": {
"type": "number"
}
}
}
},
"gender": {
"type": "object",
"properties": {
"male": {
"type": "array",
"items": {
"type": "number"
}
},
"female": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
},
"description": "Per group, each keyword's percentage share of interest, in keyword order; each array sums to 100."
}
}
}
},
"datetime": {
"type": "string",
"description": "When the data was retrieved (UTC)."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "The keywords, in the order the scores use."
}
}
},
"description": "One result for the call."
}
},
"description": "The call's result, wrapped as results."
}