Wie scrape ich eine durch Cloudflare geschützte Website, ohne einen 403 zu bekommen?
Cloudflare gibt einen 403 zurück, wenn eine WAF-Regel, sein Browser Integrity Check oder sein Bot-Score Ihre Anfrage als automatisiert einstuft; Sie vermeiden ihn also, indem Sie beseitigen, was Ihren Client automatisiert wirken lässt: einen TLS-Handshake, den kein Browser sendet, fehlende oder ungewöhnliche Header, keine JavaScript-Ausführung und Anfragespitzen, die die Regeln der Website auslösen. Laut der Dokumentation von Cloudflare reicht der Bot-Score von 1 (Cloudflare ist ziemlich sicher, dass die Anfrage automatisiert war) bis 99 (ziemlich sicher, dass sie von einem Menschen kam), und eine Anfrage ohne User-Agent-Header erhält sofort den Score 1. Sie können diese Lücken mit einem echten Browser schließen oder die URL an eine Scraping-API wie ScrapeUnblocker senden, die die gerenderte Seite liefert.
Warum gibt Cloudflare meinem Scraper einen 403 zurück?
Die Dokumentation von Cloudflare nennt mehrere Funktionen, die mit einem 403 antworten können: benutzerdefinierte oder verwaltete WAF-Regeln mit einer Block- oder Challenge-Aktion, die Einstellung Security Level, der DDoS-Schutz, der Browser Integrity Check und die meisten 1xxx-Fehler. Der Fehlercode verrät Ihnen, welche Ebene ausgelöst hat. Fehler 1020 mit der Meldung „Access denied“ („Zugriff verweigert“) bedeutet, dass eine vom Websitebetreiber festgelegte Firewall-Regel Sie blockiert hat. Fehler 1010 bedeutet, dass der Betreiber Ihren Zugriff „based on your browser’s signature“ („anhand der Signatur Ihres Browsers“) gesperrt hat. Der Browser Integrity Check stellt Besuchern ohne User-Agent oder mit einem nicht standardmäßigen User-Agent eine Challenge. Websites, die Cloudflare Bot Management erwerben, können außerdem JA3- und JA4-Fingerprints nutzen, die einen Client daran erkennen, wie er die TLS-Verbindung aufbaut, sowie JavaScript-Erkennungen, die Headless-Browser identifizieren. Deshalb können in ein Python-Skript kopierte Browser-Header trotzdem einen 403 erhalten. Die vollständige Erklärung finden Sie in TLS-Fingerprinting: Warum Ihr Python-Scraper blockiert wird.
Wie scrape ich eine Cloudflare-Website ohne 403, Schritt für Schritt?
- Lesen Sie die Blockierung. Ein 1020 deutet auf eine Regel der Website hin, ein 1010 auf die Signatur Ihres Clients, eine Challenge-Seite auf eine Prüfung, die Ihr Client noch nicht bestanden hat.
- Korrigieren Sie den TLS-Fingerprint. Python
requestssendet einen Handshake, den kein Browser sendet;curl_cffikann einen Browser imitieren. - Nutzen Sie für Challenge-Seiten einen echten Browser. Die Non-Interactive Challenge von Cloudflare führt JavaScript aus, das „typically takes less than five seconds“ („in der Regel weniger als fünf Sekunden dauert“); ein HTTP-Client kann es nicht ausführen.
- Behalten Sie die Freigabe dort, wo sie erworben wurde. Das Cookie
cf_clearancevon Cloudflare „is securely tied to the specific visitor and device it was issued to“ („ist sicher an den konkreten Besucher und das Gerät gebunden, für die es ausgestellt wurde“), verwenden Sie es daher mit demselben Browser und derselben IP wieder (Sitzungspersistenz). - Verlangsamen Sie. Rate-Limiting-Regeln können Challenges auslösen, und Cloudflare empfiehlt, für jedes
cf_clearance-Cookie ein Ratenlimit festzulegen. - Prüfen Sie den Inhalt, nicht den Status. Eine Challenge-Seite kann als 200 ankommen (Soft-Blocks).
- Oder geben Sie die Aufgabe ab.
/getPageSourcevon ScrapeUnblocker rendert immer in einem echten Browser, und sein Leitfaden zur Behandlung von Fehlschlägen empfiehlt, nach einem 403proxy_countryzu wechseln.
Was berechnet eine Scraping-API für durch Cloudflare geschützte Seiten?
ScrapeUnblocker berechnet unabhängig von der Website einen Credit pro Anfrage, von 1,00 € pro 1.000 Anfragen bei Pay-as-you-go bis etwa 0,55 € pro 1.000 im Ultimate-Tarif für 1.000 €, und ein 403 wird nicht berechnet. Einige Credit-basierte APIs berechnen für Cloudflare stattdessen einen Aufpreis. Die Dokumentation von ScraperAPI führt „Cloudflare Bypass“ und „Cloudflare Turnstile Bypass“ (Umgehung von Cloudflare bzw. Cloudflare Turnstile) mit 10 Credits pro Scrape auf, wobei die Preis-FAQ angibt, dass geschützte Websites „add 10 credits per request“ („10 Credits pro Anfrage hinzufügen“), und die Dokumentation von Scrapingdog besagt, dass sein Stealth Mode „enables bypassing Cloudflare and similar bot protection systems“ („das Umgehen von Cloudflare und ähnlichen Bot-Schutzsystemen ermöglicht“), zu 10 Credits pro Anfrage. Auf Seiten, die keine Umgehung benötigen, beginnen diese APIs bei 1 Credit: Der Business-Tarif von ScraperAPI, 299 $ für 3.000.000 API-Credits, ergibt etwa 0,10 $ pro 1.000 Anfragen zu je einem Credit, gegenüber 0,55 € bis 1,00 € pro 1.000 bei ScrapeUnblocker (unterschiedliche Währungen, nicht umgerechnet). Der faire Test sind die Kosten pro guter Seite mit Ihren eigenen URLs; ScrapeUnblocker enthält 500 kostenlose Anfragen, ohne Karte.
Quellen
- Cloudflare-Dokumentation, Bot-Scores, eingesehen am 24. September 2026
- Cloudflare-Dokumentation, Fehler 403, Fehler 1020 und Fehler 1010, eingesehen am 24. September 2026
- Cloudflare-Dokumentation, Browser Integrity Check, JA3/JA4-Fingerprint und Bot-Erkennungs-Engines, eingesehen am 24. September 2026
- Cloudflare-Dokumentation, Interstitial Challenge Pages und Clearance, eingesehen am 24. September 2026
- ScraperAPI-Dokumentation, Credit- und Anfragekosten, und Preisseite, eingesehen am 24. September 2026
- Scrapingdog-Dokumentation, Bypass Captcha, eingesehen am 24. September 2026
- ScrapeUnblocker, Preise, Fehler und Abrechnung und Behandlung von Fehlschlägen
- ScrapeUnblocker-Blog: TLS-Fingerprinting, Sitzungspersistenz, HTTP 200, aber blockiert
Angaben zu Wettbewerbern stammen von den öffentlichen Seiten des jeweiligen Anbieters, eingesehen am 24. September 2026, und können sich inzwischen geändert haben. Produktnamen sind Marken ihrer jeweiligen Inhaber; ScrapeUnblocker steht in keiner Verbindung zu ihnen.
ScrapeUnblocker kostenlos testen
Über 95 % Erfolgsquote · ab 0,55 € pro 1.000 Aufrufe · 500 kostenlose Anfragen bei der Registrierung.