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

# CAPTCHA & Block Rates

> Why target websites show CAPTCHAs or block requests, what proxies can and can't fix, and how to improve your success rates.

Even with residential IPs, target websites sometimes show a CAPTCHA or block a request. This page explains why that happens and how to reduce it.

## How detection works

Anti-bot systems look at much more than your IP address. They typically weigh:

* **IP reputation.** Whether the IP is residential, and whether it has a history of abuse or proxy use.
* **Request rate.** How many requests come from one IP, and how quickly.
* **Request fingerprint.** Headers, TLS fingerprint, and HTTP version — whether your client looks like a real browser.
* **Behavior.** Whether navigation, timing, and interaction look human.

Residential proxies solve the first point. The rest depends on how your client behaves.

## What proxies can and can't fix

FlameProxies gives you IPs that look like real users. It doesn't change what your client sends. If your scraper sends requests with a default library user agent, no cookies, and no JavaScript support, a well-protected site can still flag it — whatever the IP.

For HTTPS targets, the proxy only sees an encrypted tunnel. It can't see the target's responses, so detecting a CAPTCHA or block page is your application's job.

## How to improve success rates

### Use the right proxy type

[Premium residential proxies](/proxies/premium-residential) come from a curated pool of clean IPs with no proxy-detection history. If you see elevated CAPTCHA rates on standard residential, switching the same workload to `package-premium` is usually the fastest fix.

### Rotate IPs appropriately

* For independent page loads, rotate on every request so no single IP makes too many.
* For logins and multi-step flows, use a sticky session. An IP that changes mid-session is a strong bot signal.

### Pace your requests

FlameProxies has no limits on requests per second or concurrency, but target websites do. Spread requests out, and add small random delays rather than firing requests at a fixed interval.

### Look like a real browser

* Send realistic, consistent headers, including `User-Agent`, `Accept`, and `Accept-Language`.
* Match `Accept-Language` and time zone to the country you're exiting from.
* For JavaScript-heavy sites, use a real browser through Playwright, Puppeteer, or Selenium.

### Target broader locations

Narrow city targeting shrinks the pool, so the same IPs get reused more often. Target a country unless you really need a city.

### Handle blocks in your application

Detect blocks and retry on a fresh IP. With sticky sessions, a new session ID gets a new IP:

```python theme={null}
import uuid
import requests

def fetch(url, max_attempts=3):
    for _ in range(max_attempts):
        session_id = uuid.uuid4().hex[:8]
        proxy_url = (
            f"http://USERNAME-package-standard-country-us-session-{session_id}-time-10"
            ":PASSWORD@proxy.flameproxies.com:8989"
        )
        resp = requests.get(url, proxies={"http": proxy_url, "https": proxy_url}, timeout=30)
        blocked = resp.status_code in (403, 429) or "captcha" in resp.text.lower()
        if not blocked:
            return resp
    raise RuntimeError(f"Still blocked after {max_attempts} attempts: {url}")
```

## When to contact support

Contact [support](/troubleshooting/connection-debugging#contact-support) if you see consistently high block rates on a target after trying premium residential proxies, realistic headers, and slower pacing. Include the target domain, the proxy type and parameters you used, and roughly how many requests are blocked.

## Next steps

<CardGroup cols={2}>
  <Card title="Premium residential proxies" icon="shield-check" href="/proxies/premium-residential">
    Clean, high-trust IPs for strict anti-bot targets.
  </Card>

  <Card title="Connection debugging" icon="wrench" href="/troubleshooting/connection-debugging">
    Step-by-step checklist for connection issues.
  </Card>
</CardGroup>
