Discover keyword opportunities and optimize match types by analyzing actual search terms.
⚠️ IMPORTANT: This tool retrieves READ-ONLY data. Safe to call multiple times. Google Ads only - NOT available for TikTok.
🎯 What This Tool Does (Performance Agent - Phase 1 Feature 3):
Returns comprehensive keyword intelligence:
🔍 What Search Term Mining Reveals:
Opportunity Keywords (Money Left on Table):
Negative Keywords (Money Wasted):
Match Type Optimization:
Parameters:
Execution time: 1-3 seconds (cached database query) Data source: search_term_daily_metrics table (updated nightly, 120-day retention)
⚡ RAW REPORT PAGINATION CONTRACT:
pagination.has_more — if true, call again with next pagehas_more is false, then present consolidated resultscampaign_id to focus on a specific campaign’s search termsUse this tool when:
⚠️ Platform Limitation: This tool ONLY works for Google Ads. TikTok Ads does not provide search term data due to privacy restrictions.
📊 AFTER calling this tool, help the user understand:
Opportunity Keywords:
Example: Search term: “enterprise security software pricing”
Negative Keywords:
Example: Search term: “free security software”
Match Type Performance:
Example Analysis:
Quick Actions:
Visualization Tip: For opportunity keywords, suggest creating a scatter plot (x=ROAS, y=Spend, size=conversions) to visualize profit potential.
Implementation Steps:
Best Practices:
💬 Community: For keyword optimization discussions, visit our Discord: https://discord.gg/dH3Qt4YS
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for search term mining and keyword opportunity analysis
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.