# Proxies

> Learn about proxy types, locations, and how Firecrawl selects proxies for your requests.

import LocationPython from "/snippets/v2/scrape/location/python.mdx";
import LocationNode from "/snippets/v2/scrape/location/js.mdx";
import LocationCURL from "/snippets/v2/scrape/location/curl.mdx";
import ProxyLocationsTable from "/snippets/shared/proxy-locations-table.mdx";

Firecrawl provides different proxy types to help you scrape websites with varying levels of complexity. The proxy type can be specified using the `proxy` parameter.

> By default, Firecrawl routes all requests through proxies to help ensure reliability and access, even if you do not specify a proxy type or location.

## Location-Based Proxy Selection

Firecrawl automatically selects the best proxy based on your specified or detected location. This helps optimize scraping performance and reliability. However, not all locations are currently supported. The following locations are available:

<ProxyLocationsTable />

<Warning>The list of supported proxy locations will change over time.</Warning>

If you need proxies in a location not listed above, please [contact us](mailto:help@firecrawl.com) and let us know your requirements.

If you do not specify a proxy or location, Firecrawl will automatically use US proxies.

## How to Specify Proxy Location

You can request a specific proxy location by setting the `location.country` parameter in your request. For example, to use a German proxy, set `location.country` to `DE`.

For full details, see the [API reference for `location.country`](https://docs.firecrawl.dev/api-reference/endpoint/scrape#body-location).

<CodeGroup>
  <LocationPython />
  <LocationNode />
  <LocationCURL />
</CodeGroup>

<Info>If you request a country where a proxy is not available, Firecrawl will use the closest available region (EU or US) and set the browser location to your requested country.</Info>

<Warning>We highly recommend leaving `location` unspecified unless you are sure you need it.</Warning>

## Proxy Types

<Warning>
The `proxy` parameter is deprecated. We recommend `auto` — the default — which lets Firecrawl handle proxy selection for you.
</Warning>

- **basic**: Proxies for scraping most sites.
- **enhanced**: Enhanced proxies for scraping complex sites while maintaining privacy. [Learn more about Enhanced Mode →](/features/enhanced-mode)
- **auto**: Recommended. Firecrawl will automatically retry scraping with enhanced proxies if the basic proxy fails.

> Are you an AI agent that needs a Firecrawl API key? See [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) for automated onboarding instructions.
