What SEO Data Actually Costs
Search data is sold per call, but almost every tool resells it per seat. Here is how to work out what your own research costs, and why the two numbers are so far apart.
Almost nobody who buys an SEO tool knows what the data inside it costs. You know what the seat costs. The seat is the only number on the pricing page.
Underneath, search data is a commodity with a published, per-call price. Keyword metrics, SERP results, backlink indexes and rank checks are all sold by the request, by a handful of wholesale providers, to anyone who asks. The suites you know are buying from that layer too. What you pay for is the interface, the brand, and the margin.
That gap is not a scandal. Somebody has to build the interface. But it does mean the number you budget against has almost no relationship to the work you actually do, and that has consequences worth understanding whichever tool you use.
Per-seat pricing punishes the wrong thing
When data is bundled into a seat, the tool has to guess how much you will use, then charge everyone the same. The people who barely log in subsidise the people who hammer it. So the vendor does two things: it sets the price for the heavy user, and it puts a limit somewhere so the heavy user cannot get too heavy.
You have met those limits. Rows per export. Reports per month. Keywords per project. Historical range. They are rarely presented as cost control, but that is what they are, and they are why the honest answer to "can I just pull the full list?" is usually no.
The second-order effect is worse than the limits. When you cannot see what a query costs, you cannot reason about whether it was worth running. A backlink pull and a single keyword lookup feel identical — both are "one report" — when the underlying costs differ by orders of magnitude. You end up rationing by anxiety instead of by price.
What per-call pricing looks like from the inside
Buy the data directly and the shape of the bill changes completely. A keyword metrics call costs a fraction of a cent. A full backlink profile for a large domain costs meaningfully more. A rank check costs per keyword, per location, every time it runs — which is why rank tracking, not research, is what quietly dominates most bills.
None of those are big numbers on their own. The useful discipline is not "spend less", it is knowing which of your habits is the expensive one. In practice it is almost always one of three:
Rank tracking on autopilot. Tracked keywords multiply. A hundred keywords in three locations checked daily is nine hundred checks a day, and nobody looks at eight hundred of them. Weekly checks on the terms you would actually act on cost a fraction of that and lose you nothing.
Backlink pulls repeated out of habit. Link profiles change slowly. Pulling one weekly for a domain you are not actively working on is paying for a number that will not have moved.
Broad research with no destination. Pulling a thousand keywords to look at forty is a cheap mistake individually and an expensive one repeated daily.
The point is that you can only see any of this if the bill is itemised by what you were doing. A running total tells you that you spent money. A breakdown tells you which habit to change.
Why PandaCrawl does it this way
PandaCrawl is bought once and runs on your own DataForSEO account. You create the account, you top it up, and DataForSEO bills you at their rates. We add nothing to it and we never see your balance except to show it back to you.
We did that for a commercial reason before an ideological one: a one-time price cannot fund an open-ended data bill. If we bundled the data, we would have to guess your usage, price for the heaviest user, and then add the limits that make the guess safe. That is the model we did not want to build.
What falls out of it is the itemisation. Because every call is billed to you rather than absorbed by us, the dashboard can show month-to-date spend split by feature — keyword research here, backlinks there, rank tracking underneath. That breakdown is not a feature we cleverly added. It is simply what your own account's activity looks like when nobody has an incentive to blur it.
A provider's own dashboard cannot show you this, incidentally. It sees a running total and a stream of endpoint names. It does not know that Tuesday's spike was a competitor sweep.
How to work out your own number
You do not need to switch tools to do this. Take one week of real work and price it as if you were buying the data directly:
- Count the research pulls you actually acted on, and the ones you ran and then closed.
- Count your tracked keywords, multiply by locations, multiply by checks per week.
- Look up the per-call prices your provider publishes and multiply through.
Two things usually come out of that exercise. The first is that research — the part that feels expensive because it feels productive — is rarely the bulk of it. The second is that some standing job you set up months ago and stopped reading is.
Either way you now have a number you can reason about, which you did not have when it was one line on a card statement.
The honest caveat
At-cost data is not automatically cheaper. If you use a suite lightly, a bundled seat can be better value than buying the same calls yourself, and anyone who tells you otherwise is selling something. A heavy user with a wide portfolio is where the arithmetic flips hard, and a consultant running several client sites is usually well past the flip.
What at-cost buys unconditionally is legibility. You can see the price of a question before you ask it, and you can decide whether the answer is worth it. That is a different thing from cheap, and for most of the work it is the more useful thing.