Automatic ranks · Bring your own SERP API key

Get your Google rankings automatically — with your own API key

Paste your keywords and domain, plug in a key from SerpApi, DataForSEO, Serper.dev or ScaleSERP, and the tool reads your position for each keyword — no tabs to open, no typing.

Prefer no API key? Open tabs & log manually · Free Chrome extension · Compare all three

0 keywords

From your serper.dev dashboard.

Advanced — proxy & language

Most providers block direct browser calls. Deploy the free Cloudflare Worker from the guide below and paste its URL here.

Your key and results stay in this browser. Press Alt+R to clear everything.

Automatic rankings, on your own terms

Fully automatic

Paste keywords, hit one button, and each keyword's Google position is fetched and filled in — no tabs, no manual typing.

Bring your own key

Works with Serper.dev, SerpApi, DataForSEO and ScaleSERP. Use the provider you already pay for — SerpHammer never marks up lookups.

Country & language

Check rankings the way a searcher in a specific country and language sees them, so your positions match real local results.

Exact ranking URL

See not just the position but which page of your site is ranking, so you know exactly what's winning the query.

Export anywhere

Copy as tab-separated text for Sheets and Excel, or download a CSV with keyword, rank and URL in one tap.

Your key stays yours

The key lives in your browser and is sent only to your provider or your own proxy — never to SerpHammer.

Three ways to check rankings — pick your method

Same keyword list, three different engines under the hood. Start free and manual, automate with your own API key, or install the free Chrome extension.

Manual

Bulk Keyword Search

Opens a real search tab per keyword; you read the result and type the rank.

  • Free, no key, no install
  • 100% private — nothing leaves your browser
  • Google, Bing, Yahoo & DuckDuckGo
  • You see exactly what a real visitor sees
  • You read and type each rank yourself
  • Slow for very large lists
Open manual tool
API · you're here

Rank Checker (API)

Calls a SERP API with your own key and reads each ranking automatically.

  • Fully automatic rank numbers
  • Handles big lists hands-off
  • Country & language targeting
  • Reliable, ToS-compliant data
  • Needs a paid SERP API key (per-lookup cost)
  • Most providers need a tiny proxy (CORS)
Set it up ↓
Extension

Chrome Extension

Reads the Google results page in tabs it opens and fills in the rank for you.

  • Free — no API key, no per-lookup cost
  • Automatic — reads real Google results
  • Nothing to pay per keyword
  • Chrome / Edge only, install required
  • Can break when Google changes its HTML
  • Keep batches small to avoid CAPTCHAs
Get the extension

How it works

  1. 1

    Add keywords & your domain

    Paste your keywords, one per line, and the domain you want to rank-check (e.g. example.com).

  2. 2

    Pick a provider & paste your key

    Choose Serper, SerpApi, DataForSEO or ScaleSERP, paste the API key from that provider, and set your country.

  3. 3

    Check & export

    Hit Check rankings. Positions fill in live; then copy the table or download a CSV.

Setup & detailed help

Getting an API key

Sign up with any one provider and copy your key from its dashboard: Serper.dev and ScaleSERP use a single API key; SerpApi uses your private API key; DataForSEO uses Basic auth — paste the Base64 of email:password. Each provider sets its own pricing and free allowance.

The CORS proxy (why & how)

Browsers block calls that expose an API key across origins, so most SERP APIs reject direct requests from this page. Fix it once: deploy the free Cloudflare Worker below, then paste its URL into Proxy URL. The tool then routes every request through your proxy, which safely forwards it to the provider.

Where your key lives

Your key is saved only in this browser's local storage and is sent only to the provider or the proxy URL you enter — never to SerpHammer. On a shared computer, use a proxy so the key sits on your server, or hit Clear all when you're done.

Reading the results

Found shows your position (1 = top) plus the exact URL that ranks. Not in top 100 means your domain wasn't in the first 100 organic results for that country. You can still type a value into any rank cell to override it.

Country & language

Country sets Google's gl parameter (and DataForSEO's location); language sets hl. Match these to your audience — a US English check and a German check can return very different positions for the same keyword.

Cost & limits

Each keyword is one API request. A 200-keyword check is 200 requests against your provider's plan. The tool paces requests slightly to stay friendly with rate limits; big lists simply take a little longer.

Free CORS proxy — a Cloudflare Worker

Create a Worker at dash.cloudflare.com → Workers & Pages → Create → Worker, paste this, deploy, and use its *.workers.dev URL in the Proxy field. It only forwards to known SERP hosts and adds no keys of its own.

export default {
  async fetch(request) {
    const cors = {
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Methods": "POST, OPTIONS",
      "Access-Control-Allow-Headers": "Content-Type"
    };
    if (request.method === "OPTIONS") return new Response(null, { headers: cors });
    if (request.method !== "POST") return new Response("POST only", { status: 405, headers: cors });

    const { url, method, headers, body } = await request.json();
    const allow = ["google.serper.dev", "serpapi.com", "api.scaleserp.com", "api.dataforseo.com"];
    let host = "";
    try { host = new URL(url).hostname; } catch (e) {}
    if (!allow.includes(host)) return new Response("Host not allowed", { status: 403, headers: cors });

    const upstream = await fetch(url, { method: method || "GET", headers: headers || {}, body });
    const text = await upstream.text();
    return new Response(text, {
      status: upstream.status,
      headers: { ...cors, "Content-Type": upstream.headers.get("Content-Type") || "application/json" }
    });
  }
};

Frequently asked questions

How is this different from the manual Bulk Keyword Search?

The manual tool opens a search tab per keyword and you type the rank yourself. This API edition calls a SERP API with your own key and reads the ranking automatically, so you get position numbers without opening any tabs. Both are free to use; the API edition needs a key from a SERP data provider.

Which SERP API providers are supported?

Serper.dev, SerpApi, DataForSEO and ScaleSERP. You paste your own key from any one of them. Pricing and free tiers are set by each provider, not by SerpHammer.

Why do I get a CORS or network error?

Most SERP APIs block requests made directly from a browser to protect your key. When that happens, deploy the tiny Cloudflare Worker proxy described in our guide, paste its URL into the Proxy field, and the tool will route requests through it. Providers that allow browser calls work with the Proxy field left blank.

Is my API key safe?

Your key is stored only in your browser's local storage on this device and is sent only to the provider you chose (or to the proxy URL you supply). It is never sent to SerpHammer. Use Clear all to remove it. For shared computers, use a proxy so the key lives on your server instead.

Does it cost money to run?

The tool is free. The SERP API lookups are billed by your provider — typically a fraction of a cent to a few cents per keyword, and most providers include a free monthly allowance. One rank check uses one API request per keyword.

Can I export the rankings?

Yes. Copy the table as tab-separated text to paste into Google Sheets or Excel, or download a CSV with the keyword, rank and the exact ranking URL for each row.