Getting different responses from different countries? Check the same request three ways.
If an endpoint redirects, localizes, or behaves differently by country, compare the same request from your normal connection and from the countries you need to test. The goal is to change one variable, the network route, and see whether the response changes with it.
When this test is useful
Use this pattern when you are:
- — debugging a geo-redirect that only some users see
- — verifying localized language, currency, pricing, or availability
- — reproducing a country-specific API or website bug
- — checking whether a response difference is tied to request origin rather than application state
Keep the variables controlled
Before comparing results, keep everything except the route the same:
- — same URL and HTTP method
- — same request headers
- — same cookies or authentication state
- — same query parameters and request body
- — same client and command options
If you change headers, cookies, user agent, and country at the same time, you cannot tell which change caused the response difference.
Quick comparison
This recorded example uses the same Google Store header request from a direct connection, the US, and Germany.
Direct
curl -sSI https://store.google.com/ | grep -i '^location:' Recorded example: Location: https://store.google.com/?hl=lt
From the US
shellroute run US -- curl -sSI https://store.google.com/ | grep -i '^location:' Recorded example: Location: https://store.google.com/?hl=en-US
From Germany
shellroute run DE -- curl -sSI https://store.google.com/ | grep -i '^location:' Recorded example: Location: https://store.google.com/?hl=de
In this recorded comparison, the request stayed the same while the redirect target changed with the route.
What to compare
The Location header is useful for redirect debugging, but it is not the only signal. Depending on the bug, compare:
- — HTTP status code
- — redirect target
- — selected response headers such as
Location,Content-Language, cache headers, or application-specific headers - — response body or a body fingerprint when it is safe to capture one
For authenticated or sensitive endpoints, avoid logging credentials, private response bodies, session tokens, or other secrets just to make the comparison.
How to interpret the result
If the response changes by country: you have evidence that network origin is one input to the behavior you are seeing. That does not prove the root cause by itself, but it narrows the investigation toward geo-routing, localization, regional availability, CDN logic, or similar origin-dependent behavior.
If the response does not change: that result is useful too. It means this particular request did not reproduce a country-dependent difference at that moment. Check whether the behavior depends on another controlled input such as cookies, account state, headers, cache state, or a different endpoint before concluding geography is irrelevant.
Results above are one recorded example, not a guarantee that Google Store will always return the same locale values. Third-party behavior can change.
Want to try the same diagnostic with your own endpoint?
Install Shellroute and follow the Quickstart