Site-Shot

Guide ·Jul 26, 2026 ·9 min read

How to Take Website Screenshots from Another Country

The web you see is not the web everyone sees. The same URL serves different ads in Berlin and Boston, different prices in São Paulo and Stockholm, a cookie-consent wall in Paris and none in Singapore — and sometimes a "not available in your region" page instead of any content at all. If you need proof of what a page really shows in a given market, you need a screenshot taken from that market.

Site-Shot renders screenshots through real country-specific IP addresses in 44 countries. Geotargeting is included with any paid plan, and the free no-signup browser tool captures from the United States. Since July 2026 you can pick the country right in the browser tool — no code required — or automate it with one API parameter.

This guide covers both paths, plus the four jobs people actually need this for.

The quick way: your browser, no signup

  1. Open site-shot.com and paste the URL you want to capture.
  2. In the Country dropdown, select United States. (The default is Direct connection, which renders from our data center without geo routing — pick a country explicitly to get a geo-targeted view.)
  3. Capture. The page is rendered in a real Chromium browser behind a US IP address, with US language, time zone, and geolocation defaults applied automatically.

US captures are free and require no account. Every other country in the dropdown unlocks with any paid plan — the selector shows exactly what's available right now, and every plan on the pricing page includes geotargeting for all supported countries.

A good first test: capture whatismycountry.com. It prints the detected country and city above the fold, so you can see the geo routing working with your own eyes.

What country-based screenshots are for

Verifying geo-targeted ad campaigns

If you run country-targeted campaigns — or sell ad placements — you need evidence that the right creative actually appears in the right market. A screenshot captured through a German IP shows the ads a German visitor is served, not what your office network gets.

One practical note: Site-Shot can block ads with no_ads=1 for clean captures, but for ad verification you want the opposite — leave ad blocking off so the creatives render.

Checking localized prices and content

Stores and SaaS products localize prices, currencies, promotions, and sometimes whole product catalogs by visitor location. Screenshots from each target market let you audit what's actually being shown: the currency symbol, the regional promo banner, the shipping notice. Capture the same product page from a few countries and compare them side by side.

Testing geo-blocking and region availability

When content is supposed to be restricted (or supposed to be available) in specific regions, a screenshot from inside the region is the test. This is the one use case where you should always set strict mode (strict_country=1, covered below): a silent fallback to a US IP would show you the US view and quietly invalidate the conclusion.

A page loaded from an EU IP address typically greets you with a GDPR consent dialog that US visitors never see; other regions have their own variants. Capturing your pages from an EU country shows exactly which banner fires and what it covers. (For the opposite need — clean captures without consent walls — add no_cookie_popup=1.)

Localization QA

Beyond prices and banners, a country-routed capture exercises the whole localized experience: the country parameter automatically sets the matching browser language, time zone, and geolocation coordinates, so date formats, translated UI, and locale-dependent layout render as a local would see them. Screenshots from each market make translation gaps and text-overflow bugs visible at a glance — including right-to-left rendering (for example country=EG with Arabic).

Automating it: the API

The browser tool is the fastest way to check one page. To monitor pages on a schedule or capture in bulk, use the API — plans start at $5/month for 2,000 screenshots (pricing), and every plan includes geotargeting.

One parameter does the work — use two-letter ISO country codes:

curl -o berlin.png "https://api.site-shot.com/?url=https://example.com&userkey=YOUR_API_KEY&country=DE&strict_country=1&format=png"

The same request in Python:

import requests

response = requests.get("https://api.site-shot.com/", params={
    "url": "https://example.com",
    "userkey": "YOUR_API_KEY",
    "country": "DE",           # two-letter ISO code
    "strict_country": 1,
    "format": "png",
}, timeout=70)

data = response.content
if data.startswith(b"{") and b'"error"' in data[:200]:
    # e.g. {"error": "country_unavailable"} — no capacity in that country right now
    raise RuntimeError(data.decode())

with open("berlin.png", "wb") as f:
    f.write(data)

And in Node.js:

const params = new URLSearchParams({
  url: "https://example.com",
  userkey: "YOUR_API_KEY",
  country: "DE",
  strict_country: "1",
  format: "png",
});

const res = await fetch(`https://api.site-shot.com/?${params}`);
const buf = Buffer.from(await res.arrayBuffer());

if (buf.subarray(0, 200).includes('"error"')) {
  throw new Error(buf.toString()); // e.g. {"error": "country_unavailable"}
}
await require("node:fs/promises").writeFile("berlin.png", buf);

Why strict_country matters

By default, if no proxy is available for the requested country at that moment, the request silently falls back to a US IP — you always get a screenshot, but not necessarily from where you asked. With strict_country=1 the request fails fast instead: you get an error response with "error": "country_unavailable" rather than a screenshot from the wrong country.

Rule of thumb: for casual previews, leave strict mode off. For anything where the country is the point — geo-blocking tests, ad verification, compliance evidence — always set strict_country=1, so a capture that couldn't be routed correctly fails loudly instead of lying quietly.

Fine-tuning the locale

country sets sensible defaults; three companion parameters override them independently:

Parameter What it controls Example
country Proxy IP location + default language, time zone, geolocation country=DE
strict_country Fail fast instead of falling back to a US IP strict_country=1
language Browser language / Accept-Language header language=ja
time_zone Browser time zone time_zone=Asia/Tokyo
geolocation GPS coordinates reported by the browser geolocation=48.8566,2.3522

So country=BR&language=en renders through a Brazilian IP with English browser language — useful for checking what an English-speaking traveler in Brazil would see. The full country list with each country's default settings lives on the countries reference page.

Any ISO 3166-1 alpha-2 code with live proxy capacity can be requested — 44 countries as of July 2026. The offered list is not a static table: Site-Shot verifies each proxy pool's real exit country against a majority vote of independent GeoIP sources and only offers countries with verified capacity, so the country selector on the homepage and the countries page always show the current list.

For more Python patterns — full-page captures, batching, mobile emulation — see How to Take a Website Screenshot with Python. To see how other screenshot APIs handle geotargeting (most require bringing your own proxies or gate it behind premium tiers), see our screenshot API comparison. AI agents can do all of the above through the official MCP server — see Site-Shot for AI agents.

FAQ

Can I take a screenshot of a website from another country for free? You can capture from the United States free in your browser with no signup at site-shot.com. All other supported countries are available on any paid plan — both in the browser tool and via the API.

How do I make sure the screenshot really comes from the right country? Site-Shot verifies each proxy pool's real exit country against a majority vote of independent GeoIP sources before offering it, and quarantines ambiguous exits. On top of that: set strict_country=1 so the request fails with "error": "country_unavailable" instead of silently falling back to a US IP, and spot-check your setup by capturing a geo-echo page like whatismycountry.com, which prints the detected country in the screenshot itself.

Which countries does Site-Shot support? 44 countries as of July 2026, across North and South America, Europe, Asia, Africa, and Oceania — including the US, UK, Germany, France, Japan, Brazil, and Singapore. The offering is derived from live verified proxy capacity, so the current list with per-country defaults is always on the countries page.

What's the difference between country and geolocation? country routes the request through an IP address in that country — it changes what servers detect about the visitor's network location. geolocation sets the GPS coordinates the browser reports to sites that ask for them. They can be combined to simulate both network and physical presence.

Do language and time zone follow the country automatically? Yes. Setting country applies that country's default browser language, time zone, and geolocation. Any of them can be overridden by passing language, time_zone, or geolocation explicitly.


Capture your first screenshot free in your browser — no signup — at site-shot.com. Ready to capture from all supported countries? Get an API key on the pricing page, or read the API docs.

← All articles