Skip to main content
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:
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
}'
Different domains need different proxy tiers. Start with cheaper tiers when possible. Current proxy tiers in automatic selection and their costs:
Proxy tierCost 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:
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"]
}'

Automatically pick a proxy

Pass proxy: "auto" to let FetchFox choose based on historical success/cost data for that domain.
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
}'
Read our guide on automatic proxy selection for more information on how this works.