7 min read·May 19, 2026

Why we priced RankParse at $0.01 per credit: the math behind it

An honest breakdown of our pricing: the cost structure behind Common Crawl data, why credits never expire, and who this model is wrong for.


We built RankParse because we kept running into the same problem ourselves. We'd need to score a few hundred domains for a link building campaign, or enrich a lead list with backlink data, or pull domain authority scores into a data pipeline. One-off work. Batch work. The kind of analysis you run twice a month, maybe once a quarter.

Every existing tool wanted a monthly subscription to give us API access. Ahrefs: $1,499/month. Semrush: $499/month. Even tools with "API plans" treated it as a recurring seat. We'd pay for 30 days of access, use the API for two afternoons, and let $450+ of monthly subscription expire unused.

The problem isn't that these tools are overpriced. They're priced for the people who use them daily: enterprise SEO teams, agencies billing on retainer, platforms with live monitoring needs. That pricing makes sense for that customer. It makes no sense if you're a developer running batch jobs.

So we built a different model. Here's the math behind it.

Our actual cost structure

RankParse's pricing follows directly from how it's built. Three things make per-query pricing genuinely sustainable rather than a loss leader:

The raw data is free. Common Crawl is a nonprofit that has been crawling the web since 2008 and releases the full dataset publicly every quarter. We process their crawl data into a queryable format. No license fee, no upstream data cost.

The serving infrastructure charges per request. We run on edge infrastructure that bills by usage, not by time. A query costs us a fraction of a cent to execute. There's no fixed serving cost we're paying regardless of whether anyone queries.

Processing happens once a quarter, not continuously. We run a batch pipeline when each new Common Crawl release drops, process it into our serving format, and we're done until next quarter. No continuous crawler running around the clock. That's a fundamentally different cost model than tools that crawl the web daily.

Ahrefs crawls approximately 8 billion pages per day. That's a search-engine cost structure. We don't do that, and we don't pretend to. Our data comes from a public dataset, processed periodically. The tradeoff is freshness (quarterly, not real-time), but the economics are completely different, and we pass that difference through to pricing.

The math at different usage volumes

At $0.01 per credit, here's what RankParse actually costs at different usage levels, compared to what you'd pay to get API access from the main alternatives:

Queries/monthRankParseSemrush (Business)Ahrefs (Enterprise)
100$1.00$499/mo$1,499/mo
1,000$10$499/mo$1,499/mo
10,000$100$499/mo$1,499/mo
50,000$500$499/mo$1,499/mo
100,000$600~$600+ (overages)$1,499/mo

A few notes on this table: Semrush's Business plan is $499.95/month before overages; backlink API calls consume units on top of the base. Ahrefs Enterprise starts at $1,499/month billed annually. Both prices are what you pay even when you don't touch the API that month. The 100,000-query row uses the Scale pack price ($600 for 100,000 credits), which brings the per-credit rate down to $0.006.

The crossover where RankParse gets expensive relative to Semrush is around 50,000 backlink queries per month at Starter pricing — less if you use the Growth or Scale packs. If you're genuinely querying at that scale continuously, a subscription may become the right economics.

But for the batch jobs and periodic analysis that drove us to build this (100 queries one week, 2,000 the next, nothing for three weeks), the per-query model is the only one that doesn't feel like a tax on not using the product.

Why credits never expire, and why that math works for us

Most credit-based products expire credits after 12 months. We don't. When you buy $10 in credits and use half, the remaining $5 sits in your account until you need it.

This sounds like a bad deal for us. It isn't, for a simple reason: we don't pay to hold your unused credits. They're a number in a database. The cost to us is zero until you run a query.

In a subscription model, unused capacity is a real loss. If Semrush has 10,000 users paying $499/mo and 30% of them barely use the API, those users still consume support overhead, infrastructure headroom, and account storage, and they subsidize the active users who go over limits. The subscription model has to price in that waste.

We don't have that problem. The moment your credit runs a query is the moment we incur the infrastructure cost. Before that, nothing. An account with $50 in credits and zero queries in the past year costs us essentially nothing to maintain.

The real risk of non-expiring credits is that users buy a small pack, never use it, and generate support tickets asking for refunds. That happens, but it's a small support cost, not an existential pricing problem. The alternative is expiring credits that create user frustration and churn. Given our cost structure, keeping credits permanent was an easy call.

The honest case: who this pricing model is wrong for

There are genuine use cases where per-query pricing from a quarterly snapshot doesn't work, and it would be dishonest to pretend otherwise.

Live link monitoring. If you need to know when a specific backlink goes live, or when a referring domain drops off a site, you need continuous data. Our index updates quarterly (roughly every 90 days). A link that appeared last Tuesday won't be in our data until the next release. For monitoring workflows where freshness is the product, you need Ahrefs (15-minute refresh) or a live-crawl tool.

Real-time rank tracking alerts. If you're building a dashboard that pages someone when rankings change, or a product that surfaces SERP movement as it happens, Common Crawl data won't cut it. This isn't a tradeoff we can engineer around. The latency is baked into how the dataset works.

High-frequency production workloads. If you're enriching every user signup with domain data in real time, at scale, the per-query cost adds up faster than a monthly subscription. At 100,000+ queries per month consistently, run the comparison. RankParse starts making less sense; Semrush or DataForSEO start making more.

For everything else: batch analysis, one-time research, AI pipelines that don't need sub-day freshness, validation before committing to a bigger tool. The quarterly snapshot is accurate enough and the per-query economics are difficult to beat.

What the $0.01 actually buys

One domain authority score. One backlink profile. One tech stack lookup. One page SEO analysis. The unit is a credit, which maps to the cheapest endpoint. More complex queries cost more credits. A full link audit runs 8 credits ($0.08), a site explorer call runs 10 credits ($0.10). But the floor is $0.01, and most routine lookups sit in the 1-2 credit range.

For context:

import os
from rankparse import RankParseClient

domains = ["acme.com", "competitor.com", "prospect.com"]  # add thousands more

with RankParseClient(api_key=os.environ["RANKPARSE_API_KEY"]) as client:
    for domain in domains:
        da = client.domain_authority(domain)      # 1 credit each
        bl = client.backlinks(domain, limit=100)  # 2 credits each
        print(f"{domain}: DA {da['data']['score']}, {bl['meta']['total']} backlinks")

Scoring 500 domains with both domain authority and a backlink sample: 1,500 credits, $15. That's roughly what you'd spend on lunch, and the credits don't expire if you don't use them all.

We don't think per-query pricing is inherently virtuous. It's just the model that fits the cost structure we built on. The data is free, the infrastructure charges per request, and there's no continuous crawl to amortize. Passing that structure to users as pricing isn't a marketing decision. It's the honest shape of what we built.

Start with 100 free credits

No subscription. No card. $0.009 per call after that, and credits never expire.

Get your free API key