Keyword research is three questions wearing one name: how many people ask this, what they want when they ask it, and how good the answer already on the page is. Claude answers the second and third for free, because both of them are readable on a live SERP. The first one lives in a provider's database, and the figure beside a term is an estimate until somebody pays for it. This lesson runs the planning half of claude-seo over one seed, "seo agent", on 2026-10-03, then measures a shortlist of ten terms through seodraft against our own DataForSEO balance. The interesting part is the gap between the two outputs: forty-two variants with relative labels on one side, three measured terms and seven withheld on the other. Everything below is what those two runs returned.
What keyword research answers before anybody writes
A term earns a page when three things line up: people ask it, you can tell what they want, and the pages answering them today are beatable. Demand is a count, intent is a category, and difficulty is a judgement about the ten results already there. Research that reports only the first one sends you to write a long guide for a question people were trying to answer with a pricing page.
Intent is the cheapest of the three to get right and the most expensive to get wrong. Our expansion tagged every variant informational, commercial, transactional or navigational, and the five navigational ones (brand names and vendor login pages) were excluded from the plan on the spot. A term nobody can win is cheaper to drop in the research than in the draft.
Disambiguate the seed before you expand it
A seed with two meanings produces two plans, and the expansion will not tell you which one it chose unless you ask. "seo agent" reads as an AI agent that does SEO work, and also as a human SEO specialist or agency. Our run opened by resolving that: October 2026 SERPs for the seed and its close variants were dominated by the AI-agent sense, with the human-agency sense appearing once, incidentally, inside a comparison article.
The plan then made a decision and wrote it down: cluster around the AI-agent sense, and phrase the pillar as "AI SEO agent" so the phrase carries its own meaning. That rewrite is the useful move. A seed that keeps its ambiguity through the whole plan produces an outline that answers two audiences badly, and the SERP had already voted.
What claude-seo returns with no data provider connected
With no provider connected, the command expands through WebSearch and labels what it cannot count. Ours generated 42 unique variants from the seed: related results, People Also Ask synthesis and modifier expansion across best, free, pricing, comparison, how-to and per-platform shapes. Each variant carries an intent tag and, where it applies, a note saying it was merged into another, deferred as thin, or excluded as navigational.
The volume column is where the honesty shows. The report's limitations section states that no DataForSEO was available, that all volumes are relative estimates labelled est. high, medium or low, and that no number was invented. The pillar is listed with "est. high volume" and no figure anywhere. That label is the correct output for a run that could not measure, and it is also the one people paste into a spreadsheet and forget the provenance of.
An estimate orders a list and a measurement sizes it
A relative label ranks the terms of one run against each other, as one model read one day's search results. It has no unit, so two labels from two sessions do not compare, nothing adds up, and the word "high" means high among these forty-two. A measured figure has a market, a month and a provider behind it, and survives being quoted to somebody who was not in the session.
Both are usable, in different places. Rank your own shortlist with labels, pick what to pay for, and keep the estimate out of any sentence that sounds like a forecast. The habit that makes this work is boring: one column named "estimated" and one named "measured", filled from the two different runs, never merged.
What measuring the same ten terms added
We sent ten terms from the plan to seodraft's add_topics, which measures a whole batch in one call against your own DataForSEO balance. By the public rates its own status tool reports, a batch costs around USD 0.11 whatever the term count, and that figure is shown before the call is made. Seven of the ten were withheld before anything was spent, for competing with another term in the same batch; lesson 6 reads that list, because it is a cannibalization finding wearing a different hat.
Three terms were measured. "seo agent" came back with 27,100 searches a month in the United States, 61 in AI search, and commercial intent. "ai seo agent vs seo tool" and "how to build an ai seo agent" came back with no figure reported. The difference between that first line and the plan's "est. high volume" is the whole lesson: one of them can be defended in a planning meeting.
"Unavailable" is a missing figure, and a zero is a result
A term marked unavailable was asked about and the provider reported nothing for that exact phrase. seodraft keeps the two states apart on purpose: observed means a figure came back, a reported 0 included; unavailable means we paid to ask and got nothing; unmeasured means no paid call has covered it yet. A null volume reads as "no exact-match volume reported", and long-tail questions land there routinely.
That matters because a dash in a spreadsheet becomes a zero by Friday, and a zero kills a topic. Two of our three measured terms were unavailable, and both are questions somebody obviously types. Keep them, write them when the pillar is done, and decide them on the question rather than on the empty cell.
What the research actually cost
Two costs ran in parallel here, and they are charged by different people. The /seo cluster run took 334 seconds over six turns and would equal USD 1.55 at API prices; on a Claude subscription it is drawn from the plan's usage limit instead of billed in dollars. The measurement cost about USD 0.11, charged by DataForSEO to the account whose credentials you connected.
Those are different kinds of spend worth tracking separately. Model time is a fixed subscription most readers already pay for, and provider calls come out of a balance that empties. seodraft shows the estimate before every paid call and reports what it has spent in total and over the last 30 days, which is the part that keeps research from quietly becoming a line item (features/dataforseo).
Decide what to measure, then label what you did not
Pick your shortlist from the terms you would actually write this quarter, measure them in one batch, and write the provenance next to every number before the list leaves your screen. A plan whose columns are labelled survives a handover; one that merged two kinds of figure has to be rebuilt from scratch, and usually is.
Two things are now on your desk and unresolved: the seven terms the batch withheld, and the question of which of your forty variants deserve separate pages at all. Lesson 6 takes both, and it starts with the measurement claude-seo ran on its own groupings: eleven keyword pairs, every one of which landed under its own threshold.