SERP & RANK TRACKING1 GB free

The whole keyword set lands inside one window

A rank set has a deadline, not a rate limit.

www.google.com/search?q=running+shoes&gl=desample
Normal proxy0.00s
attempt 1 of 6
AI overview

Road runners generally fall into three categories — neutral, stability and motion control — chosen by gait rather than by brand.

shop.example › de › runningRunning Shoes — Neutral, Stability & TrailCompare road and trail models by drop, stack height and weight. Free returns within 30 days.
reviews.example › guides › running-shoesThe 14 Best Running Shoes, Tested Over 900kmWe ran every pair on road and treadmill and measured wear after 300, 600 and 900 kilometres.
forum.example › t › shoe-recommendationsShoe recommendations for a 3:30 marathon?Thread with 214 replies covering carbon plates, daily trainers and rotation strategies.
Rank grid · 6 keywords
DEFRGB
running shoes
trail running shoes
best marathon shoes
carbon plate shoes
running shoes sale
wide fit running shoes
— keyword dropped  US wrong country's results
4 cells lost, 2 answered with the wrong country
Edge Proxy0.00s
connecting
AI overview

Road runners generally fall into three categories — neutral, stability and motion control — chosen by gait rather than by brand.

shop.example › de › runningRunning Shoes — Neutral, Stability & TrailCompare road and trail models by drop, stack height and weight. Free returns within 30 days.
reviews.example › guides › running-shoesThe 14 Best Running Shoes, Tested Over 900kmWe ran every pair on road and treadmill and measured wear after 300, 600 and 900 kilometres.
forum.example › t › shoe-recommendationsShoe recommendations for a 3:30 marathon?Thread with 214 replies covering carbon plates, daily trainers and rotation strategies.
Rank grid · 6 keywords
DEFRGB
running shoes
trail running shoes
best marathon shoes
carbon plate shoes
running shoes sale
wide fit running shoes
n position in the requested market
18 of 18 cells, one pass

Sample result set and ranks, illustrative. The block wording is Google's own /sorry page.

#1most-requested target: Google
17+upstream networks behind one address
10 mindefault sticky window, raised on request
Per GBpay for what you use; failed attempts not billed

You find it in the client's chart on Tuesday

You already handle 429s. What you do not catch is a result set localised to the wrong country, a truncated first page, or a `showing results for` rewrite. Those come back 200 and parse cleanly, so the run finishes green, the diff is computed against a page you never asked for, and the four-place drop it reports never happened.

The exit arrives at Google already spentReputation is scored per target

Rank trackers concentrate on one host, and shared residential ranges carry that concentration from every tenant at once. The pool checked that the exit answers, not that it still returns an unthrottled SERP.

google.com is scored as its own surface, separately from every other host you run, so an exit that just tripped a sorry page leaves that rotation without touching anything else.

Every retry costs a full page renderFailed attempts absorbed, not billed

When a SERP will not render without JavaScript, the vertical moves to headless Chrome. A block is then not a cheap error response — it is a full render you paid for, and cost per keyword stops being quotable.

Sorry redirect, consent bounce, 429, reset — the edge re-runs the attempt through a different exit and absorbs it. You pay for what the edge hands you, not for the attempts it swallowed. A stripped page that arrives as a clean 200 still bills — that one is yours to catch.

Rotation fights Google's session modelSticky mode, keyed on your source IP

Consent cookies collected on the handshake can be validated against the address that earned them, and paginating start=10 out of a different exit can read as a fresh session with no history behind it.

Ask the operator for sticky mode: every connection from one machine then leaves through one exit, 10 minutes by default. Consent, page 1 and start=10 share an address, and a second chain needs a second machine.

City targeting you cannot checkCountry on the username, nothing finer

Pools sell a metro off a registry record. You ask for Chicago, the record agrees, the map pack comes back for another metro, and nothing in the response flags it — so the grid samples the wrong city.

Append -country-de, with no city or metro after it — one per-GB rate whatever country you ask for. Country is the finest egress we sell, so there is no metro label to disprove, and a malformed suffix fails auth outright.

Before you point a crawler at it.

Is this a SERP API? Do I get parsed JSON back?

No. It is a plain proxy endpoint — HTTP or SOCKS5 — and you get the raw response. Your parsers are the part you already own, and the part that changes when Google reshuffles its markup — you do not want a vendor's schema between you and the HTML, going stale on their release schedule. Point your existing client at HOST:PORT with a username and password.

Google needs JavaScript now. How do you deal with that?

We do not render for you. Keep your headless browser and its fingerprint and point it at the gateway as an HTTP proxy — Chromium sends the username and password itself, so nothing sits in between. We supply the exit, pick it per target, and re-run the attempt through another exit when it fails at the transport. Rendering is what makes retries expensive, which is why the internal re-runs are not billed to you.

How do I hold the window when attempts are being re-run internally?

Size the run for attempts, not for keywords. A re-run costs wall-clock time inside one connection, so the lever is concurrency: drive more workers, and start the set far enough ahead of the deadline that a slow keyword loses its own place in the queue rather than the whole window. If the shape of the run is steady, the unlimited plans are sold by concurrency — 2, 4 or 10 connections.

A soft block comes back 200. You cannot catch that.

Correct, and we do not read your SERP. Transport-level failures — sorry redirect, consent bounce, 429, reset — are re-run inside the edge and absorbed. A challenge or a stripped page served as a clean 200 with a normal-looking body is invisible to us, so keep your own validation in front of the sink: a result-count floor, and a check that the query was not rewritten. Fail it and re-issue the keyword.

Can I target a city, a metro or a postcode?

No. The suffix takes a two-letter lowercase country code and nothing finer: USER-country-us. Anything more local has to come from the search parameters you already set, and we will not sell a metro label you cannot verify. A malformed suffix fails authentication, and a country with no healthy exit fails the connection — you get an error, never a silent fallback to another country. The first 1 GB is free, so test a country before a keyword set moves.

One credential, every job.

All six →

Run one keyword set on the free 1 GB

Point your tracker at the endpoint on your dashboard with -country-de on the username, then diff a day of results against your current pool. 1 GB free, and traffic never expires.

Get 1 GB free