Keyword Position Checker Free Tool
Enter your domain name :
Keywords :
Check Positions upto :
Enter keywords in separate line.
Example:
keyword1
keyword2
keyword3
Processing...
About Keyword Position Checker
What This Tool Actually Does
Enter a domain, paste in a list of keywords (one per line), pick how many results deep to search, and this tool checks each keyword against live Google and Yahoo search results, then reports back the exact position your domain holds for each one, right now. That's the whole job: one domain, several keywords, two search engines, a single live snapshot each time you run it.
It's worth saying plainly up front what this tool is not, because "keyword position checker" and "rank tracker" get used interchangeably online in a way that oversells what a free, no-signup tool like this one can realistically do. This tool does not schedule daily or weekly checks, does not store a history of your past results, does not send alerts, and does not track competitors automatically. Every check you run is a fresh, one-time lookup, gone the moment you leave the page unless you write the numbers down yourself. If you need scheduled tracking with historical charts, that's a different category of paid product; what's here is a fast, free way to answer "roughly where do I stand right now" for a handful of keywords at a time.
It's also worth being precise about which search engines this actually checks, because the page's own older marketing copy is broader than what the tool genuinely does today. Reading the underlying code directly (not guessing from the label): this tool queries Google and Yahoo, and only those two. It does not check Bing, Ask, or AOL, regardless of what older promotional text on this page might suggest. Two real, live search engines, checked honestly, is the accurate scope of what you're getting.
Who actually reaches for a tool like this: a site owner who just published or updated a page and wants a quick read on where it landed, a freelance SEO doing a fast client check without opening a paid platform, someone comparing their own position against a specific competitor for one or two important terms, or anyone who simply wants a second opinion on a ranking claim before repeating it. None of those uses require history, scheduling, or alerts, they just need an honest, current number, which is exactly what this tool is built to provide.
How the Check Works, Step by Step
Here's what actually happens between clicking Check and seeing a result, described the way the code behind this page runs it.
- Your domain and keyword list are validated in your browser first. The domain field gets cleaned up automatically (any
http://orhttps://prefix and anything after a slash gets stripped, and.comgets appended if you typed a name with no dot at all), then checked against a domain-format pattern. An empty keyword box is rejected before anything is sent to the server. Nothing gets checked at all if either input looks wrong. - Keywords are checked one at a time, in sequence, not all at once. If you paste in ten keywords, the tool works through them one after another with a short pause between each request. That's a deliberate design choice, not a bug: checking keywords one by one, with pauses, looks far less like an automated script hammering a search engine than firing off ten requests simultaneously would.
- For each keyword, two separate live lookups run: one against Google, one against Yahoo. Both work the same underlying way: a direct request to the actual live search-results page for that keyword (not an official search API, not a paid SERP-data provider, an actual fetch of the page a browser would see), followed by parsing that page's HTML to pull out the organic result links, in order, skipping cached-page links, translated-page links, and internal search-refinement links that aren't real results.
- Each organic result is checked against your domain, one by one, counting position as it goes. The moment your domain's host shows up in a result link, that count becomes your position for that keyword on that engine. The
wwwprefix is normalized off both sides before comparing, sowww.example.comandexample.comare treated as the same domain. - If your domain isn't found on the first page of results, the tool keeps paging, up to your chosen depth limit. When a results page shows a "Next" link and the depth limit hasn't been reached yet, the tool waits a few seconds (a random pause of roughly 2-4 seconds for Google, 3-5 seconds for Yahoo, deliberately varied rather than a fixed interval) before requesting the next page of ten results. That pause is a basic self-throttle, again designed to behave more like an unhurried human clicking through search results than an automated scraper.
- The result is reported as an exact position, or as "not found" within your chosen depth. If your domain turns up within the depth you selected, you get the exact position number, expressed as an ordinal ("14th," "97th," and so on). If it never appears within that depth, either because it genuinely doesn't rank there or because the results simply ran out before reaching your depth, you get an explicit message that it wasn't found in the top however-many results you asked for, not a blank cell and not a fabricated guess.
- Nothing from the check is stored anywhere. There's no caching layer and no saved history behind this tool. Every single check, for every keyword, is a fresh live fetch at the exact moment it runs. Run the identical check again five minutes later and you may see a different number, not because the tool is broken, but because search results themselves are not a fixed, static thing.
Two more mechanical details worth knowing plainly. First, this specific tool doesn't require a captcha or a login to use, confirmed directly against how this tool is configured on this site, so there's no extra verification step standing between entering your inputs and getting a result. Second, because each keyword triggers two separate live searches, and because a search that has to page through several rounds of results (each with its own multi-second pause) takes noticeably longer than one that finds a match on the first page, a long list of keywords, especially if several of them rank deep or don't rank in your chosen depth at all, can genuinely take a while to finish. That's the honest tradeoff of a real, careful scrape versus an instant lookup: it's slower, but it's checking actual live results rather than returning a cached or estimated number.
How to Use This Tool
- Open the page and find the two input fields above. One is for your domain, the other is a larger text box for your keyword list.
- Enter the domain you want to check. A bare domain like
example.comworks fine; you don't need to includehttps://orwww, and the tool cleans those up automatically if you do. - Add your keywords, one per line. Paste in as many as you want to check in this run, each on its own line in the box, exactly as you'd type them into a search box yourself.
- Choose how many results deep to search. The dropdown offers 50, 100, 200, 250, 300, 400, 450, or 500; 50 is selected by default. A deeper depth catches keywords ranking further down, but takes longer to finish because of the page-by-page checking described above.
- Click the check button. The tool immediately switches into results view and starts working through your keyword list one at a time.
- Read the results table as it fills in. Each row shows one keyword with its Google position and its Yahoo position side by side, updating in real time as each check finishes rather than all appearing at once.
Reading Your Results
Every row in the results table represents one keyword, with two separate outcomes next to it: one for Google, one for Yahoo. The two numbers are genuinely independent checks; there's no reason to expect them to match, and in practice they often won't.
| What you see | What it means |
|---|---|
| An ordinal position, e.g. "14th" | Your domain's exact rank position for that keyword on that engine, at the moment the check ran, counted from the actual organic results returned. |
| "Not found in the top [depth]" | Your domain didn't appear in the organic results within the depth limit you chose. It may genuinely rank beyond that depth, or it may not rank for that keyword at all on that engine — this message alone can't tell you which. Re-running the check with a higher depth (up to 500) narrows that down. |
| Different numbers for Google vs. Yahoo on the same keyword | Normal and expected. Google and Yahoo present their own separate result pages, weighted and ordered by their own systems; there's no reason to assume a domain sits in the same spot on both. |
One practical note on the depth setting: raising it doesn't just show you a bigger number if your domain ranks deep, it can also change a "not found" result into a real position, or vice versa, depending on where your domain actually sits. If a keyword comes back "not found" at the default depth of 50 and you have a specific reason to think you might rank somewhere between 50 and 200 (a new page that's been live for a while, for instance), it's worth re-running that one keyword at a higher depth before concluding you're simply not ranking for it at all.
Why a Single Position Check Can Differ From What You See Yourself
It's genuinely common to run a keyword through this tool, get a specific position back, then search that exact same keyword yourself and see your site somewhere else entirely, sometimes by a wide margin. That's not usually a sign anything is wrong with the tool. There are a few distinct, real reasons this happens, and they're worth understanding separately rather than as one vague "results vary" caveat.
Personalization and everyday SERP volatility
Google in particular tailors results based on the searcher: your location (even down to the city or neighborhood level), whether you're logged into a Google account and what your search history looks like, the device you're searching from, and ongoing layout experiments Google runs on a rolling basis across different users. This tool's check comes from wherever this site's server happens to be, logged out, with none of your personal search history behind it, which is a meaningfully different vantage point than your own browser. On top of personalization, rankings for competitive keywords simply move around day to day, sometimes hour to hour, as Google's own systems continuously re-evaluate the web. A position that reads 14th this morning can read 11th or 19th by evening, with nothing having changed on your end — that's normal SERP behavior, not a broken check.
The scraping-risk limitation, honestly stated
This tool works by directly fetching live search-results pages and parsing them, the same basic approach every free scraping-based rank checker uses, this one included, since there's no official, free Google or Yahoo ranking API for a tool like this to call instead. That means it carries the same inherent risk every scraper does: enough requests in a short window, from the same server, can in principle trigger a temporary block or a verification challenge from Google or Yahoo, the same kind of thing that can happen to any script or bot making repeated automated requests. The pauses between page requests described earlier exist specifically to reduce how often that happens, but they don't eliminate the possibility entirely. Worth knowing plainly: because the tool is simply looking for the normal structure of an organic results page, if a check ever did land on a blocked or challenge page instead of real results, the parser would find no matching links there either, which could show up to you as an ordinary "not found" result rather than a distinct "you were blocked" message. This is a real, structural limitation of scraping-based checking in general, not a hidden defect unique to this specific tool, and it's a big part of why this kind of free tool is genuinely different from a paid rank-tracking product built on licensed SERP-data feeds designed specifically to avoid that problem at scale.
No location or language targeting
This tool always checks the standard Google.com results in English, and the equivalent standard Yahoo results. It has no setting for checking a country-specific Google domain (google.co.uk, google.de, and so on), no way to simulate a different city or region, and no language switch. If your actual audience searches from a specific country, or in a language other than English, or your business depends heavily on very local "near me"-style results, this tool's single global, English-language snapshot won't reflect that targeting. It's checking the same broad, un-personalized version of the results for everyone who uses it, everywhere.
What "Keyword Position" Actually Means and Why It's Worth Tracking
A keyword's position is simply where your page lands in the ordered list of organic (non-paid, non-map, non-featured-snippet-only) results for a specific search term, on a specific search engine, at a specific moment. It's a single number, but it stands in for a lot of underlying work: how relevant a search engine currently judges your page to be for that exact phrase, weighed against every other page currently competing for the same spot.
Measuring real progress after an SEO change
Position checks are most useful as a before-and-after comparison around a specific, identifiable change: you rewrite a page's title tag and intro paragraph to better match search intent, you fix a page that was accidentally set to noindex, you consolidate two thin pages that were competing against each other into one stronger page, or you finally earn a genuinely relevant backlink from a respected site in your niche. Checking a keyword's position before making the change, then again a reasonable stretch of time afterward (search engines need time to recrawl and reprocess a page, so checking the next day rarely tells you much), gives you a real, if imperfect, read on whether that specific change moved the needle.
A practical version of this: check a keyword's position the day before you publish a substantial content update, note it down somewhere (this tool doesn't save it for you), then check the same keyword again roughly two to four weeks later, giving the search engine time to actually recrawl and re-evaluate the updated page. A move from, say, position 34 to position 19 over that window is a genuinely meaningful signal that the change helped, especially if nothing else about the page or its backlink profile shifted in the meantime. No movement at all, or a drop, doesn't automatically mean the change was wrong, but it's a fair prompt to look harder at what else might be holding the page back.
Watching the impact of a known algorithm update
Search engines roll out ranking-algorithm updates on an ongoing basis, some big and publicly named, many small and unannounced. When a notable update lands and you have reason to think it might have affected your niche, checking your core keywords' positions before and after gives you a concrete data point, rather than relying purely on a gut feeling that "traffic looks different lately." It won't tell you exactly why an update affected you the way it did, but a clear before-and-after position shift on your most important terms is a genuinely useful signal worth having on record.
Benchmarking against a specific competitor domain
You can run this same check against a competitor's domain instead of your own, for the exact same keyword list, simply by entering their domain in the domain field. Seeing that a competitor sits at position 6 for a keyword where you sit at position 22 tells you something concrete and specific: there's a real gap worth understanding, whether that's their content depth, their backlink profile, their site's technical health, or some combination. It's a starting point for investigation, not a full competitive audit on its own, but it's a genuinely useful, free way to get that starting point.
This works best when you already have a specific competitor in mind rather than trying to guess who's winning across a whole niche. Pick one or two domains you already know are strong in your space, run your full keyword list against each of them (one domain at a time, since the tool only checks one at a time), and line the results up next to your own. A pattern where a competitor consistently outranks you on informational, how-to style keywords but not on more transactional ones, for example, points toward a specific, actionable gap, content depth on the informational side, rather than a vague sense that "they're just ahead."
A Worked Example: Checking a Handful of Keywords
To make this concrete, here's a hypothetical walkthrough. (The domain, keywords, and positions below are illustrative examples only, not a real measured result for any actual site.)
Say you run a small home-improvement blog and you want a quick read on how five of your core keywords are doing before you start a content refresh project. You enter your domain, paste in five keywords, one per line, leave the depth at the default of 50, and click Check. The tool works through them one at a time, taking perhaps a minute or two in total since a couple of the keywords need to page through more than one round of results before either finding a match or exhausting the depth limit.
| Keyword (example only) | Google (example) | Yahoo (example) | What it suggests |
|---|---|---|---|
| best attic insulation type | 7th | 12th | Strong, page one on both engines. A good candidate to leave mostly alone and monitor rather than rework right now. |
| how to insulate a garage door | 23rd | Not found in the top 50 | Middling on Google, effectively invisible on Yahoo at this depth. Worth checking whether the page even targets this exact phrase clearly. |
| diy attic ladder installation | 41st | 38th | Just off page one on Google, similar on Yahoo. A realistic candidate for a content refresh aimed at moving into the top 20-30. |
| cheap home insulation ideas | Not found in the top 50 | Not found in the top 50 | Worth a re-check at a higher depth (say 200) before concluding you simply don't rank for this one at all, since "not found" at 50 doesn't rule out ranking further down. |
| attic insulation cost calculator | 3rd | 4th | Already strong on both engines. A good page to study for what's working before applying the same approach elsewhere. |
Note what this pass does and doesn't tell you. It gives you a fast, honest snapshot across five keywords on two engines, in one sitting, at zero cost. It doesn't tell you why the garage-door keyword underperforms on Yahoo specifically, whether a competitor recently outranked you on the "cheap insulation" phrase, or what your actual click-through and traffic look like for any of these terms; those are the next questions worth answering with a closer manual look and, ideally, your own first-party traffic data.
Using Rank Data the Right Way
Don't over-react to one day's number
A single check, on its own, is a snapshot, not a verdict. Search rankings move for all kinds of ordinary reasons that have nothing to do with anything you did: a competitor publishing new content, a seasonal shift in what searchers are looking for, routine day-to-day algorithm noise, or simple SERP volatility of the kind described earlier in this page. Seeing a keyword drop five spots overnight is rarely, by itself, a reason to panic or to make a hasty content change; it's a reason to keep an eye on it and see whether the movement holds over the following days or weeks.
Pair it with your own first-party ranking data
If your site is connected to Google Search Console, that's genuinely more authoritative for understanding your Google performance than any third-party scraping tool, this one included, because it reflects real impressions and real average positions actually seen by real searchers across every query your site showed up for, not a single simulated check from one server in one location. Use a tool like this one for fast, specific, on-demand checks, especially for a keyword you don't already have meaningful Search Console data for yet, or for checking a competitor's position (which Search Console obviously can't show you at all). Use Search Console as your primary source of truth for your own site's actual ranking performance over time.
Track the trend, not the snapshot
The single most useful way to use a tool like this is repeated, spaced-out checking on the same core set of keywords, not a one-off check you never look at again. Pick a manageable list of the keywords that actually matter to your business, check them at a consistent interval (weekly or monthly is plenty for most sites; daily checking mostly just captures noise), and write the results down somewhere, even a simple spreadsheet. A keyword that's genuinely climbing, checked five separate times over two months, tells you something real. The exact same keyword checked once tells you almost nothing about direction, only a single point in time.
Related Tools
A keyword's search position is only one piece of the picture. These related tools on this site cover other angles worth checking alongside it.
- Keyword Density Checker — once you know where a page ranks for a target keyword, this tool shows how heavily (or lightly) that page actually uses the keyword and its variations, a useful next check if a ranking looks weaker than the page's content quality would suggest.
- Keywords Suggestion Tool — a good way to build out the keyword list you check positions for in the first place, surfacing related terms and variations worth adding to your tracking list.
- Content Decay Scorer — the same "watch the trend, not one snapshot" discipline covered above applies to a page's broader performance over time, not just its keyword position; this tool flags pages that appear to be sliding so you know where to focus a refresh.
Frequently Asked Questions
Does this tool check Google and Yahoo, or more search engines?
Google and Yahoo, and only those two, verified directly against the code behind this tool. Any reference elsewhere on this page to additional engines reflects older, inaccurate copy, not what the tool actually checks today.
Why does it take a while to get results for several keywords?
Keywords are checked one at a time, not all at once, and each one runs two separate live searches (Google and Yahoo) that may need to page through several rounds of results, each with a short pause built in, before finding a match or exhausting your chosen depth. A short list checks quickly; a long list, or one with several deep-ranking or non-ranking keywords, takes longer.
What does "not found in the top [depth]" actually mean?
It means your domain didn't appear in the organic results within the depth you selected (50 up to 500). It doesn't necessarily mean you're not ranking at all for that keyword, only that you're not ranking within the specific window this check looked at. Re-running with a higher depth is the honest way to check further.
Why might my number look different from what I see when I search myself?
Because your own search is personalized (your location, account history, and device all shape what you see) and search results are naturally volatile day to day, while this tool's check comes from a single, un-personalized, logged-out vantage point. Both readings can be accurate for their own respective circumstances at the same time; see the "Why a Single Position Check Can Differ" section above for the full explanation.
Does this tool save my results or track my rankings over time?
No. There's no caching, no login, and no stored history behind this tool. Every check is a fresh, live lookup, and results exist only on screen unless you record them yourself. For genuine trend tracking, run the same keyword list at a consistent interval and keep your own log, as described above.
Is there a limit to how many keywords or domains I can check?
There's no fixed count enforced by the tool itself, though because each keyword is checked sequentially with built-in pauses, a very long list will simply take proportionally longer to finish rather than failing outright. There's also no login required, so you can check a new domain or a fresh keyword list at any time.
Which position depth should I choose?
Start with the default of 50 for a quick first pass; it's fast and covers the range most people actually care about. If a keyword comes back "not found" at 50 and you have a specific reason to think you might rank further down (an older page, a less competitive keyword), re-run just that keyword at a higher depth like 200 or 500. Checking everything at 500 by default works, but takes noticeably longer across a full keyword list because of the page-by-page pausing described earlier.