Documentation Python quickstart Blog Free tools hello@quanticdata.ioLog in

Geo-Targeted Proxies: 987 Words UK vs 149 DE

Same URL, different exit country, different page: bet365 rendered 987 words from the UK, 149 from Germany and 2,031 from the US; OKX 623 words from Germany, 464 from Singapore and 371 from the US; Etsy 678 words from the US and 8 from Germany, all through residential proxies in September 2026
Same URL, different exit country, different page: bet365 rendered 987 words from the UK, 149 from Germany and 2,031 from the US; OKX 623 words from Germany, 464 from Singapore and 371 from the US; Etsy 678 words from the US and 8 from Germany, all through residential proxies in September 2026

The same bet365 URL, rendered through residential exits on 26 September 2026, returned 987 words from the United Kingdom, 149 from Germany and 2,031 from the United States. Nothing was translated: each exit landed on a different licensed product, and the title changed before a byte of JavaScript ran. On 18 of the 53 sites we measured, geo-targeted proxies change the page itself, not the language: the domain on AliExpress, the legal entity on OKX, the price line on Netflix, the number format on Facebook and LinkedIn, and on YouTube whether the channel page exists at all. Pin the exit country per job, or you are comparing two different pages and calling them one.

The search results define the feature and never measure it

Search for geo-targeted proxies and you get ten vendor pages that define the term the same way: choose a country, state or city for your IP. Search for proxy country and half the page is about proxy wars, the other half free proxy lists, and the AI Overview says a country proxy makes a website "see a local visitor". All of that is true and none of it tells you what the site does next. The interesting fact is not that you can pick a country. It is that on a third of the sites we measured the country picks the page.

Google documents the mechanism from the crawler's side. Its guide to locale-adaptive pages says Googlebot's default addresses appear to be in the USA, that it sends no Accept-Language, and that a site which returns different content by perceived country should treat a crawler from a country exactly as it treats a user from that country. A proxied client with a pinned exit and no Accept-Language is that crawler. What it sees is what the market sees, and the table below is what it saw.

Same URL, three exits, three products: bet365

The audit fetches the URL twice, as a plain HTTP client and rendered, from the exit given. Without JavaScript bet365 is a 45,815-byte shell with zero words from every exit, and the canonical sits in the HTTP Link header rather than the HTML. Rendered, the same URL is three different sportsbooks.

ExitTitle served, before any scriptRendered words, 26 SeptemberRendered words, 28 September
United KingdomBet with bet365 – Live Online Betting Sportsbook987466
Germanybet365 - Sportwetten Online1493
United Statesbet365 - Sportsbook and Casino Betting2,031n/a

Two things in that table matter beyond bet365. First, the rendered count moves day to day, because the rendered page is the live offer: 987 words on a Friday with a full card, 466 today, and the German product 149 then and 3 now. The ratio between exits is the finding, not the absolute figure, and the ratio held. Second, the exit is visible in the shell: the title differs per country in the plain HTTP response, so a market check does not even need the render to confirm which product it reached. The full measurement is in our bet365 post, with the one line that governs everything else: the Terms say you may only register for one Account, and no exit country changes that.

Eighteen sites where the exit changes the page

Each row is one URL fetched from two exits with the same client, plain HTTP unless the row says rendered, no cookies, no Accept-Language. The words column is what each exit returned; the last column is what actually changed.

SiteExit AExit BWhat the exit changedSetting
bet365, renderedUK 987DE 149, US 2,031the licensed product and the titlerendered, one exit per market
AliExpressUS 519DE 427the domain: aliexpress.us against de.aliexpress.com, dollars against eurosplain HTTP for the home, collector for listings
OKXDE 623SG 464, US 371the entity: OKX Europe, OKX Singapore, OKX United States, three canonicalsplain HTTP, pin the market
NetflixUS 466DE 485the h1 and the price line: $8.99 to $26.99 against 6,99 € to 21,99 €plain HTTP, one exit per market
FacebookUS: 28,729,210 followersDE: 28.729.208 Followerthe number formatplain HTTP, country=us
LinkedInUS 1,993DE 1,9727,122,889 followers becomes 7.122.892 Follower:innenplain HTTP, country=us
YouTubeUS 15, with the channel IDDE 212a consent page replaces the channel; no ID, no subscriber countplain HTTP, country=us
Shopee (shopee.sg)SG 1,427ID 0a 163,632-byte shell without a titleplain HTTP, exit of the domain
KayakUS 2,451GB 2,124redirect to kayak.co.uk, "Rental Cars" becomes "Hire Cars"plain HTTP, pin the storefront
IndeedUS 2,394GB 216redirect to uk.indeed.com, CVs and poundsplain HTTP, country=us
EtsyUS 678DE 8, GB 8the page exists for a US exit onlyplain HTTP, country=us
DraftKingsUS 647CA 697a different sportsbook; the NFL page 5,418 against 5,611 wordsplain HTTP, country=us
DoorDashUS 485CA 544a different template and title stringplain HTTP, country=us
GlassdoorUS 624GB 589the edition, glassdoor.com against glassdoor.co.ukplain HTTP, one exit per edition
SteamUS 2,792DE 2,687"Welcome to Steam" becomes "Willkommen bei Steam!"; prices follow cc=, not the exitplain HTTP, country=us, cc= for prices
RedditUS 574DE 930the interface chrome is localised; the posts do not changeplain HTTP, country=us
ExpediaUS 72GB 14the home page is served in full to a US exit onlyplain HTTP, country=us
Spotify plans pageUS: $12.99DE: 12,99 €the price and the plan list; Germany adds Duo and Familyplain HTTP, one exit per market

Not every difference is a different product. Reddit and Steam change the chrome and keep the content, Glassdoor changes the edition, and on Vinted, Zillow and Tripadvisor the exit changed nothing at all: 747 words from Germany as from the United States on Zillow, the same English page and canonical from Italy on Tripadvisor. That is the reason to measure rather than assume. The rule is not "every site is geo-adaptive"; it is "one audit from a second exit tells you whether this one is, and the table says which ones are".

Four things the exit changes: the domain, the entity, the price, the number

The domain. AliExpress answered a US exit by redirecting aliexpress.com to aliexpress.us with gatewayAdapt=glo2usa in the query string, and a German exit to de.aliexpress.com with glo2deu. Rotate exits without pinning and you write dollar prices from one catalogue and euro prices from another into the same table under the same product IDs, with nothing in the status code to tell you.

The entity. OKX served 623 words and the title "OKX Europe" to a German exit, 464 words and "OKX Singapore" to a Singapore exit, 371 words and "OKX United States" to a US one, each with its own h1 and canonical, on the same URL. Those are three regulated entities with three product lists. Its public ticker, by contrast, returned the same 364-byte object from every exit, which is the other half of the rule: pin the exit for the page, ignore it for the endpoint.

The price. Netflix is the platform where the exit is the product. Plain HTTP, no JavaScript, three exits: $8.99 to $26.99 a month from the United States, £7.99 to £20.99 from the United Kingdom, 6,99 € to 21,99 € from Germany, each under a different h1. Spotify's Individual plan reads $12.99 from a US exit and 12,99 € from a German one. Steam is the exception that proves it: the storefront language follows the exit, but the price follows the cc= parameter, $59.99 with cc=us and 59,99 € with cc=de from the same exit.

The number. Facebook's og:description reads "28,729,210 followers" to a US exit and "28.729.208 Follower" to a German one; LinkedIn's meta description reads "7,122,889 followers" and "7.122.892 Follower:innen". A parser that strips commas turns the German figure into 28. This is the quietest failure in the table because every response is a 200 with a plausible integer in it, and the fix is two lines: pin country=us, and strip every separator before converting.

The exit can also remove the page: YouTube, Etsy, Indeed, Shopee

On four sites the second exit did not get a different page. It got no page. YouTube's channel URL from a US exit returns 15 words with the canonical resolving the handle to the channel ID and 15,100,000 subscribers in JSON-LD; from a German exit the same URL is a 212-word consent page at consent.youtube.com with no channel in it, plain or rendered. Etsy returns 678 words to a US exit and 8 to Germany and the United Kingdom. Indeed redirects a UK exit to uk.indeed.com and returns 216 words instead of 2,394. Shopee's Singapore site returns 1,427 words to a Singapore exit and a 163,632-byte shell with no title to an Indonesian one.

The instruction in each case is the same and it is not "try harder from the wrong country". It is: the site serves that page to that market, so read it from that market. A US exit for YouTube, Etsy and Indeed; the exit of the domain for Shopee, Idealista and Vinted; one exit per market for anything you are comparing across markets. Read the second-exit rows in the table before you size a pool, because a pool that rotates across countries on a geo-adaptive site produces a dataset that is internally inconsistent and looks fine.

What a market check costs

The cost of a geo comparison is one fetch per exit, and on most of these sites that fetch is plain HTTP. Counting a gigabyte as 10^9 bytes on residential Basic at $0.80/GB:

JobBytes per fetchFetches per GBCost per fetchCost for three markets
Netflix home, plain HTTP, one country659,6941,516$0.00053$0.00160
OKX home, plain HTTP, German exit90,69511,026$0.00007$0.00022
AliExpress home, plain HTTP, US exit405,1562,468$0.00032$0.00097
Facebook Page head, plain HTTP923,7941,082$0.00074$0.00222
bet365 home, rendered, UK exit440,6012,270$0.00035$0.00106
Etsy home, plain HTTP, US exit205,9114,856$0.00016n/a, US only

Three markets on Netflix cost a sixth of a cent. The expensive part of a geo check is never the bandwidth; it is a pool without country control, because the fetch that lands on the wrong market costs the same as the right one and is worth nothing. Through the web scraping API the same fetch is $0.0002 per page with the country passed as a parameter, and $0.001 with rendering for the sites like bet365 where the render is the page.

Where the exit is a line we do not cross

Every measurement above is a logged-out read of what a site serves a visitor from a country: prices, availability, titles, public counts. That is geo-checking, ad verification and market research, and it is what the exit country is for. The same sites draw the other line in their own terms. Netflix's Terms of Use, section 1.5, say you may access content primarily within the country where you established your account and only where the content is licensed. bet365's Terms say you may register for one Account. Moving an account across a border with an exit, or holding one from a market a site does not serve, breaches those terms, and no country setting changes that. We measure the pages; we do not move the accounts.

The setting that works on a locale-adaptive site

  • Network: residential proxies, Basic line at $0.80/GB, with country targeting per request. Every second-exit row in the table came through it; the variable was the country, never the address class, so Premium at $2.20/GB, mobile at $2.30/GB and ISP at $2.50 per IP per month buy nothing for a market check.
  • Fetch mode: engine: tls on 17 of the 18 sites; Netflix 466 words, OKX 623, AliExpress 519, Kayak 2,451, all plain. Rendered only where the render is the page: bet365, 987 words from the UK against a 45,815-byte shell.
  • Country to pin: the market you are measuring, one exit per market, and the same exit for every request in a comparison. The numbers that change when you do not: 987 against 149 on bet365, 678 against 8 on Etsy, 15 words with a channel ID against a 212-word consent page on YouTube, 28,729,210 against 28.729.208 on Facebook.
  • When the proxy is not enough: the collectors take the country as an input and return rows already scoped to it: aliexpress_search, 20 items in 4.47 seconds for the US catalogue; google_flights, 15 itineraries in 19.4 seconds in USD; hotels, 20 priced properties in 160 seconds. For the page as Markdown with the country as a parameter, the web scraping API at $0.0002 per page.
  • Free tier: every account gets $2 of free API usage per month, which is 10,000 plain market checks through the API before anything is billed.

Sources & further reading

FAQ

Quick answers on geo-targeted proxies.

Something else? Ask us →

Why does the same URL return a different word count from another country?

Because the site serves a different product to that market, not a translation. bet365 rendered 987 words from a UK exit, 149 from Germany and 2,031 from the United States on 26 September 2026, each under a different title that was already in the plain HTTP shell. OKX served 623 words and "OKX Europe" to Germany, 464 and "OKX Singapore" to Singapore, 371 and "OKX United States" to the US, with three different canonicals on one URL.

Which proxy type do I need for geo-targeting?

Residential Basic at $0.80/GB with country targeting per request. On all 18 sites in the table the variable that changed the page was the exit country; Premium at $2.20/GB, mobile at $2.30/GB and ISP at $2.50 per IP per month changed nothing for a market check. On 17 of the 18 the fetch is plain HTTP; only bet365 needs the render, at 440,601 bytes for 987 words.

Do I have to send an Accept-Language header to get the local page?

No, and you should not if you want what the market sees. Every measurement here sent no Accept-Language and the sites localised on the exit IP alone: Netflix served $8.99 to $26.99 to a US exit, £7.99 to £20.99 to a UK one and 6,99 € to 21,99 € to a German one. Google documents the same behaviour for its crawler, which sends no Accept-Language and appears to come from the USA by default.

How much does checking three markets cost?

One plain fetch per market at $0.80/GB, counting a gigabyte as 10^9 bytes: $0.00160 for three Netflix home pages of 659,694 bytes, $0.00022 for three OKX pages of 90,695 bytes, $0.00097 for three AliExpress pages of 405,156 bytes. bet365 rendered costs $0.00035 per market at 440,601 bytes. Through the web scraping API, $0.0002 per page with the country as a parameter.

What breaks when a pool rotates across countries?

The dataset stays plausible and becomes wrong. AliExpress writes dollar prices from aliexpress.us and euro prices from de.aliexpress.com under the same product IDs; a comma-stripping parser reads Facebook’s German "28.729.208 Follower" as 28; YouTube from a German exit returns a 212-word consent page with no channel ID instead of 15,100,000 subscribers. Every one of those is a 200 response. Pin one exit per market and keep it for the whole comparison.

Can a geo-targeted proxy move my account to another country?

That is the line we do not cross. Netflix’s Terms of Use, section 1.5, limit access primarily to the country where the account was established and to where content is licensed; bet365’s Terms allow one Account. Everything in this post is a logged-out read of what a site serves a visitor from a market: 987 words, 149 words, a price line, a follower count. No setting here signs in or moves an account.

See the page each market sees

One seo_audit call with a country code returns the plain and rendered view of any URL from that market. Every account gets $2 of free API usage per month, and failed requests are never billed.

Related reading