Web Scraping APIs

What Is Scrapling?

What Is Scrapling? — conceptual illustration
On this page

Scrapling is an all-in-one Python scraping framework that bundles fetching, parsing, anti-detection, and crawling behind one API — it is a layer above the other tools, not a competitor. In other words, instead of wiring several libraries together yourself, you import one package. It offers three ways to fetch a page, from light to heavy: curl_cffi for TLS-impersonated HTTP — TLS being the encryption layer behind https, and "impersonated" meaning it mimics a real browser's TLS signature (fastest); standard Playwright for pages that need JavaScript to render; and a StealthyFetcher that wraps Patchright or Camoufox for the most browser-consistent configuration, including automatic Cloudflare challenge handling. Its standout feature is adaptive element tracking: when a site changes its page layout, Scrapling re-finds the elements your selectors used to match.

Quick facts

TypeAll-in-one scraping framework (fetch + parse + crawl + stealth)
LanguagePython
Three tiersFetcher (curl_cffi) / DynamicFetcher (Playwright) / StealthyFetcher (Patchright or Camoufox)
Unique featureAdaptive selectors auto-relocate when the DOM changes
Also includesScrapy-like spider, fast parser, MCP server for AI workflows

The three-tier fetching system

Scrapling gives you three fetchers, and you pick one based on how hard the target site is to scrape. Tier 1 — Fetcher uses curl_cffi to send plain HTTP requests that carry a real browser's TLS fingerprint (the JA3/JA4 signature a browser shows during the https handshake) for Chrome/Firefox/Safari/Edge, plus realistic headers generated by browserforge. No JavaScript runs, so there is no browser to fingerprint at all — it is the fastest option (~10MB footprint) and handles roughly 90% of pages. Tier 2 — DynamicFetcher is plain Playwright, used when a page builds its content with JavaScript; it adds helpers like wait_selector and network-idle waits but no special stealth. Tier 3 — StealthyFetcher wraps Patchright (the default) or Camoufox (set use_camoufox=True) and exposes flags like solve_cloudflare=True, block_webrtc=True, hide_canvas=True, and disable_webgl=True to reduce the signals anti-bot systems look for.

Cloudflare handling and adaptive selectors

Set solve_cloudflare=True and Scrapling spots the Cloudflare Turnstile or interstitial challenge page, waits for the challenge iframe to load, interacts with it, and waits for the redirect to the real page — all without paying for an external CAPTCHA-solving service. As the analysis stresses, it is not cracking the CAPTCHA; instead Patchright/Camoufox present a standards-compliant browser environment, so the page loads without an extra challenge step.

The unique feature is adaptive element tracking. Normally a CSS selector breaks the moment a site is redesigned and your scraper stops working. Scrapling can save the structural context of an element it matched — roughly, where it sat in the page and what surrounded it — and later re-find that same element by fuzzy structural matching even after the layout shifts. No other tool in this comparison offers this. It pairs with a fast lxml-based parser, a Scrapy-like spider with pause/resume checkpoints, and an MCP server for Claude/Cursor workflows.

When to use Scrapling

Use it when: you want one framework for an entire pipeline rather than stitching separate tools together; you have a mix of protection levels (cheap HTTP for most pages, browser stealth only for the hard ones); you scrape sites that frequently change their page layout; or you want AI-integrated scraping. Note: it does not add stealth of its own — Tier 3 inherits whatever Patchright or Camoufox provides — so against the hardest enterprise targets you are still limited by those engines. Scrapling is a Python orchestration layer that ties the pieces together, not a new detection-handling technique.

Code example

python
from scrapling import Fetcher, StealthyFetcher

# Tier 1: fast TLS-impersonated HTTP for easy pages
html = Fetcher().get("https://example.com", stealthy_headers=True)

# Tier 3: Patchright/Camoufox under the hood for protected pages
page = StealthyFetcher().get(
    "https://cloudflare-protected.com",
    solve_cloudflare=True,
    block_webrtc=True,
    hide_canvas=True,
)
print(page.css_first("h1::text"))

Related terms

Concept map

How Scrapling connects

The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.

0 terms · 0 connections
You are here · Web Scraping APIs
Building map…

Frequently asked questions

Is Scrapling a stealth tool or a framework?

A framework. It does not introduce any new detection-handling method of its own — it coordinates other tools (curl_cffi for TLS impersonation, Patchright/Camoufox for browser configuration) behind one API, then adds parsing, crawling, and adaptive selectors on top. Think of it as a layer that sits above Camoufox and Patchright, not a competitor to them.

What are the three fetching tiers?

Fetcher (curl_cffi HTTP with TLS impersonation — fastest, no browser involved), DynamicFetcher (plain Playwright for pages that need JavaScript to render, no special stealth), and StealthyFetcher (Patchright or Camoufox for the most browser-consistent configuration with automatic Cloudflare challenge handling). You choose the tier per target depending on how heavily it is protected.

How does solve_cloudflare work?

It detects the Cloudflare Turnstile or interstitial page, waits for the challenge iframe, interacts with it, and waits for the redirect to the real content. It does not solve the CAPTCHA cryptographically — the underlying Patchright/Camoufox browser presents a standards-compliant environment, so the page loads without an extra challenge step.

What is adaptive element tracking?

Scrapling can remember the structural fingerprint of an element it once matched — where it lives in the page and what is around it. When a site redesign breaks your CSS selector, it re-finds the same element by fuzzy structural matching instead of just failing. It is Scrapling's most distinctive feature among these tools.

Last updated: 2026-05-31