Geolocated
screenshots.

Test localized rendering from Paris, Montreal, Singapore, Sydney or Hanoi. Timezone, locale and geolocation emulated by the browser.

5
regions, 4 continents
1
API parameter: render_region
0
surcharge per region

5 regions available

Diagram of the 5 Shotbot rendering regions: Paris, Montreal, Singapore, Sydney, Hanoi
fr-paris Paris, France Scaleway Europe/Paris fr-FR
ca-montreal Montreal, Canada OVH Beauharnois America/Montreal en-CA
sg-singapore beta Singapore OVH Singapore Asia/Singapore en-SG
au-sydney beta Sydney, Australia OVH Sydney Australia/Sydney en-AU
vn-hanoi beta Hanoi, Vietnam FPT residential FTTHAsia/Ho_Chi_Minh vi-VN

Why multi-region rendering

Geo-restricted content

Streaming video, news, B2B platforms with country restrictions. Capture what a real user in Montreal, Singapore, Sydney or Hanoi actually sees, no VPN install, no third-party proxy service required.

Localized variants

Local currency pricing, translations, regional promotions, A/B banners. Verify your site serves the right version based on IP geolocation.

Regional compliance banners

GDPR in the EU, PIPEDA in Canada, PDPA in Singapore, Privacy Act in Australia, PDPL in Vietnam. Each CMP shows different copy based on visitor IP.

Multi-market competitive intel

Track competitor prices and offers across markets in parallel. One API, 5 egress regions, simultaneous captures ready to archive.

The regions, side by side

Five captures of ifconfig.co taken from each of our regions. Country, latitude, timezone, and ISP all differ.

One parameter: render_region

cURL
curl -X POST https://api.shotbot.net/capture \
  -H "Content-Type: application/json" \
  -d '{
    "key":           "YOUR_API_KEY",
    "url":           "https://example.com/product/widget",
    "render_region": "ca-montreal",
    "viewport_width": 1280,
    "wait_time":     5
  }'
PHP
<?php
$ch = curl_init("https://api.shotbot.net/capture");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ["Content-Type: application/json"],
    CURLOPT_POSTFIELDS     => json_encode([
        "key"            => "YOUR_API_KEY",
        "url"            => "https://example.com/product/widget",
        "render_region"  => "sg-singapore",
        "viewport_width" => 1280,
    ]),
]);
$res = json_decode(curl_exec($ch), true);
echo $res["image"];

See Python, Node.js, Go, Ruby examples

How it works

  1. You send a /capture request with render_region: ca-montreal.
  2. A worker picks the job up and launches Chromium with a network egress point in Canada.
  3. Before navigation, the browser sets Accept-Language: en-CA, emulates timezone America/Montreal and Montreal geolocation.
  4. All HTTP traffic exits with a Canadian IP. The target site serves its local variant.
  5. The capture comes back like any other: token, CDN URL, or HTTPS callback.

Public egress IPs for each region are listed at api.shotbot.net/workers-ip.json | handy for firewall whitelists or log analysis.

More regions coming

Need a specific egress point (UK, Germany, US West Coast, Japan, Brazil…)? Get in touch, we can add it within 48 hours.

Availability & pricing

Pricing: included with the Shotbot Pro subscription (5 000 captures/month, 29 €/month). Zero surcharge per region: one Hanoi capture = one Paris capture, same quota.

Free account: fr-paris region only (default). Other regions return 403 pro_required.

GDPR and non-EU regions

Default rendering in fr-paris and the ca-montreal region (partial European Commission adequacy decision, commercial sector) does not involve transfers outside a recognized EU adequacy framework. sg-singapore, au-sydney and vn-hanoi are flagged as beta: Singapore, Australia and Vietnam do not benefit from an adequacy decision under EU law.

By calling render_region: sg-singapore, au-sydney or vn-hanoi, you instruct Shotbot, acting as processor, to route the render through a non-EU egress point. The target page content (which may include personal data of EU residents) may therefore transit through that egress point. This instruction falls under your responsibility as controller under the GDPR: you must ensure that this transfer is covered by your own compliance framework (consent, legitimate interest, contractual clauses, etc.).

Account data, logs, and final images remain hosted in France. Only the render path (browser egress point) is localized outside the EU. See the privacy policy.

18 years in service, independent, hosted in France. User data stays in France, captures render in the requested region, final images served from our French CDN like every other capture.