Skip to main content
Pass a two-letter country and the session runs on a machine egressing from that country, with a timezone and browser language that belong there. The three always agree, which is what sites check. Default US.

Overriding timezone and language

Set timezone (IANA name) or language (BCP-47) when the country’s default isn’t what you want. Both must come from that country’s lists on Countries, or the request is a 400: Unsupported timezone "Europe/Berlin" for country US. An unknown country fails the same way: Unsupported country "XX". Without timezone, you get the country’s dominant zone, and where Driver runs a managed network there, traffic is routed through that region so the network and the clock agree.
US sessions are always en-US; any other language is rejected. Elsewhere, leaving language out gets the country’s primary language. Chrome reports the nearest variant it ships: fr-CA came back as navigator.language fr-FR, with fr and en-US as fallbacks. Accept-Language follows the same choice. A de-DE session sends de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7. Hosted sessions get matching text-to-speech voices where available; where none exists, Web Speech is disabled so that surface can’t contradict the rest.

With your own proxy

A proxyUrl without timezone or language makes Driver geolocate the proxy’s exit and derive country and timezone from it. A country you pass must match that exit. See Proxies.

Availability

No free machine in the requested country is a 503 with Retry-After: 2. Back off with a cap, then tell the user or pick another country.