Start Research
Start an AI-powered research job (runs in background).
What it does:
- Performs deep analysis that takes 5 minutes to 2 hours
- Runs asynchronously - you’ll be notified when complete
- Provides comprehensive insights and recommendations
Research Types:
-
competitor_analysis - Analyze competitor ad strategies Required context: competitors (list of competitor domains/names)
-
keyword_research - Discover high-value keywords Required context: seed_keywords (list of starting keywords)
-
market_landscape - Industry overview and trends Required context: industry (industry name)
-
audience_insights - Target audience analysis Required context: target_audience (description of audience)
-
campaign_strategy - Strategic recommendations Required context: campaign_goals (what you want to achieve)
Depth Levels:
- quick: 5-10 minutes
- standard: 15-30 minutes
- comprehensive: 1-2 hours
Example: User: “Research my competitors” → Call start_research with:
- research_type: “competitor_analysis”
- depth: “standard”
- context:
{"competitors": ["competitor1.com", "competitor2.com"]}
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
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
Body
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 for starting a research job.
Response
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.

