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_probability across the cluster.

Pull the top N off the queue, assign to writers, and you have a content plan.

On this page