Use Case

Cross-browser testing
at scale

Run Playwright tests against real cloud browsers. Custom fingerprints for testing geo-specific content. Mobile emulation for responsive testing.

Playwright Connect

Native BrowserType.connect() integration. Use existing test scripts — just change the connection URL.

Mobile Emulation

Test on iPhone, Android, tablet viewports with matching user agents, touch events, and screen density.

Geo-Targeting

Run tests from 195+ countries. Verify geo-specific content, localization, and regional restrictions.

Custom Fingerprints

Control OS, GPU, WebGL, fonts, timezone, locale. Test how your site behaves across different device profiles.

Parallel Sessions

Run up to 50 concurrent browser sessions. Execute your test suite faster with real cloud browsers.

Session Recording

Capture full session recordings for debugging. Replay exact browser state to diagnose test failures.

Connect Playwright in seconds

Drop in your browser.city endpoint — your existing test scripts work without any other changes.

test.ts
import { chromium } from "playwright";const apiKey = process.env.BROWSERCITY_API_KEY!;const opts = { method: "POST", headers: { Authorization: `Bearer ${apiKey}` } };const session = await fetch("https://api.browser.city/v1/sessions", {  ...opts,  body: JSON.stringify({ browser: "chromium" }),}).then((r) => r.json());const browser = await chromium.connect(session.endpoint, {  headers: { Authorization: `Bearer ${session.token}` },});const context = await browser.newContext({  locale: "de-DE",  timezoneId: "Europe/Berlin",});const page = await context.newPage();await page.goto("https://your-app.com");

Test on real browsers

Chromium
Firefox
WebKit
iPhone
Android
Tablet
Desktop
CI/CD
[ 06 / 06 ] — Get Started

Start building in under a minute

Free tier. No credit card. Full stealth from day one.