Rank tracking with an AI agent

Build the tracker from keywords you've already chosen, have the agent price one check with estimate_rank_tracker_cost before anything runs, and put it on a schedule, which costs about 30% of a manual check. Then ask for changes that line up with Search Console and with what you shipped, rather than reacting to every one-position move.

Updated 27 September 2026

In short

  • Track keywords you'll act on: the pages you're changing and the terms that bring customers.
  • Depth, devices and schedule set the cost. Both devices at depth 100 cost about 8 times as much per check as desktop at depth 20.
  • estimate_rank_tracker_cost is free, and exact for a manual run. Ask for it every time, and set maxCostCredits on manual runs.
  • Scheduled checks are queued rather than run live, which is why they cost about 30% of a manual check.
  • A one-position move on one check is usually noise. Believe moves that Search Console shows too.

What to track

A tracker is a list of up to 1,000 keywords checked against one domain, in one market, on the devices and to the depth you choose. Every keyword costs credits each time it's checked, so the list is a decision rather than a dump of everything research returned.

  • Keywords whose page you're changing. If you rewrote a title after reading the striking-distance report, track the query so you know whether it worked.
  • Keywords that bring customers: the ones your analytics or sales conversations tie to signups.
  • Keywords a competitor holds that you'd act on if they moved.

Leave out keywords you'll never act on, however high their volume. Search Console already reports your average position for every query you appear for, at no cost. A tracker adds what it can't: exact positions for a list you choose, per device, on a schedule, including keywords you don't rank for yet and results for a named city.

List my saved keywords for example.com. Suggest the 30 most worth tracking: the ones whose pages we're changing and the ones closest to what we sell, with a few words on each pick. Then wait for me.

Choose depth, devices and location

Three settings decide what a check tells you and what it costs.

  • Depth is how far down the results to look, from 10 to 100. A keyword ranking below the depth shows as not found. create_rank_tracker defaults to 100 and the dashboard to 20. Depth 20 answers most questions, such as whether you're on page one or close to it. Each extra page of results adds to the price of every check.
  • Devices can be desktop, mobile or both, and both doubles the cost. create_rank_tracker defaults to both, so name the device in the prompt. Track the device most of your customers search on unless you have a reason to think the two rank you differently.
  • Location is national by default. A locationName such as Austin,Texas,United States switches the tracker to city-level results, which matters for anything with a local customer.

For a sense of scale, here is one check of 50 keywords, priced by the same formula the product charges with:

  • Desktop only, depth 20: 250 credits for a manual check, 68 for a scheduled one.
  • Desktop and mobile, depth 20: 500 manual, 135 scheduled.
  • Desktop and mobile, depth 100: 2,000 manual, 596 scheduled.

Price it before it runs

estimate_rank_tracker_cost returns the credit cost of one check (exact for a manual run; a scheduled one can cost slightly more if a queued task falls back to a live check), the number of checks (keywords times devices) and roughly how long it will take. It's free. Pass trigger: "scheduled" to price a queued check; the default prices a manual, live one.

Create a manual rank tracker for example.com with the 30 keywords we picked, desktop only, depth 20. Tell me what one scheduled check would cost and what a month of weekly checks would cost. Don't run anything.

Behind that prompt the agent calls create_rank_tracker, which is free, then estimate_rank_tracker_cost with trigger: "scheduled". For this tracker the answer is 41 credits a check, about 164 a month on a weekly schedule. The tracker starts manual on purpose: a schedule starts running as soon as the tracker has one, and the MCP tools can't change a schedule afterwards. Once the price suits you, switch it to weekly on the tracker's page in the dashboard. Scheduled tracking needs Starter or above; on the free plan you run each check yourself.

The price follows the provider's per-page cost of a results page, plus IndexZero's published markup, rounded up per call. Manual checks are one call per keyword and device. Scheduled checks are queued and batched up to 100 per call, which is where the saving comes from. The cost model in the docs shows the arithmetic with worked examples.

Cap what a run can spend

run_rank_tracker starts an immediate live check and returns a run id, and the positions arrive in get_rank_tracker. It accepts maxCostCredits: if the estimate is above that number, the run is refused and nothing is charged. The budget is checked again inside the run against a fresh estimate, so a keyword list that grew since the last estimate can't overspend. Only one check per tracker runs at a time, and a second trigger fails rather than paying twice.

Run the example.com tracker now with maxCostCredits set to 200. Tell me when the positions are in.

A manual check of the 30-keyword tracker costs 150 credits, so 200 leaves some headroom without leaving the door open. Use manual runs for a one-off check after a change. For regular tracking, the schedule is cheaper and needs no prompt.

Scheduled checks respect the balance as well. Every paid call checks it first, so a scheduled check that runs out of credits stops there instead of running into debt, keeps the positions it already has, and the run records why.

Read changes without over-reading them

Positions move for reasons that have nothing to do with your page. A tracker samples one location and one device at one moment, and Google's own documentation says that for a specific search your position "might be different than the average" because of search history, location and other variables. So ask the agent for patterns rather than points.

  • Compare with Search Console. If the tracker and Search Console's average position both show a page moving, believe it. If only the tracker does, wait for the next check.
  • Read groups, not single keywords. Ten keywords for one page moving together says more than one keyword moving alone.
  • Tie moves to changes. Ask the agent to line up position changes with the dates you shipped fixes or new pages.
  • Mind the depth. A keyword that drops out of a depth-20 tracker hasn't vanished; it's below position 20.

get_rank_tracker gives the agent each keyword's latest and previous position per device, the ranking URL, and the last 10 runs. The full position history stays in the dashboard, and removing a keyword from a tracker keeps its history.

Read the example.com tracker. List keywords whose latest position moved 3 or more places from the previous check. For each, show Search Console's average position for the same query over the last 28 days, and say whether the two agree.

That prompt reads stored positions and your own Search Console data, so it costs nothing. Run it after each scheduled check, and save the answer as a short report when something moved. A few weeks of reports tell you more than any single check.

Adding and removing keywords

add_rank_tracking_keywords and remove_rank_tracking_keywords change the list without touching the settings. Adding is free, but every future check costs more, so ask for a fresh estimate afterwards. Removing a keyword keeps its history, so taking it out and putting it back later loses nothing.

Keywords usually arrive from keyword research with an AI agent, and a tracker is most useful alongside the other workflows in SEO with AI agents. For a quick look at how a title or description change might read in results, the free SERP simulator needs no account.

Frequently asked questions

How often should I check rankings?
Weekly suits most sites. It shows the effect of a change within a month, and it is 4 checks a month instead of 30. Daily is worth it during a migration or a launch, when you want to catch a drop quickly.
Why is a scheduled check cheaper than a manual one?
Scheduled checks go through the provider's task queue and are batched up to 100 per call. Manual checks run live, one call per keyword and device. The queued price is about 30% of the live one.
Can I track rankings in a specific city?
Yes. Give the tracker a canonical location name such as Austin,Texas,United States and it records city-level results. Omit it for national tracking.
Can I track rankings on the free plan?
Yes, with one tracker and manual checks you run yourself. Scheduled daily, weekly or monthly checks start at Starter.

Run it with your agent

Connect an agent to IndexZero

Every step in these guides is a tool call an agent can make. Connect Claude, ChatGPT, Cursor or Codex to IndexZero's MCP server and paste the prompts as they are. The free plan includes the MCP server and 2,000 credits a month.

Check one page first, free

More in this guide