Keyword Position Tracker - Rank Change History
Pricing
$2.00 / 1,000 keyword checkeds
Keyword Position Tracker - Rank Change History
Track where your site ranks on Google for each keyword and country, and see what moved since your last check. No subscription: pay only for the checks you run.
Keyword Position Tracker
Know where your site ranks on Google for every keyword that matters, and see what moved since last time.
Add your keywords, your domain and the countries you care about. Keyword Position Tracker checks each keyword in each country, finds your site among the organic results and tells you its position. Run it again tomorrow or next week and it shows you what went up, what went down and what dropped out. There is no subscription. You pay only for the checks you run.
What it does
- Checks each keyword in each country and returns your position among organic results.
- Compares with your previous run and shows the previous position, the change and the trend (up, down, same, new, lost).
- Handles up to 200 keywords and 20 countries per run, desktop or mobile, in any Google interface language.
- Matches your whole domain, including www and subdomains, and returns the URL that ranks.
- Caps cost with maxPairs. Failed checks are not charged.
- Works with Apify Schedules to build a ranking history automatically.
How to use it
- Click Try for free (or Start).
- Enter your keywords (one per line), your domain (for example
example.com) and the countries. - Click Start. A run with a handful of keywords usually finishes in a minute or two.
- Open the Output tab to see your rankings, or export them as CSV, Excel or JSON.
- Optional: add a schedule so it runs every day or week, and an integration (email, Slack, Make, Zapier) to get the results after each run.
Example input:
{"keywords": ["rank tracker", "seo tools"],"domain": "example.com","countries": ["us", "gb"]}
Input
| Field | Default | What it does |
|---|---|---|
keywords | required | 1-200 keywords. Duplicates are removed for you. |
domain | required | Your site, e.g. example.com. With or without https:// and www.. |
countries | ["us"] | 1-20 country codes, e.g. us, gb, de. |
language | en | Google interface language, e.g. en, de, pt-BR. |
device | desktop | desktop or mobile results. |
depth | 10 | How many organic results to check per keyword (1-30). 10 means the first page. |
maxPairs | 100 | Cost cap: the most keyword x country checks in one run (1-2000). |
webhookUrl | none | Reserved for alerts, which are not available yet. Use Apify integrations for now. |
Output
One row for each keyword in each country. You can view it as a table in the Output tab or download it.
| keyword | country | rank | previousPosition | change | trend | url |
|---|---|---|---|---|---|---|
| rank tracker | us | 4 | 7 | 3 | up | https://example.com/tracker |
| seo tools | us | outside top 10 | 9 | - | lost | - |
| seo tools | gb | 8 | 8 | 0 | same | https://example.com/tools |
Example rows for illustration.
What the fields mean:
- position / rank: your position among organic results (ads are ignored), or "outside top N" when your site is not in the results you asked for.
- previousPosition / change: the position from your last successful check and the difference. Positive means you moved up.
- trend:
up,down,same,new(found for the first time or back in the results),lost(dropped out), orunknown(first check without a position, or a failed check). - url: the page of your site that ranks.
- checkedAt: when the keyword was checked.
- error: empty when all went well, otherwise the reason the check failed. A failed check is never reported as "not ranked" and is never charged.
Cost
You pay per check, with no monthly fee. A run has two parts, both billed to your Apify account:
- This actor: 2.00 USD per 1,000 checks (event
keyword-checked, one per keyword x country with a result). Failed checks are free. - Google search results, fetched by the official
apify/google-search-scraperactor that this actor runs for you. On the Apify FREE plan that is about 0.0045 USD per results page (cheaper on paid plans, e.g. 0.0018 USD on GOLD). One keyword at the default depth of 10 uses one page.
Example: 200 keywords in one country, checked every day for 30 days (6,000 checks) costs on the FREE plan about 27 USD for the search results plus 12 USD for this actor, around 39 USD in total. On paid Apify plans the search results cost less. Platform compute of this actor is not charged to you.
Tip: set maxPairs or a maximum cost per run in the run options to stay within budget. Prices can change, and Apify shows the current ones before you run.
Limitations
- Positions come from live Google results and can shift by a few places between runs.
- Only organic results count: no ads, AI Overviews or local map packs. No city-level targeting.
- Alerts are not built in yet. Use Apify integrations to receive the results after each run.
- Run one schedule per domain at a time: two runs of the same domain at the same moment can overwrite each other's history.
- The actor depends on the
apify/google-search-scraperactor. If that service has a problem, checks show an error and are not charged by us.
Privacy and responsibility
- The actor runs in your Apify account. The publisher of this actor does not store, receive or see your input, your results or your history.
- What is stored, and where. The history (a hash of each keyword, the country, language, device, the last position and the time of the check) is kept in a Key-Value Store named
serp-rank-tracker-historyin your Apify account. Results go to your run's dataset. You can view, export and delete everything at any time in Apify Console. - You choose the keywords and domains and you are responsible for that choice. Check the terms of the services involved and the law that applies to you before you run it.
- Not affiliated with Google. This actor is not affiliated with, endorsed by or sponsored by Google LLC. "Google" is used only to describe where the positions come from.
FAQ
How do I track my rankings over time? Run the actor on a schedule with the same domain and keywords. Each run compares with the previous one, and your history builds up automatically.
Can I start the history from scratch? Yes. In Apify Console open Storage, then Key-value stores, and delete the record for your domain (or the whole serp-rank-tracker-history store). The next run starts fresh.
Why does a keyword show unknown? It is the first check and your site was not found, the check failed, or you changed depth so the old and new positions cannot be compared.
Am I charged for errors? No. A check that fails is free on our side. You only pay for the search pages that were actually fetched.
Do you see my keywords? No. Everything stays in your own Apify account, and keywords in the history are stored as hashes.
Something not working, or missing a feature? Open an issue on this actor's page. We read every one and reply as soon as we can.
