Website screenshot localization
Configure the visitor’s language, locale, time zone, and location to capture how a website appears for a specific audience. These settings can affect the language, date and number formatting, local times, and regional content displayed in the screenshot.
Choose the localization settings
Section titled “Choose the localization settings”Use the settings that match how the website chooses its content:
| Setting | ScreenshotOne option | What it controls |
|---|---|---|
| Language and locale | Accept-Language through headers | Preferred language and the browser’s locale for formatting dates, numbers, and currencies. |
| Time zone | time_zone | The browser’s time zone for local dates and times. |
| IP location | ip_country_code or proxy | The country the website sees from the connection’s IP address. |
| Browser geolocation | geolocation_latitude, geolocation_longitude, and geolocation_accuracy | The coordinates exposed to websites using the browser’s Geolocation API. |
The website controls its translations, prices, currency, units, and regional content. You may also need its localized URL, a saved regional preference, or its language or market selector.
For most websites that offer multiple languages, setting Accept-Language is enough to request the language you want. Add the other settings when the page needs them.
Set the language and locale
Section titled “Set the language and locale”Use the headers option to send an Accept-Language header. ScreenshotOne sends this header to the website and uses it to configure the browser’s language and locale.
For example, these options request German as used in Germany:
{ "url": "https://example.com", "headers": ["Accept-Language:de-DE"]}Replace https://example.com with the website you want to capture. Other language tags include en-US for English as used in the United States and es-ES for Spanish as used in Spain.
The website decides how to use these preferences. Pages that use the browser’s locale for formatting can display dates, numbers, and currencies accordingly, while a website with its own language settings may require one of the approaches below.
Set a matching time zone
Section titled “Set a matching time zone”The time_zone option controls the browser’s time zone. This is useful when the page displays local dates or times. The language and time zone are separate settings, so choose both for the audience you want to capture.
For German with Berlin’s time zone:
{ "url": "https://example.com", "headers": ["Accept-Language:de-DE"], "time_zone": "Europe/Berlin"}Here is a complete request you can adapt with your API key and target URL:
curl --get 'https://api.screenshotone.com/take' \ --data-urlencode 'access_key=YOUR_ACCESS_KEY' \ --data-urlencode 'url=https://example.com' \ --data-urlencode 'headers=Accept-Language:de-DE' \ --data-urlencode 'time_zone=Europe/Berlin' \ --data-urlencode 'format=png' \ --output screenshot.pngSet the browser’s geolocation
Section titled “Set the browser’s geolocation”If the website reads the visitor’s coordinates through the browser’s Geolocation API, set geolocation_latitude and geolocation_longitude. Both coordinates are required. Use geolocation_accuracy to set the accuracy in meters.
For example, these options set coordinates in Berlin alongside German language preferences and Berlin’s time zone:
{ "url": "https://example.com", "headers": ["Accept-Language:de-DE"], "time_zone": "Europe/Berlin", "geolocation_latitude": 52.52, "geolocation_longitude": 13.405, "geolocation_accuracy": 50}Browser geolocation and IP location are separate signals. To align the IP location as well, add ip_country_code: "de" or use a German proxy as described below.
Use the website’s regional settings
Section titled “Use the website’s regional settings”Some websites use a localized URL, a saved preference, or a market selector to choose their language and regional content. If the result still shows the wrong language, currency, or market, try the approach that matches how the website works:
- Use its localized URL. If the language or market selector leads to a URL such as
https://example.com/de/, use that URL in theurloption. - Set its preference cookie. If the website stores the selected language or region in a cookie, pass that cookie through the
cookiesoption. The cookie name, value, and domain depend on the website. - Use its language or market selector. The
clickorscriptsoptions can help select the site’s preferences before the screenshot. The selectors and timing depend on the page. - Change the IP country. If the website chooses regional content by IP location, use one of the following options.
Change the IP country
Section titled “Change the IP country”ScreenshotOne provides data center proxies through the ip_country_code option.
To request German while loading the page from a German IP address:
{ "url": "https://example.com", "headers": ["Accept-Language:de-DE"], "time_zone": "Europe/Berlin", "ip_country_code": "de"}See the option reference for the list of supported countries. Choose the IP country alongside your language preferences, because a country can have several languages. Requests through a proxy can take longer, so use it when the website needs the location change.
Bring your own proxy
Section titled “Bring your own proxy”You can also connect your own proxy provider using the proxy option. Choose a proxy in the country you need and keep the language and time zone settings:
{ "url": "https://example.com", "headers": ["Accept-Language:de-DE"], "time_zone": "Europe/Berlin", "proxy": "http://USERNAME:PASSWORD@proxy.example.com:8080"}Use an HTTP proxy URL. When proxy is set, it overrides ip_country_code.
Follow our guide on how to use proxies for the setup steps and examples.
Translate a website into another language
Section titled “Translate a website into another language”If the website does not offer the language you need, see how to translate and render a website as a screenshot. That guide shows how to use a translation API with the scripts option.
Get help with your request
Section titled “Get help with your request”If you have questions or need a sample request, email support@screenshotone.com or ask us in the live chat on our website.
Share a few example URLs, the language, time zone, and location you want, and what you are trying to achieve. If you already have an API request, include its options without your API key. We can help you choose the settings and prepare a request for your examples.