The decision this protects
The decision is which route delivers the rankings you need at a cost you can defend twelve months later, a metered SERP API with your own scheduler and storage, or a subscription that bundles the pulls with a viewer and history. Every time I have had this argument without a fixed scope on the table, it drifted into which tool has the nicer interface, and the person who liked the interface won. The calculator forces the scope to be written first, in units that both routes can be priced in, so the tool choice is arithmetic followed by one judgment about who will run it.
Before you start
- The keyword list, deduplicated, with a count you would put in a contract.
- The list of countries or cities where rankings matter, because a keyword tracked in Bengaluru and again in Mumbai is two pulls, not one.
- The names of the people who will open the rankings, and how often, because a viewer that nobody opens is the most expensive line on the API route.
- The pricing pages of the vendors you are considering, opened on the day you fill this in, since the prices below were read on 1 September 2026 and will move.
- Whoever would build and run the API route, in the room, so the capacity question in section 5 is answered by the person it lands on.
Stated limits
- The calculator prices SERP pulls. It does not price the engineering time to build a scheduler, a database and a viewer on top of an API, and that time is the real cost on that side.
- It assumes that desktop and mobile are separate pulls, which is how an API bills. Whether a subscription counts a keyword on two devices as one keyword or two is not stated on the pricing pages I read, and the plan you need may double if it is two [VERIFY: per-device counting on each tool’s help pages].
- It excludes taxes, and for an Indian entity that is 18 percent GST on most of these invoices, and it excludes annual discounts so that every figure is a monthly commitment.
1. The scope
| Field | What to record | Why it matters |
|---|---|---|
| Keywords | The count after deduplication, and the file the count came from | Every derived row multiplies from this number, and a list that grows 20 percent in the first quarter breaks the plan size |
| Domains observed per SERP | Your own domain plus each competitor you want a position for | This does not change the pull count, since every domain is read off the same result page, but it changes what you store and how large the viewer has to be |
| Countries or locations | Each country, city or pin-code area as a separate line, with the Google domain and language for each | A location is a multiplier on pulls, and a subscription may count it against the keyword allowance as well [VERIFY: per-location counting on each tool] |
| Devices | Desktop, mobile, or both | Both doubles the pulls, and for most Indian consumer queries mobile is the ranking that pays |
| Check frequency | Daily, every three days, or weekly, as a choice you can justify | Frequency is the largest lever on cost, and three of the four subscriptions I priced only sell daily, so choosing weekly narrows the field on that side |
| History retention | How many months of positions must remain queryable, and whether the whole SERP or only your positions must be kept | On the API route history exists only if the scheduler never missed a run and the storage never expired, and on a subscription it usually ends when the subscription does |
| Who needs to see the data | Each person, their role, how often they will look, and on what device | A marketing head who wants a chart on a phone once a week needs a viewer, and a viewer is a build or a subscription |
Judgment prompt: If the check frequency was chosen because that is what the tool offers rather than because a decision depends on it, write down the decision that a daily reading would change, and if there is none, the frequency is weekly.
2. The derived rows
Two lines of arithmetic, done in the open so anyone can rerun them when the scope changes.
| Field | What to record | Why it matters |
|---|---|---|
| SERP pulls per check | Keywords × locations × devices | This is the number of result pages fetched each time the whole set runs, and it is the unit both routes are priced in |
| Checks per month | 30.42 for daily, 10.14 for every three days, 4.33 for weekly | The monthly multipliers are 365 ÷ 12 and its divisions, and a flat 30 or 10 differs from them by 1.4 percent, which changes no decision, so use whichever you can explain |
| Pulls per month | Pulls per check × checks per month | This is the figure you price, and the figure a vendor’s “keywords tracked daily” has to be converted into before the plans are comparable |
| Pulls per month at the next frequency up | The same row recomputed at the frequency one step more often | Because someone will ask for daily in month three, and the answer should already be on the sheet |
Judgment prompt: If pulls per month is under 5,000, the arithmetic barely matters and the cheapest subscription that fits the keyword count is the answer, because the API route’s fixed cost of someone’s time swamps any metered saving at that size.
3. Cost under three routes
Fill the price cells from the vendors’ pages on the day you decide, and write the date and URL beside each one. The routes are a SERP API at its standard queue, the same API at its live rate, and the cheapest subscription plan that covers the keyword count at the frequency you chose or the nearest frequency it sells.
| Field | What to record | Why it matters |
|---|---|---|
| API standard queue, price per 1,000 SERPs | The figure from the pricing page, at a depth of 10 results, with the fetch date | Turnaround at the standard queue is minutes rather than seconds, which is fine for a tracker that runs overnight |
| API live mode, price per 1,000 SERPs | The figure from the same page, same depth, same date | Live mode is for pulls that a person is waiting on, and a scheduled tracker does not need it, so this cell shows what you are not paying for |
| API monthly cost, each mode | Pulls per month ÷ 1,000 × price per 1,000 | The metered cost is linear in pulls, so doubling the keyword list doubles this row and nothing else |
| Subscription plan and its keyword count | The plan name, monthly price, keywords included, and the update frequency stated on the page | If the plan’s frequency is daily and your scope is weekly, the plan is delivering pulls you did not ask for and you are paying for them |
| Subscription cost per 1,000 SERPs | Plan price ÷ pulls per month at the plan’s own frequency × 1,000 | The only honest way to compare a flat fee with a metered one, and it flatters the daily tools, since it credits them with pulls you will not use |
| Rupee equivalent and GST | Each monthly cost at the rate on the day [VERIFY: USD/INR rate], plus 18 percent GST where it applies | The budget holder approves rupees, and a dollar figure that grows by a fifth at invoice time reads as a surprise |
Judgment prompt: If the subscription’s cost per 1,000 SERPs is more than three times the API’s standard rate, the gap is the budget for building the API route, and section 5 decides whether that budget can be spent.
4. Worked example, priced on 1 September 2026
These figures were read from the vendors’ pricing pages on 1 September 2026 and will be wrong by the time you read this, which is the reason the price cells above are blank. The scope is 2,000 keywords, one country, two devices, one competitor domain observed, so 4,000 pulls per check.
| Field | What to record | Why it matters |
|---|---|---|
| Weekly pulls | 4,000 × 4.33 = 17,333 pulls a month | At $0.60 per 1,000 on the standard queue that is $10.40, and at $2.00 live it is $34.67 |
| Daily pulls | 4,000 × 30.42 = 121,667 pulls a month | At the standard queue that is $73.00, and at live it is $243.33 |
| Cheapest daily subscription at 2,000 keywords | SE Ranking Core, $129 a month | Works out at $1.06 per 1,000 SERPs at its own daily frequency, against $0.60 on the API standard queue and $2.00 live |
| Next daily subscription | AccuRanker Professional, $224 a month for 2,000 keywords | $1.84 per 1,000 SERPs at daily, cheaper than live mode and three times the standard queue |
| The one weekly subscription | Ahrefs Standard, $249 a month for 2,000 keywords, updated weekly | Fits the scope exactly and costs $14.37 per 1,000 SERPs, against $10.40 total on the standard queue for the same schedule |
| Largest suite | Semrush Advanced, $549 a month for 5,000 keywords daily | The 1,500-keyword Pro+ plan at $299 falls short of 2,000, so the plan that covers the scope carries 3,000 keywords that go unused, at $4.51 per 1,000 SERPs |
Judgment prompt: If your scope is weekly, the comparison in this example is $10.40 against $129 at the cheapest and $249 at the one plan that matches the frequency, and the question to ask is whether twelve months of that difference, around Rs 1,25,000 at the lower figure [VERIFY: USD/INR rate], buys the build and the running of a tracker your team will actually open.
5. Break-even and capacity
| Field | What to record | Why it matters |
|---|---|---|
| Break-even frequency, each plan | Plan price ÷ (pulls per check × API price per pull), as checks a month | Above this frequency the subscription is cheaper per SERP than the API, below it the API is, and if the figure is above the frequency the plan actually sells, the plan never gets there |
| Frequency the plan actually sells | Daily, weekly, or a selector, from the pricing page | On 1 September 2026, SE Ranking Core needed 53.8 checks a month to match the standard queue and sold 30.4, and against live mode it needed 16.1 and cleared it comfortably |
| Who builds the API route | A named person, their hours a month, and their hourly cost to the business | A scheduler, a store and a viewer are a few weeks the first time and a few hours a month after, and a missed cron job is a permanent hole in the history |
| Who runs it in month seven | The same question, asked about a month when the builder is on leave or has left | The subscription’s price includes the fact that nobody on your side has to rotate an API key or notice a changed field name |
| What the viewer must show | The three views the people in section 1 said they would open | If the answer is a position chart by keyword with a date range, that is a subscription feature and a build of several days on the other route |
Judgment prompt: If nobody in the room can name the person who will fix the scheduler at 9 pm on a Tuesday in March, the API route is not available to this team at any price, and the calculator’s job is to make the subscription’s premium visible rather than to argue against it.
The defensible output
One line, kept with the pricing pages it was read from, that anyone can reprice next year.
Scope: 2,000 keywords, India, desktop and mobile, weekly, own domain plus 1 competitor,
12 months history, 3 viewers. 17,333 SERP pulls a month.
API standard queue $10.40 a month, API live $34.67 a month, SE Ranking Core $129 a month
(daily only), Ahrefs Standard $249 a month (weekly). Prices read 1 September 2026.
Chosen: SE Ranking Core, because no one on the team can own a scheduler and a store,
and the $118.60 a month premium over the API is less than four hours of the one
person who could. Reprice on 1 March 2027.
The statement names the scope in units that survive a tool change, the monthly cost under each route on a dated basis, and the chosen route with its reason, which is the sentence someone will need when the invoice is questioned.
Where I could be wrong
The per-device question could invalidate the subscription rows. If a tool counts a keyword on desktop and mobile as two of its allowance, the 2,000-keyword plans above hold 1,000 of my keywords and the plan I need is the next size up, which changes every subscription figure in the example and every break-even that follows from it.
The multipliers assume the whole set runs on every check. A team that checks its money keywords daily and the rest weekly has two scopes, and the calculator should be filled in twice and summed, which the single-line output does not make obvious.
The prices in section 4 were read from public pages on one day. Any of the five vendors may sell a reduced-frequency tier, a regional price, or an extra-keyword rate behind sign-up that the public page does not show, and the example would be kinder to that vendor if it did.
Sources
- Semrush pricing (fetched 1 September 2026)
- Ahrefs pricing (fetched 1 September 2026)
- SE Ranking pricing (fetched 1 September 2026)
- AccuRanker pricing (fetched 1 September 2026)
- DataForSEO Google organic SERP API pricing (fetched 1 September 2026)