Use Cases / SEO Rank Tracking

SEO Rank Tracking

Search rankings change daily, vary by location, and differ between devices. If you are managing SEO for a website - especially across multiple countries - you need to track rankings from the locations that matter to your business. Browser7's geo-targeting makes this straightforward.

What you can track

Keyword positions

Where your site appears for specific search queries. Track position changes daily to measure the impact of your SEO efforts and catch drops early.

SERP features

Featured snippets, People Also Ask, knowledge panels, and local packs. Know when your site gains or loses SERP features and which competitors hold them.

Competitor rankings

Track where competitors rank for your target keywords. Identify which competitors are gaining or losing ground and which new sites are entering your space.

Local and international rankings

Google shows different results in different countries and cities. Track how your site ranks in each market you serve, not just from your office location.

Check rankings for a keyword

This example scrapes Google search results for a keyword and extracts the organic ranking positions with titles and URLs. Use this as the building block for a rank tracking system.

from browser7 import Browser7
from bs4 import BeautifulSoup
import json

client = Browser7(api_key="b7_your_api_key")

result = client.render(
    "https://www.google.com/search?q=best+running+shoes",
    captcha="auto",
    country_code="US",
)

soup = BeautifulSoup(result.html, "html.parser")

rankings = []
for i, div in enumerate(soup.select("div.tF2Cxc"), 1):
    link = div.select_one("a")
    title = div.select_one("h3")

    rankings.append({
        "position": i,
        "title": title.get_text(strip=True) if title else None,
        "url": link.get("href", "") if link else None,
    })

print(json.dumps(rankings[:10], indent=2))

Google serves reCAPTCHAs to automated traffic, so captcha="auto" is recommended. See our Google scraping guide for pagination and additional SERP feature extraction.

Track rankings across countries

This is where Browser7's geo-targeting is particularly valuable. The same keyword returns different results in different countries - sometimes completely different. Track your position in every market you serve with a single script.

from browser7 import Browser7

client = Browser7(api_key="b7_your_api_key")

keyword = "best running shoes"
countries = ["US", "GB", "DE", "FR", "AU"]

for country in countries:
    result = client.render(
        f"https://www.google.com/search?q={keyword}",
        captcha="auto",
        country_code=country,
    )
    # Parse rankings for each country
    print(f"{country}: {len(result.html)} chars")

Browser7 supports 195 countries and city-level targeting. If you need to track local SEO rankings for specific cities (e.g. "plumber near me" from London vs Manchester), use the city parameter for even more precise results.

Why Browser7 works well for rank tracking

195-country geo-targeting

Most rank tracking tools support a limited set of countries or charge extra for international tracking. Browser7 supports every country at the same price, so adding a new market to your tracking is just changing a parameter.

Built-in CAPTCHA solving

Google aggressively serves CAPTCHAs to automated search requests. Browser7's captcha="auto" handles reCAPTCHA automatically, so your rank tracking pipeline does not get stuck on challenge pages.

Residential IPs for accurate results

Google may return different results for datacenter IPs vs residential IPs. Since Browser7 exclusively uses residential proxies, the search results you get match what real users see - which is what your rankings actually are.

Full SERP rendering

Google's search results page uses JavaScript to render features like People Also Ask, knowledge panels, and some ad formats. Browser7's full Chrome rendering captures everything on the page, not just the basic organic links.

What this costs

Every search result page costs $0.01. Here are some typical rank tracking workloads:

WorkloadPages/dayDaily costMonthly cost
100 keywords, 1 country, daily100$1$30
500 keywords, 5 countries, daily2,500$25$750
1,000 keywords, 10 countries, daily10,000$100$3,000

Related guides

Try it yourself

100 free renders - enough to check rankings for your top keywords, no payment required.