For two weeks, a customer who used up their monthly AI citation checks got a message that ended "Upgrade or buy top-up checks at /#pricing". There were no top-up checks. Nothing on the pricing page, nothing in billing. The message described a product we had not built.

It exists now. A paid plan that runs out of checks can add 500 for $10 or 2,000 for $36, once, without changing plans. This post covers what a check is, what each plan includes, how a top-up is spent, and the part we think matters most: when you should skip the top-up and move up a plan.

What a check is

A check is one prompt, sent to one AI engine, sampled once. Citation tracking asks the engines the questions your buyers ask and records whether your brand is mentioned and whether your pages are cited. Answers change from one run to the next, so each prompt is sampled three times by default and the result is a rate, not a yes or no.

That makes the size of a run simple arithmetic: prompts x engines x samples. The default starter set is 12 prompts. On four engines (GPT, Gemini, Perplexity and Claude) at three samples, one run is 144 checks.

What each plan includes

Plan Price Checks per month Tracked prompts
Free $0 None None
Starter $5 150 15
Basic $15 500 30
Pro $39 1,500 75
Ultra $99 4,000 200

These are the allowances we raised in October 2026. They reset on the 1st of each month, UTC. The free tier has no citation checks, because every check is a paid call to an AI provider.

The two packs

Pack Price Per check
500 checks $10 $0.020
2,000 checks $36 $0.018

Both are one-time card payments. Neither is a subscription, and nothing renews.

For context on the price: Ahrefs sells custom-prompt checks for Brand Radar in packages, and its pricing page listed 2,500 checks for $50 with overage at $0.020 a check when we read it on October 5, 2026. We could not confirm whether those packages need a paid Ahrefs plan underneath, so treat it as a reference point for the unit price and not a like-for-like comparison. Ours need a paid plan too.

How a top-up is spent

Four rules, and they are the whole design.

Monthly checks go first. A top-up check is used only when the month's allowance is gone. If you buy a pack on the 3rd and never run out, the pack is untouched on the 1st.

Top-ups do not reset. The monthly allowance returns to full on the 1st. A top-up balance carries over as it is.

Each pack lasts 12 months from the day you buy it. If you hold two packs, the one that expires sooner is spent first.

A failed check costs nothing. We count a check after an engine has answered. If the provider returns an error, the result is stored with the error and nothing comes off the month or the pack. That was already true of monthly checks.

Here is one run across the boundary. A Basic account has used 432 of its 500 checks and holds a 500-check top-up. Its tracker needs 72 checks a run (12 prompts, two engines, three samples). The run takes the last 68 from the month and 4 from the pack. GET /citations/trackers reports both balances before the run:

{
  "checks_limit": 500,
  "checks_used": 432,
  "checks_remaining": 68,
  "topup_checks_remaining": 500,
  "checks_available": 568
}

checks_remaining is the month. topup_checks_remaining is what you bought. checks_available is what a run can spend now. The same block is on GET /usage under citations.

One thing to know about how runs are admitted: a run needs all of its checks before it starts. With 68 checks left and no top-up, that 72-check run is refused and spends nothing. It does not run 68 and stop. This is the message that account gets, copied from the API (wrapped here to fit):

Citation check limit reached (432/500 this month on the Basic plan). This run needs 72.
Buy top-up checks (500 checks for $10, or 2,000 checks for $36; used after your monthly
checks, valid 12 months) at https://seoscoreapi.com/dashboard#citation-checks or with
POST /citations/topups/checkout, or upgrade at /#pricing

A scheduled tracker that is refused is tried again every hour. It starts on its own once checks are there, whether from a top-up or from the 1st.

How to buy

From the dashboard. Sign in at seoscoreapi.com/dashboard. The AI Citation Checks card shows the month's use and your top-up balance, with a button for each pack. The button opens a Stripe checkout page. The checks are on your account when the payment completes.

From the API. GET /citations/topups lists the packs and your balance. One entry from packs:

{
  "key": "500",
  "checks": 500,
  "price_cents": 1000,
  "price_usd": 10.0,
  "per_check_usd": 0.02,
  "label": "500 AI citation checks"
}

To buy, post the pack key. The response is a checkout URL to open in a browser. The API does not charge a saved card.

curl -X POST "https://seoscoreapi.com/citations/topups/checkout" \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"pack": "500"}'

From the email. If a tracker stops for lack of checks, we send one email that month. It has a link that opens the payment page for the 500-check pack directly, with no sign-in. Opening it charges nothing. You pay on Stripe's page or you close it.

A free key gets a 403 from the API route. A top-up adds checks to a plan that has citation tracking. It is not a way to get tracking without a plan.

Auto-reload, if you want it

Buying a pack by hand means a tracker waits until you notice. If you would rather it never waits, you can turn on auto-reload. It is off unless you turn it on.

With it on, a run that needs more checks than you have is not refused. We charge the card on your subscription for one pack, add the checks, and the run goes ahead. You choose the pack. There is no limit on how many times it reloads: it adds a pack every time you run out, until you turn it off.

What keeps you in control:

  • A receipt for every charge. It arrives at once, says how many reloads there have been this month and what they total, and has a link to turn auto-reload off.
  • An email when a charge fails. If the card is declined, or your bank asks for a confirmation that an automatic charge cannot give, we tell you and do not retry that charge. The run waits, as it does with auto-reload off. After two failed charges in a row it pauses until you save the setting again.
  • It is turned on from the dashboard only. An API key cannot switch it on, so a leaked key cannot authorize charges. The API can read the setting with GET /citations/auto-reload.
  • It does not run on an account whose subscription payment is past due.

You can turn it off from the dashboard at any time, or from the link in any receipt.

Top-up or upgrade

Our position: do not upgrade for checks alone. On price per check, the top-up wins at every step.

Move Extra per month Extra checks per month Per extra check Same checks as top-ups
Starter to Basic $10 350 $0.029 $10 buys 500
Basic to Pro $24 1,000 $0.024 $20 buys 1,000
Pro to Ultra $60 2,500 $0.024 $46 buys 2,500

So if checks are the only thing you are short of, buy the pack.

Upgrade when one of these is true:

  • You are out of tracked prompts, not checks. A top-up adds checks. It does not raise the number of prompts you can track. Starter tracks 15 and Basic tracks 30. If you want to watch more questions, only a plan does that.
  • You run out every month. Auto-reload removes the manual purchase, but if you are buying a pack or two every month, compare the total with the next plan, which also raises your tracked prompts.
  • You want what else the plan has. Basic adds 800 standard audits a month, a GEO audit and 15 more accessibility audits over Starter. Pro adds 20 Deep Site Audits a month and competitive audits. If you would use those, the upgrade costs less than it looks.

And buy the top-up when the shortfall is a one-off: a launch month, a new competitor you want to watch for a few weeks, a client who asked for an extra reading.

Limits

  • We have no usage data on top-ups. They went on sale with this post. We do not yet know how often people run out, or which pack they pick. The comparison above is arithmetic on our price list, not a finding.
  • Top-ups do not make a cheap plan a daily tracker. The dedicated AI visibility tools run every prompt every day. Our Starter plan is a monthly reading of the default set. Twelve prompts on four engines, once a day at one sample, is 1,440 checks a month. You can buy your way there with packs, but at that volume Pro is the plan to be on.
  • Packs expire. Twelve months after purchase, unused checks in that pack are gone.
  • Nothing refills on its own unless you turn on auto-reload. With it off, a tracker that stops for lack of checks waits for the 1st.
  • The free tier cannot buy them.

If you are on a paid plan and have never run out, there is nothing to do. The pack is there for the month you do.