SEO Keyword Tracker
Track daily Google positions for unlimited keywords, see what moved since the last check, and pull the keywords your competitors rank for and you don't.
api.dataforseo.com.
Position over time
Lower is better — position 1 sits at the top. Gaps are days the domain did not appear in the tracked depth.
Latest positions
| Keyword | Volume | Position | Change | Best | Ranking URL |
|---|
No keywords match that filter.
Gap keywords
| Keyword | Volume | KD | Comp 1 | Comp 2 | Comp 3 |
|---|
No gap keywords match those filters.
Ctrl+Enter check rankings · Alt+R clear this project's history
A rank tracker you own, not rent
Unlimited keywords, per-request pricing
There is no keyword cap and no plan tier, because there is no subscription. Check rankings queues one Google SERP request per keyword against your own DataForSEO balance, so a 500-keyword project costs the same per check as five 100-keyword ones.
A history ledger, not just today's number
Every check appends a dated row per keyword. The Change column compares today with the previous recorded day, Best keeps the strongest position ever seen, and the chart plots the whole series so a slow slide is visible before it becomes a problem.
Competitor gaps from real SERP data
The Keyword gap tab intersects your domain with up to three competitors and keeps only the queries where a rival ranks inside Competitor must rank within and you are absent. Volume, difficulty and every competitor position come straight from the API.
Honest about what it doesn't know
If your domain is not in the tracked depth, the tracker records no position rather than a stand-in number like 101. The chart draws a gap, the average ignores that day, and the table says Not in top N — so your trend line is never propped up by invented data.
One project per site or client
Each project carries its own target domain, keyword list, location, device, search depth and history. Switch from the Project dropdown; agencies can keep a client per project with nothing bleeding across.
Exports that open anywhere
Export gives you latest positions as CSV, the full dated ledger as CSV, a tab-separated copy that pastes straight into Google Sheets, and a JSON backup — which the same menu can load back in, so a project moves between browsers.
How it works
-
1
Connect DataForSEO
Paste your API login and password and hit Connect & verify. The tool makes one free metadata call to confirm the credentials work, then remembers them in this browser.
-
2
Set the target and paste keywords
Enter your domain, pick a location, device and search depth, then paste one keyword per line. Nothing is charged until you ask for data.
-
3
Check rankings, then come back tomorrow
Positions land in the table and the chart. Each later check adds a dated point, so the trend builds itself.
Tips & detailed help
Getting DataForSEO credentials
Register at dataforseo.com, open API Dashboard → API Access, and copy the API login (usually your email) and the API password — which is a generated string, not your dashboard login password. Accounts are pay-as-you-go: you top up a balance and each SERP request draws from it. Use Set up later if you want to look around the interface first; every button that costs money stays disabled until credentials verify.
Location, device and search depth
Location defaults to United States; pick a country from the list, or choose Custom location and type a DataForSEO location string such as London,England,United Kingdom to track a city. Device switches between desktop and mobile results, which genuinely differ — track the one your traffic actually uses. Search depth is how far down the results the tracker looks: Top 10 is the cheapest and enough for pages already on page one, while Top 100 costs more per keyword but is the only way to see a position of, say, 47 instead of a blank.
What “Check rankings” actually does
It posts one task per keyword to DataForSEO's Google organic endpoint, polls until each finishes (usually 10–40 seconds for a batch), then finds the best-ranking result whose domain matches your target — matching example.com also matches www.example.com and its subdomains. Cancel stops the polling; tasks already submitted are still billed by DataForSEO, so cancel early if you mis-typed. If today already has a recorded position for this project, you are asked to confirm before it re-checks and overwrites it.
Reading the chart and the Change column
The y-axis is inverted so position 1 is at the top and the line rising means you improved. The dropdown defaults to Average position, which averages only the keywords that actually ranked that day — pick a single keyword to see its own series. Change compares the latest position with the previous recorded day for that keyword, so ▲ 3 means you moved up three places and a dash means there is nothing to compare against yet. The CSV export writes the same figure as a signed number.
Search volumes and Discover keywords
Search volumes fetches average monthly search volume for every keyword in the list from Google Ads data and fills the Volume column — it is a separate, cheaper call than a rank check, and volumes rarely change, so run it once rather than daily. Discover keywords is a seeding aid: give it any domain and it returns the queries that domain gets Bing impressions for, which you can tick and import into your keyword list. Discovery is Bing-sourced; the ranks you then track are Google.
Storage, backups and limits
Projects and history live in this browser's localStorage under keys starting skt:. There is no account and no server copy, which also means no recovery — clearing site data wipes it. Browsers cap localStorage at roughly 5 MB, which comfortably holds tens of thousands of dated rows, but the tool will warn you if a write fails. Use Export → Project backup (JSON) before clearing anything, and Alt+R to deliberately wipe the current project's history while keeping its keywords and settings.
Frequently asked questions
Is the SEO Keyword Tracker free?
The tool itself is free and there is no seat fee, subscription or sign-up. Rank data comes from DataForSEO, which is a pay-as-you-go API you top up yourself, so you pay DataForSEO for the SERP requests you make and nothing to SerpHammer. A single keyword rank check costs a fraction of a cent at DataForSEO's list prices, which is why bringing your own key is dramatically cheaper than a per-keyword rank tracker subscription.
Why do I need my own DataForSEO login?
Real Google positions have to be fetched from a SERP provider, and that costs money per request. Rather than bundle a shared key that everyone would drain, the tracker calls DataForSEO directly from your browser using credentials you supply. Your login and password are stored only in this browser's localStorage and are sent only to api.dataforseo.com over HTTPS — SerpHammer has no server in the path and never receives them.
Where is my ranking history stored?
In your browser, using localStorage, under a key prefixed skt:. Nothing is uploaded to SerpHammer. That also means history is per-browser and per-device: clearing site data or switching machines loses it, so use Export CSV to keep an off-browser backup of anything you care about. If you want history in a spreadsheet, the CSV export opens directly in Google Sheets or Excel.
How often should I check rankings?
Once a day at most for the keywords you actively work on, and once a week is enough for the rest. Google results fluctuate hour to hour, so checking more often mostly buys you noise and a bigger DataForSEO bill. The tracker records at most one entry per keyword per day and warns you before re-checking a day it already has, so you cannot accidentally pay twice for the same snapshot.
What does a blank or “Not in top N” position mean?
It means your domain did not appear anywhere in the results the tracker looked at, down to the search depth you set. It is not the same as position 101 — the tracker deliberately stores no number rather than inventing one, so the chart shows a gap and the average position ignores that day. If you want more visibility, raise Search depth to 100, which costs more per check but reveals rankings deeper than the first page.
How does the keyword gap analysis work?
It runs a DataForSEO domain intersection between your domain and up to three competitors for the location you selected, then keeps only the keywords where at least one competitor ranks inside the depth you specify and your domain does not rank at all. Every search volume, difficulty score and competitor position shown comes straight from the API — nothing is estimated or generated. Any keyword in the results can be added to the tracked keyword list in one click.
Does it track Bing, or only Google?
Rank tracking is Google organic results only. There is one Bing-powered feature: Discover keywords, which uses DataForSEO's Bing keywords-for-site endpoint to list the queries a domain already gets impressions for, as a way to seed your keyword list. Those discovered keywords are then tracked in Google like any other.
Can I track more than one website?
Yes. Each project holds its own target domain, keyword list, location, device, search depth and ranking history, and you can create as many as you like with the + button beside the Project dropdown. Switching projects switches the whole view, so agencies can keep a client per project without their data mixing.
Install SEO Keyword Tracker