# Countries

> The countries each route can exit from, and how to pick one.

**TL;DR**: send `country_code` (two letters, like `de`) and the request exits
from that country. Leave it out and it exits from your account's default
country, or from the platform default when none is set.
`GET /v1/geos` gives the live list. It is free and needs no key.

- With `engine` and `proxy_tier` left out, we pick only routes that serve
  the country.
- When you force a route that does not serve it, the answer is a free 400
  with `error.field` set to `country_code`.
- The `X-Geo` response header says which country the request exited from.
- A batch or a monitor takes `country_code` the same way, and keeps it for
  every page.

## Your account's default country

An owner sets it in the dashboard under Settings, or with
`PATCH /api/account` and `{"default_country": "de"}`. Send `null` to go back
to the platform default.

- It applies to every request without `country_code`: REST, map, MCP,
  batches and monitors.
- A batch keeps the default it had when you sent it, for every page. A
  monitor run takes the default when the run starts. Changing the default
  later does not change a batch or run that already started.
- On a premium country, each of those requests costs the premium on top,
  map included. `premium_credits` in `GET /v1/account` says how much.
- If we take the country you chose off our list, requests use the platform
  default instead. `country_in_use` in `GET /v1/account` shows the country
  in use now, and `X-Geo` shows it on every answer. A country still on our
  list that no route serves right now is answered like `country_code`: a
  free 400.

## What each route serves

This table is made from the same code that answers `/v1/geos`, with our
production setup.

<!-- countries -->
| Route | Countries |
| -- | -- |
| http, datacenter | AU, BR, CA, DE, ES, FR, GB, IN, IT, NL, PL, SE, SG, US |
| http, residential | all 15 countries below |
| browser, datacenter | AU, BR, CA, DE, ES, FR, GB, IN, IT, NL, PL, SE, SG, US |
| browser, residential | all 15 countries below |

Without `country_code`, a request exits from **US**. Premium countries, which add their price: none today.

All 15 countries: AU, BR, CA, DE, ES, FR, GB, IN, IT, JP, NL, PL, SE, SG, US.
<!-- /countries -->
