Browser Region

With BrowserCat, you can launch browsers all over the world. Configuration is fast and easy.

By default, your requests will be routed to the nearest data center. But you can connect to browsers in any region you choose.

Use this feature when you need to test geo-specific content or to launch browsers nearer to your third-party proxy.

Available regions

At present, we support the following regions:

  • arn: Stockholm, Sweden
  • bog: Bogotá, Colombia
  • bom: Mumbai, India
  • cdg: Paris, France
  • dfw: Dallas, Texas (US)
  • ewr: Secaucus, NJ (US)
  • gig: Rio de Janeiro, Brazil
  • iad: Ashburn, Virginia (US)
  • jnb: Johannesburg, South Africa
  • mad: Madrid, Spain
  • sin: Singapore, Singapore
  • sjc: San Jose, California (US)
  • syd: Sydney, Australia

Configure browser region

You can specify your desired region either using query parameters or the browsercat-opts header. The following examples use query parameters. For info on the browsercat-opts header, see the config overview.

Playwright request

import * as pw from 'playwright';

const bcatUrl = new URL('wss://api.browsercat.com/connect');
bcatUrl.searchParams.set('region', 'mad');

const browser = await pw.chromium.connect(bcatUrl.href, {
  headers: {'Api-Key': '<YOUR_API_KEY>'},
});
await browser.close();
import asyncio
from playwright.async_api import async_playwright, Playwright

async def run():
    async with async_playwright() as pw:
        query_params = {
            'region': 'mad',
        }
        bcatUrl = f'wss://api.browsercat.com/connect?{urlencode(query_params)}'

        browser = await pw.chromium.connect(bcatUrl, headers={
            'Api-Key': '<YOUR_API_KEY>'
        })
        await browser.close()

asyncio.get_event_loop().run_until_complete(run())

Puppeteer request

import puppeteer from 'puppeteer-core';

const bcatUrl = new URL('wss://api.browsercat.com/connect');
bcatUrl.searchParams.set('region', 'mad');

const browser = await puppeteer.connect({
  channel: 'chrome',
  browserWSEndpoint: bcatUrl.href,
  headers: {
    'api-key': '<YOUR_API_KEY>',
  },
});
await browser.close();
import asyncio
from pyppeteer import connect

async def run():
    query_params = {
        'region': 'mad'
    }
    bcatUrl = f'wss://api.browsercat.com/connect?{urlencode(query_params)}'

    browser = await connect({
        'browserWSEndpoint': bcatUrl,
        'headers': {
            'api-key': '<YOUR_API_KEY>'
        }
    })
    await browser.close()

asyncio.get_event_loop().run_until_complete(run())