How it works

Most keyword tools hand you a spreadsheet and leave the thinking to you. This one is built the other way round: every number is a live measurement, every grouping is derived from what search engines actually return, and every request is accounted to the cent before it is made.

What follows is the real mechanism, not a diagram of one — starting with what each number is before it ever reaches you.

1. Where each number actually comes from

Most tools present volume, competition and difficulty as four columns of the same kind of fact. They are not. They come from different systems, mean different things, and mislead in different ways. Knowing which is which is most of the skill.

Search volume

Volume originates in advertiser keyword data — the figures the ad platform publishes so that people buying ads can size a market. It is a monthly average, not a count, resolved against a specific location and language, and it comes with two properties nobody puts on a marketing page:

Near-identical phrasings are grouped and reported together. The ad platform buckets close variants and returns a combined figure, which is why "running shoes" and "running shoe" so often show exactly the same number. Read a volume figure as the size of an intent, not the frequency of one string. It is also precisely why clustering by results rather than by spelling matters — see below.

The current month is never available. The series runs to the end of last month; twelve months are returned by default and four years are reachable. Any tool showing you this month's volume is showing you an estimate it made up.

Competition and the bid range

These come from the ad auction and describe the ad auction — nothing else. Competition is the relative density of advertisers bidding on the term. The bid range is what advertisers actually paid for top-of-page placement: the low figure sits above roughly the bottom fifth of winning bids, the high above roughly four-fifths.

So high competition means the term is commercially valuable. It does not mean it is hard to rank for. Conflating those two is the most common misreading in this industry, and the reason they are shown as separate columns here rather than blended into one reassuring score.

Difficulty

This is the organic answer, and it is computed rather than reported: the link profiles of the pages currently holding the top ten are analysed and reduced to a 0–100 score for the chance of joining them.

The scale is logarithmic, which changes how you should read it. The distance from 70 to 80 is far larger than from 20 to 30. Ten points near the top is a different order of effort from ten points near the bottom.

The results themselves

Result pages are retrieved live at the moment you ask, against the location and language your project is set to — down to a city rather than just a country, because "plumber" in Leeds and "plumber" in London are not the same query. What comes back is the real top ten as it stands, with its AI Overview, featured snippet, People Also Ask block and whatever else the engine chose to put there. Intent is then derived from what that page is made of: a result set full of guides is informational, one full of product listings is not.

Freshness is a policy, not a hope. Keyword metrics are considered current for 30 days and search results for 7, after which the next request goes back to the source rather than serving you something old with confidence.

2. One shape, whatever the source

Google, YouTube, Amazon and trend data describe the world in four different formats, with different field names, different units and different ideas of what a keyword is. Most tools let that mess reach the surface, which is why their exports need cleaning before they are useful.

Here it stops at the boundary. Every source is parsed by a dedicated mapper into a single normalised record — keyword, volume, CPC, competition, difficulty, intent, monthly history, result types — and no feature downstream ever sees the raw payload. Clustering, gap analysis, rank tracking, the agents and the public API all read that one shape.

This is enforced rather than encouraged: a test fails the build if any module outside a mapper reaches into a raw response. It is why adding a fourth search engine changed nothing downstream, and why a change at a source can never quietly alter what a number means to you.

3. Clustering derived from results, not from words

Grouping keywords by how similar the strings are is the standard approach and it is wrong. "Cheap flights" and "budget airfare" share no words and one page serves both. "Apple pie" and "Apple stock" share a word and nothing else.

We group by what the engine already believes. Two keywords are linked when their top ten results share enough of the same URLs — because if the same pages are returned for both queries, the engine has judged them the same intent, and one page of yours can rank for both. Writing two instead splits your own authority between them.

The clusters are then the connected components of that link graph, which is deliberate. If A shares results with B, and B with C, all three belong together even where A and C overlap little directly — that is how a topic actually spreads across a set of results, and a stricter rule would cut real topics in half.

The overlap threshold is yours to set. Raise it for tight, page-level clusters; lower it for broad territories.

4. Nothing is fetched that nobody asked for

The expensive habit in this category is speculative collection: pull everything for everyone, bill for the storage, and hope some of it gets read. You pay for that in your subscription whether or not you ever open it.

Search results here are only ever retrieved for a keyword a person actually selected. There is no bulk pre-fetch anywhere in the product — not on import, not on research, not overnight.

The effect compounds in your favour. Every result set opened is kept and shared, so by the time you cluster a bucket most of the work is already done and costs nothing to reuse. Reading something twice is free; the meter only moves for something genuinely new.

5. Metering that settles, rather than estimates

Credits are not a token that loosely corresponds to usage. Before a request runs, its cost is estimated and that many credits are held. After it returns, the hold is reconciled against what the work actually cost and the difference is returned to you — every time, in both directions.

The arithmetic happens inside a database transaction with the wallet locked, so two simultaneous runs cannot both spend the last credit. Every movement writes a ledger row carrying the balance after it. A run that fails releases its entire hold: you are never billed for something that did not produce an answer.

Four independent ceilings sit above it, because they guard four different failures: requests per minute, simultaneous paid runs per organisation, credits per day, and credits per single run. The last one is the guard against a typo costing a month.

6. Agents that work from your site, not from a prompt

The strategist reads your actual pages first, then argues a plan from what is there and what is missing — rather than generating a plausible content calendar from a keyword you typed. It delegates to researchers that each take one topic properly, a planner that turns clusters into pages with an angle, and a writer that drafts in a voice you taught it.

Each run holds its whole budget up front and cannot exceed it, so a long investigation cannot become an open-ended bill.

The agent that drafts from pages it has read is given no tool that can name an address — and a test fails the build if one ever grows one. That single constraint is what makes the rest safe: an instruction hidden inside a competitor's page has nothing to reach for, whatever it says.

What this adds up to

Live measurements, normalised to one shape at the boundary; groupings derived from real results rather than string similarity; nothing collected speculatively; and a meter that settles against reality and shows its working.

The claim is not that the numbers are secret. It is that what happens to them between arriving and reaching you is the part that decides whether they are worth anything — and that is the part we build.