Geonode logo

Rank Tracking Proxies: Monitor Rankings From Every Location You Serve

Quick answer

Rank tracking needs rotating residential proxies with country and city targeting, because search engines personalise results by the searcher's location and rate-limit repeated queries from one IP. Geonode residential proxies give you 2.5M IPs online across 195+ countries, city-level targeting for local packs, and pay-as-you-go pricing from $0.27/GB at volume. This page covers tracking your rankings; competitor research lives on the SEO strategy page.

Why rank tracking breaks without the right proxies

Search results are location-specific down to the city. The map pack, the "near me" results and even the organic order change between two neighbourhoods. A tracker that queries from one cloud region reports one SERP and misses the one your customers in each market see, which makes multi-location ranking reports fiction.

Query volume is the second problem. A tracker checking hundreds of keywords several times a day from one IP hits CAPTCHA pages and HTTP 429 quickly, and datacenter ranges are already flagged. The result is gaps in your time series exactly when you need it most, such as after a migration or a core update.

The third problem is personalisation and consistency. Cookies, prior queries and session state tilt the results. A clean rank check needs a fresh residential IP per query, no cookies, and explicit language and location parameters so observations stay comparable.

Which Geonode proxy type fits

Residential proxies are the recommended product for rank tracking proxies. Country, state and city targeting (state and city cannot be combined) put each query where the searcher is, which is the only way to track local packs and location-dependent SERP features honestly. Rotating sessions give every query a fresh IP, so prior searches do not skew results.

ISP proxies from $1.25/IP fit monitoring your own pages: crawling for indexability and schema checks or fetching rendered versions from a stable address, with unlimited bandwidth per IP. Rotating datacenter proxies from $0.14/GB are fine for your own sitemaps and robots files, which do not localise.

  • Residential — Best for: Rank checks, local packs and SERP features by city and country; IP source: Real home connections, 2.5M online; Session: Rotating or sticky up to 24h; Price from: $0.27/GB at volume
  • ISP (static residential) — Best for: Crawling and monitoring your own pages from a stable IP; IP source: Static IPs from real ISPs; Session: Unlimited sessions, unlimited bandwidth per IP; Price from: $1.25/IP
  • Datacenter — Best for: Sitemaps, robots and technical checks on your own domain; IP source: Datacenter ranges; Session: Rotating; Price from: $0.14/GB

If you would rather not parse result pages yourself, the Scraper API returns rendered HTML, Markdown or JSON and has a ready Google target in Unlimited Scraper.

How to set it up

  1. Create an account and open the residential product. The endpoint is premium-residential.geonode.com:9000 for HTTP, HTTPS and SOCKS5; the same credentials work in scripts and most rank-tracking tools.
  2. Define one username per tracked location: -country-us-city-denver for a local campaign, -country-fr for a national one. Store the mapping with your keyword list so every row carries its location.
  3. Use rotating sessions for rank checks by leaving out the session suffix. Each query takes a fresh IP, and you send explicit language and location parameters instead of relying on cookies.
  4. Parse organic positions, local pack entries, featured snippets, People Also Ask and other SERP features separately. A page that moves from position 3 to a featured snippet is not a drop.
  5. Run your own-page monitoring, such as indexability, canonical, hreflang and schema checks, through an ISP IP so the crawl is stable and does not share limits with the rank checks.
# verify endpoint against docs.geonode.com before publishing
import requests

USER = "USERNAME-country-us-city-denver"   # rotating: no -session- suffix
PASS = "PASSWORD"
proxy = f"http://{USER}:{PASS}@premium-residential.geonode.com:9000"

r = requests.get(
    "https://www.google.com/search",
    params={"q": "emergency plumber", "hl": "en", "gl": "us", "num": 20},
    proxies={"http": proxy, "https": proxy},
    headers={"Accept-Language": "en-US,en;q=0.9"},
    timeout=30,
)
print(r.status_code, "local pack" if "data-local" in r.text else "no pack detected")

Get the exact snippet for your language from the API Code Generator in the dashboard.

Rank tracking-specific settings that matter

Rotating for checks, sticky for audits

Rank checks should rotate so no two queries share an IP or cookies. Audits of your own pages are the opposite: use a sticky session or an ISP IP so the crawler is one consistent visitor your server logs can allow-list.

City targeting for local packs

Map packs and "near me" queries are decided by the searcher's city. Target by city for local campaigns and by country for national keywords, and remember the two cannot be combined with state targeting.

Explicit locale parameters

Set the language and country parameters on the query and send a matching Accept-Language header. The IP tells the engine where you are; the parameters tell it which interface and results to return. Log both.

Frequency and back-off

Daily checks are enough for most keywords; hourly checks belong to launches and incidents. Back off exponentially on CAPTCHA pages and 429s, and rotate to a new IP after a CAPTCHA rather than retrying through it.

What to log

Store keyword, location, IP country and city, timestamp, every SERP feature present, your URL's position and the top results. Position without feature context misleads, and a change in which of your URLs ranks is often the real story.

What Geonode gives you for rank tracking

  • 2.5M residential IPs online across 195+ countries, 30–50M unique IPs rotating monthly.
  • Country, state and city targeting in the username for location-accurate SERPs.
  • Rotating sessions for clean, unpersonalised checks; sticky up to 24 hours for audits.
  • ISP proxies with unlimited bandwidth for crawling and monitoring your own pages.
  • Scraper API with rendering and a ready Google target, no fixed concurrency limit, 24/7 support.

Pricing for rank tracking

Residential traffic is pay-as-you-go with no contract. Entry is 10 GB for $7.92 per month ($0.792/GB), 50 GB is $34.65, and the rate reaches $0.27/GB at volume. A 3-day trial costs $5. ISP proxies start at $1.25/IP for own-site monitoring, and rotating datacenter proxies at $0.14/GB for technical checks. Compare tiers on the pricing page.

FAQ

Why do rank tracking proxies need city targeting?

Local packs and location-dependent organic results are decided by the searcher's city. Querying from one location reports one SERP. City targeting lets you check each market you serve and track the local pack where your business actually competes.

How often should I run rank checks?

Daily is enough for most keywords, with a weekly full set for the long tail. Increase frequency only around launches, migrations or algorithm updates. More frequent checks cost bandwidth and draw rate limits without changing the decisions you make.

Do rank tracking proxies work with my existing rank tracker?

Most self-hosted trackers accept an HTTP or SOCKS5 proxy. Enter the endpoint and a targeted username, and the tool routes queries through the chosen location. If you parse SERPs yourself, the Scraper API can return rendered Markdown or JSON instead.

How is this different from the SEO strategy page?

This page is about tracking rankings, SERP features and your own pages over time. The SEO strategy refinement page covers competitor and keyword research, where you collect other sites' data. The proxy setup is similar, but the workflows and data models differ.

Is automated rank tracking compliant?

Keep query rates reasonable, respect search engine terms and robots policies, and monitor only sites you own or manage with authorisation when crawling pages. Geonode's acceptable use policy prohibits fraud, spam and credential abuse, and we enforce it for all users.

Can I monitor my own pages for indexability and schema?

Yes. Use an ISP IP so the crawl comes from a stable address you can allow-list in your firewall, and check canonicals, hreflang, status codes and structured data on a schedule. Unlimited bandwidth per IP keeps full-site crawls off the gigabyte meter.

Start

Set up one username per location and run the $5 trial on your core keyword set. Get started or Contact sales for volume pricing or help wiring the proxies into your tracker.

Related: Google SERP scraping · SEO strategy refinement · Search engine crawling