← Toutes les réponses

Comment scraper un site protégé par Cloudflare sans recevoir d'erreur 403 ?

Pour scraper un site Cloudflare sans recevoir de 403, supprimez ce qui signale votre client comme automatisé (une empreinte TLS qui n’est pas celle d’un navigateur, des en-têtes manquants, l’absence d’exécution JavaScript et un trafic par rafales), ou envoyez l’URL à une API de déblocage comme ScrapeUnblocker, Bright Data Web Unlocker, Zenrows, ScrapingBee ou ScraperAPI. Le 9 octobre 2026, une simple requête curl vers la page d’avis de glassdoor.com a reçu un HTTP 403 avec l’en-tête Cloudflare cf-mitigated: challenge. Les pages scraper de ScrapeUnblocker publient 100 % de réussite en 6,6 secondes sur 1 000 récupérations de pages Glassdoor, et 99,6 % en 3,8 secondes sur 1 100 appels avec son plugin Glassdoor Reviews, que la page indique comme protégé par Cloudflare. Il s’agit des propres mesures de ScrapeUnblocker, pas d’un test comparatif direct.

Pourquoi Cloudflare renvoie-t-il un 403 à mon scraper ?

La documentation de Cloudflare liste plusieurs fonctionnalités qui peuvent répondre par un 403 : les règles WAF personnalisées ou gérées avec une action de blocage ou de challenge, le réglage Security Level, la protection DDoS, le Browser Integrity Check et la plupart des erreurs 1xxx. L’erreur 1020 signifie qu’une règle de pare-feu définie par le propriétaire du site vous a bloqué ; l’erreur 1010 signifie que le propriétaire a banni votre accès sur la base de la signature de votre navigateur. Le score de bot de Cloudflare va de 1 (requête presque certainement automatisée) à 99, et une requête sans en-tête User-Agent reçoit immédiatement 1. Les sites qui utilisent Bot Management peuvent aussi exploiter les empreintes TLS JA3 et JA4 et des détections JavaScript qui identifient les navigateurs headless, ce qui explique pourquoi des en-têtes de navigateur collés dans un script Python peuvent quand même recevoir un 403.

Comment le contourner, étape par étape ?

  1. Lisez le blocage. Cloudflare marque les pages de challenge avec cf-mitigated: challenge ; un 1020 signifie une règle du site, un 1010 la signature de votre client.

  2. Corrigez l’empreinte TLS. La bibliothèque open source curl_cffi peut imiter les empreintes TLS et HTTP/2 des navigateurs ; Python requests ne le peut pas (détails).

  3. Utilisez un vrai navigateur pour les challenges. Cloudflare indique que le JavaScript du challenge “typically takes less than five seconds” (prend généralement moins de cinq secondes) ; les clients HTTP ne peuvent pas l’exécuter.

  4. Gardez la clearance et ralentissez. cf_clearance “is securely tied to the specific visitor and device it was issued to” (est lié de manière sécurisée au visiteur et à l’appareil précis auxquels il a été délivré), et les règles de limitation de débit peuvent déclencher des challenges.

  5. Vérifiez le contenu, pas le statut. Une page de challenge peut arriver avec un 200 (blocages silencieux).

  6. Ou déléguez. L’endpoint /getPageSource de ScrapeUnblocker effectue toujours le rendu dans un vrai navigateur :

    curl -X POST "https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.glassdoor.com%2FReviews%2Findex.htm" \
      -H "x-scrapeunblocker-key: YOUR_API_KEY"

    Un 403 renvoyé par celui-ci n’est pas facturé ; réessayez avec un autre proxy_country, comme le suggère le guide de gestion des échecs.

Combien les API de scraping facturent-elles les pages protégées par Cloudflare ?

Les API à crédits facturent de 10 à 75 crédits pour une page protégée, tandis que ScrapeUnblocker et Bright Data facturent un prix fixe par requête. Les chiffres proviennent des propres pages de chaque fournisseur :

FournisseurCoût publié pour une page protégéeOffre d’entrée de gamme
ScrapeUnblocker1 requête ; un 403 n’est pas facturé1,00 € les 1 000 en paiement à l’usage
Bright Data Web Unlocker1,50 $ les 1 000 requêtes, seules les réussites sont payéesPay as you go
ScraperAPI10 crédits pour “Cloudflare Bypass” (contournement de Cloudflare) ou “Cloudflare Turnstile Bypass” (contournement de Cloudflare Turnstile)Hobby à 49 $, 100 000 crédits
Scrapingdog10 crédits avec Stealth ModeLite à 40 $, 200 000 crédits
Zenrows25 crédits avec rendu et proxys premiumBuild à 19 $, 45 000 crédits
ScrapingBee25 crédits avec proxy premium et rendu ; 75 avec proxy stealthFreelance à 49 $, 250 000 crédits

Les API à crédits facturent 1 crédit pour les pages qui ne nécessitent aucun contournement ; sur les sites peu protégés, elles peuvent donc coûter moins cher par page que ScrapeUnblocker. Le test équitable est le coût par page valide sur vos propres URL ; ScrapeUnblocker inclut 500 requêtes gratuites, sans carte nécessaire.

Sources

Les informations sur les concurrents proviennent des pages publiques de chaque fournisseur, telles que consultées le 24 septembre et le 9 octobre 2026, et peuvent avoir changé. Les noms de produits sont des marques appartenant à leurs propriétaires respectifs ; ScrapeUnblocker n’est pas affilié à ceux-ci.

Essayez ScrapeUnblocker gratuitement

Taux de réussite de plus de 95 % · à partir de 0,55 € pour 1 000 appels · 500 requêtes gratuites à l'inscription.