> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fetchfox.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Avoid blocks with proxies

> Some sites require proxies to avoid blocks

By default, FetchFox connects using low-cost proxies. Some sites block those proxies, so you may need a different proxy tier.

To pick a proxy explicitly, set the `proxy` field in `visit`, `crawl`, `extract`, or `scrape` requests.

Example:

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.fetchfox.ai/api/crawl \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FETCHFOX_API_KEY" \
  -d '{
      "pattern":"https://pokemondb.net/pokedex/*",
      "proxy": "residential",
      "maxVisits": 50
  }'
  ```
</CodeGroup>

Different domains need different proxy tiers. Start with cheaper tiers when possible.

Current proxy tiers in automatic selection and their costs:

| Proxy tier               | Cost per GB |
| ------------------------ | ----------- |
| `none`                   | \$0.025     |
| `datacenter`             | \$0.05      |
| `datacenter_shared`      | \$0.80      |
| `datacenter_dedicated`   | \$0.05      |
| `isp_dedicated`          | \$0.05      |
| `residential`            | \$8.10      |
| `residential_cdp`        | \$8.20      |
| `residential_cdp_assets` | \$8.50      |
| `unblock`                | \$2.00      |

If a site is still blocked, try `proxy: "auto"` to let FetchFox choose.

## Try multiple proxies

You can also pass an array to `proxy` and FetchFox will try multiple tiers concurrently.

Example:

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.fetchfox.ai/api/extract \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FETCHFOX_API_KEY" \
  -d '{
      "urls": ["https://pokemondb.net/pokedex/pikachu"],
      "template": "pokemon name, number, and basic stats",
      "proxy": ["datacenter", "residential"]
  }'
  ```
</CodeGroup>

## Automatically pick a proxy

Pass `proxy: "auto"` to let FetchFox choose based on historical success/cost data for that domain.

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.fetchfox.ai/api/crawl \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FETCHFOX_API_KEY" \
  -d '{
      "pattern":"https://pokemondb.net/pokedex/*",
      "proxy": "auto",
      "maxVisits": 50
  }'
  ```
</CodeGroup>

Read our guide on [automatic proxy selection](/auto-proxy) for more information on how this works.
