# What an SEO data lookup actually costs

> Behind every keyword metric and rank check is a vendor invoice. What each call costs, why the unit matters more than the price, and how netweft meters it.

Source: https://netweft.com/blog/what-an-seo-lookup-costs
Updated: 2026-10-15

**Almost every number in an SEO tool is bought from a data vendor per call or per keyword. netweft prices one credit at $0.0001 of raw vendor cost, reserves credits before a call runs, and settles the reservation against what the vendor actually charged.**

Nobody sells SEO data at cost, and nobody should. But almost nobody shows you
the cost either, and that is a choice rather than a necessity.

## The unit is the interesting part

The price of a lookup matters less than what it is a price *for*. Four
different units show up in the same product, and confusing them is how metered
billing goes wrong.

**Per keyword.** [Keyword metrics](/features/keyword-research) — [search
volume](/glossary/search-volume), [difficulty](/glossary/keyword-difficulty),
[cost per click](/glossary/cost-per-click) — are billed per keyword plus a
fixed fee per request, because that is how the vendor bills them: netweft
charges 120 credits for the request and
1.2 a keyword. Predictable, and it scales with the thing
you can see on screen.

**Per results page.** A [rank check](/features/rank-tracking) buys search
results ten at a time, and each page of ten is billed. Reading the top 100 is
ten pages, so the depth a tracker reads is its price.

**Per request.** Some endpoints charge for the call, not its contents. The
Google Ads endpoints netweft falls back to for countries the Labs dataset does
not cover are like this: one keyword and a thousand keywords cost the same.

**Per page.** A [crawl](/features/site-audit) is billed per page fetched, which
is the only unit that makes sense for work your own infrastructure does.

Mix these up and you get the classic metered-billing failure: a per-unit
reservation held against a per-request charge. Reserve one credit for a
one-keyword refresh that will actually cost five hundred, and the difference
comes out of somebody's margin — or worse, out of a customer who thought they
had budget left.

netweft's [rate card](/pricing) names the basis on every line for exactly this
reason.

## Reserve, then settle

The order of operations matters more than the number.

A naive implementation runs the call, reads the invoice, and bills you. That
works until a workspace is out of money, at which point you have spent real
cash on behalf of someone who cannot pay for it.

netweft reserves first. Before a paid call runs, the estimated cost is held
against the workspace's balance. A workspace with no credits is refused before
the money is spent rather than billed afterwards. When the call returns, the
real cost is read off the vendor's response envelope and the reservation is
settled against it — so you are charged what the vendor charged, and the
estimate never becomes the price.

For the AI operations the reservation is explicitly a ceiling: the most a chat
turn can cost at the configured model caps. A turn that answers straight away
settles for a fraction of it. A long one cannot exceed it.

## Why credits and not dollars

One credit is $0.0001 of raw vendor cost. Ten thousand credits is exactly one
dollar of vendor spend, which was the whole point of choosing that number: it
makes every margin question legible without a calculator.

Credits also separate two things that a dollar figure fuses together. What the
data cost is one fact. What you paid for access is another. A plan grants
credits *and* access, and a top-up buys credits alone: the same per credit as
Pro, whose price also pays for the platform, and dearer than
Studio and Agency, which is where the volume
discount lives.

## The one to watch

If you take one number from the rate card, take the performance check.

A crawled page costs 1 credit. A Lighthouse pass on that
same page — the [Core Web Vitals](/glossary/core-web-vitals) measurement —
costs 50, because it is a vendor call. Run on every
page of a five-hundred-page crawl it would cost many times the crawl, so
netweft measures a sample instead: one page per URL shape, at most
10 pages an audit.

That is why it is opt-in per audit rather than a default, and why the number is
printed on the [pricing page](/pricing) rather than discovered in a ledger three
days later. The arithmetic on a real five-hundred-page run is in [what a
500-page crawl costs](/blog/what-a-crawl-costs). A metered product that surprises you has failed at the only thing
metering is for.
