SEO API Comparison: What Nine Providers Actually Return
Nine services call themselves an SEO API. Three of them cannot return a keyword volume, and the same three have no backlink data at all. And the published prices, from $20 to $549, are not comparable, because no two of them bill in the same unit.
I spent a day reading the documentation of all nine rather than the marketing pages, and this is the map I wish I’d had. Every number below comes from the vendor’s own docs or pricing page, checked on 28 September 2026.
What an SEO API actually returns
The phrase covers three different products that share a name.
SERP scrapers fetch a search results page and hand you the parsed result as JSON. SerpApi and ValueSERP are this and nothing else: neither publishes a keyword volume endpoint, a backlink endpoint or a site audit. That is not a flaw, it is the product.
Data suites keep their own index and sell access to it. DataForSEO, Semrush, Ahrefs, Moz, SE Ranking and Serpstat sit here, though they differ in what they cover. Moz, for one, publishes no site audit endpoint at all.
Your own data is the third kind, and the Google Search Console API is the whole category. It returns your clicks, impressions, CTR and average position, and nothing about anyone else. No volume, no competitor rankings, no links.

If you take one thing from this piece, take that split. Most arguments about which SEO API is cheapest are two people comparing a scraper to an index.
Four auth schemes, no two alike
Expect to write different plumbing for each one. DataForSEO uses HTTP Basic auth against https://api.dataforseo.com/v3/. Ahrefs wants Authorization: Bearer at https://api.ahrefs.com/v3/. Semrush takes Authorization: Apikey or a ?key= parameter. Moz is the odd one: a custom x-moz-token header on a single JSON-RPC endpoint, https://api.moz.com/jsonrpc, where the method name travels in the request body.
Serpstat is also JSON-RPC 2.0, and it has a property worth knowing before you write error handling. Every response returns HTTP 200, including the failures. You detect an error by finding an error object where you expected result.
The Search Console API is the strict one. Google’s docs put it plainly: “Your application must use OAuth 2.0 to authorize requests. No other authorization protocols are supported.” If you were hoping to paste an API key into a cron job, that is the one door that stays shut. Our guide to analytics API authentication covers the token dance in detail.
Why the headline prices lie
Every vendor publishes a number. The numbers measure different things.

Dollars per call. DataForSEO is the only one of the nine that prices the actual work end to end: $0.0006 per SERP in the standard queue, $0.002 in live mode, $0.00015 per crawled page in the on-page API. Its backlinks API bills twice over, $0.024 per request plus $0.000036 per row returned.
Abstract units whose price is not published. Ahrefs documents the formula honestly: max(base_cost, per_row_cost × num_rows), where the base cost of any request is 50 units and an expensive field can cost 5 or 10 units on its own. What it does not publish is what a unit costs in dollars. Semrush is the same shape: it lists per-line costs in units, a domain organic keywords row at 10 units and a site audit snapshot at 10,000, and never says what a unit is worth.
Credits. SE Ranking and ValueSERP both sell credits, and the word means different things. A ValueSERP request is normally one credit. An SE Ranking backlinks/summary call is 100 credits per record returned, so one call can cost more than a hundred ordinary ones.
Searches per month. SerpApi sells a monthly allowance: $25 for 1,000 searches, $150 for 15,000, with the rule that makes it predictable. “Only successful searches are counted toward your monthly searches. Cached, errored, and failed searches are not.”
Rows per month. Moz bills rows, where a row is one object in a list response or one field in a flat one. $20 buys 3,000 rows, $75 buys 15,000, and overages are priced per thousand above that.
Cheapest published route to each API
| API | Entry price | What you get for it |
|---|---|---|
| Google Search Console | No published charge | Your own site only, bounded by quota |
| SerpApi | $0 | 250 searches a month, 50 an hour |
| Moz | $20/mo | 3,000 rows a month |
| DataForSEO | $50 minimum deposit | Pay per call at published rates |
| ValueSERP | $50/mo | 25,000 credits |
| SE Ranking | $50 minimum deposit | Pay-as-you-go credits |
| Serpstat | $100/mo | 200,000 API credits; the $50 plan has no API |
| Ahrefs | $129/mo | Lite plan, API and MCP access |
| Semrush | Not published | API units are bought separately after upgrading |
Two of those need a footnote. Serpstat locks the API out of its cheapest tier, so the $50 plan you see advertised is not a route to the API at all. And Semrush documents which reports cost how many units without ever publishing what a unit costs, which you discover after you upgrade.
Rate limits in four incompatible units
Nobody measures throughput the same way, so the table below reproduces each vendor’s own unit rather than pretending they normalise.
| API | Published limit |
|---|---|
| DataForSEO | 2,000 calls per minute, 100 tasks per call; 30 simultaneous live calls |
| Moz | 2,000 requests per 60 seconds; free plan one request per 10 seconds |
| ValueSERP | 250 to 1,500 requests per minute, by plan |
| SE Ranking | 10 requests per second on the data API, 5 on the project API, 1 on trial |
| Serpstat | 1 request per second on most plans, 10 on the top tier |
| Ahrefs | 60 requests per minute, plus dynamic throttling under load |
| SerpApi | Guaranteed successful searches per hour: 50 on free, up to 640,000 |
| Search Console | 1,200 queries per minute per site and per user |
| Semrush | Not published |
Ahrefs at 60 per minute is the tightest of the paid suites, and it is worth planning around. If your job pulls a thousand domains, that is a seventeen-minute run before you write a line of logic. Moz allows thirty-three times more requests, but you will hit its row quota long before the rate limit.
How to test one without paying
Four of the nine let you write real code before you spend anything, and they do it in four different ways.
- DataForSEO has a true sandbox at
sandbox.dataforseo.com/v3/: dummy data, identical response schema, free for any registered user. It is the only one of the nine with that. - SerpApi has a permanent free plan, 250 searches a month, no card.
- Moz has a free tier too, though a thin one: 50 rows a month and one request every ten seconds.
- Ahrefs gives free test queries with a twist. Requests are free only when the target is
ahrefs.com,yep.comorfirehose.com, or when the keyword is one of those three words. Mix in anything real and the request bills.
Serpstat deserves credit for saying the quiet part out loud: “There are no sandbox, test endpoint or any other test environment.” Their documented workaround is to add a test user to your team with a small credit allowance and develop against that token.
What none of them publish
Writing this map turned up as much silence as data, and the gaps matter before a procurement conversation.
- Ahrefs and Semrush both bill in units, and neither publishes the dollar price of a unit.
- Semrush publishes no rate limit at all. HTTP 429 appears in the docs with no threshold attached.
- ValueSERP does not publish how many credits its free trial contains.
- Serpstat does not publish the credit allowance of its trial.
- Google publishes no price and no billing unit for the Search Console API. The quotas are the only stated boundary.
One live contradiction is worth flagging because you will meet it. SE Ranking’s API page advertises an add-on starting at $149 a month alongside Core at $129 and Growth at $279, while pay-as-you-go needs a $50 minimum deposit. Read the pricing page rather than the product page before you budget.
Choosing without regret
- Name the data first. Volume, rankings, links, crawl, or your own performance. Three of the nine cannot serve half that list, and no price comparison survives that mistake.
- Convert every price into your own unit. Take the job you actually run, say rankings for 500 keywords daily, and price it in each vendor’s currency. The ranking changes once you do.
- Check the rate limit against your batch, not against a benchmark. Sixty requests a minute is generous for a dashboard and painful for a bulk crawl.
- Test on free access before you commit. The sandbox, the free plans and the free test queries above cover four of the nine at zero cost.
- Read the billing rule, not the plan name. Per-row billing, per-record credits and “only successful calls are charged” move the monthly bill more than the headline price does.
If you already know which data you need, two companion pieces go deeper: pulling link data programmatically and getting keyword position data. For the money side in more detail, see what SEO data APIs cost and how their pricing models differ. And if your answer to step one turned out to be “my own site”, the free Search Analytics endpoint is where to start rather than any paid index.
Sources for the figures above: DataForSEO documentation, Ahrefs limits and consumption, Moz API pricing and SerpApi pricing, all read on 28 September 2026.
// Alicia Bennett
Lead Web Analyst based in Toronto with 12+ years in digital analytics — privacy-first tracking, open-source tools, and the analytics API layer that sits under every dashboard.
More about the author →