Expand a seed keyword
Go from one product term to a publishable content plan — seed → expand → score → cluster → prioritise. Depends on the Keywords endpoint, in development.
This guide depends on the Keywords endpoint, which is in development. The recipe below is the pattern; the calls won't accept traffic until the endpoint ships.
When to use this
- You're starting a content program with one product term and need a publishable plan.
- You're entering a new vertical and want the keyword universe without manually brainstorming.
- You're refreshing an old keyword set to find new long-tail variants the market has started searching for.
The recipe
1. Seed → ideas
Start with one phrase that captures what you sell or write about. Pass it to the ideas surface; ask for clustering so the response groups results by intent / topic.
curl https://api.ray9.ai/v1/keywords/ideas \
-H "Authorization: Bearer rk_…" \
-H "Content-Type: application/json" \
-d '{
"seed": "ai agents",
"location": "United States",
"language": "English",
"cluster": true
}'You'll get back a few hundred related keywords with metrics already attached (volume, difficulty, intent, SERP-feature presence) plus cluster labels — the candidate H1s for your eventual content plan.
2. Triage by intent
Filter to the intents that match your funnel. Most content programs start with a 70/20/10 split (informational / commercial / transactional). Adjust per your team's bandwidth.
3. Score the survivors
For each keyword that passes triage, decide if you can realistically rank for it. Pass targetDomain so the response includes a per-keyword "ranking probability" estimate scaled to your domain's authority.
Rules of thumb:
- Difficulty < 30 — you can rank with one well-built page.
- Difficulty 30–60 — needs real depth + supporting links from your own site.
- Difficulty > 60 — needs a topical hub strategy, not a single page.
4. Cluster into briefs
Group surviving keywords into briefs — one brief per cluster, targeting the cluster's primary keyword (highest volume, intent-matched) plus the long-tail variants as supporting H2s.
For each brief, run a SERP call against the primary keyword to see what's already winning — that's your reference for what the SERP rewards (featured snippets, AI overviews, video carousels), what the top-3 cover, and what they miss.
5. Prioritise and assign
Sort briefs by effort × estimated reward:
- Effort — content depth needed (correlates with cluster size).
- Reward — sum of
volume × ranking_probabilityacross the cluster.
Pull the top N off the queue, assign to writers, and you have a content plan.
Track rankings over time
Build a rank-tracking time series by calling SERP on a schedule. The minimal recipe with backoff, dedup, and movement detection.
Track AI-search visibility
Run the same prompt set across AI engines on a schedule and watch how a brand's citations move. The AI-search analogue of rank tracking. Depends on the AI Search endpoint, in development.