Scrapling: The Free Web Scraper That Adapts When Sites Redesign
Scrapling — a Python web-scraping framework that fingerprints the elements you scrape, so when a site's layout changes, it can relocate the same data instead of breaking.
Alternative to: Bright Data Web Unlocker Scale, $499/mo for 383,000 requests (then $1.30 per 1,000 more). ScraperAPI Hobby, $49/mo for 100,000 credits. Oxylabs Web Scraper API Micro, $49/mo for up to 98,000 non-JS results ($0.50/1,000; JS-rendered jumps to $1.35/1,000). Zyte API charges per request with no subscription, $0.13 to $1.27 per 1,000 for simple pages, up to $16.08 per 1,000 for the hardest browser-rendered ones.
Cost to run: free, self-hosted. You supply your own proxies and compute.
Licence: BSD 3-Clause, copyright Karim Shoair. Standard terms — attribution required, plus a clause barring use of the author's name to endorse derived products without permission.
Runs on: Python 3.10 through 3.13. Docker images published on Docker Hub and GitHub Container Registry.
Requires: the base package is parser-only. Scraping and stealth features need thefetchersextra, which pulls in a patched, stealth-hardened Playwright fork plus browser-fingerprint spoofing — meaning it drives a real headless Chromium under the hood.
Traction: 81,583 stars · 8,281 forks · 299 watchers · 37 commits in the last 30 days, 139 in the last 90.
Liveness: very live — last commit 3 days ago, latest release v0.4.15 shipped Aug. 23. One maintainer, Karim Shoair, wrote about 95% of all 1,621 commits.
Maturity: v0.4.15. 53 tags, dozens of published GitHub releases going back to 2024.
Links: repo · PyPI · Trendshift
Figures as of Sept. 17, 2026.
What it does
Scrapling is a Python scraping toolkit built around one idea: most scrapers break the moment a site redesigns, and rewriting them is the actual cost of scraping, not the requests themselves. Its fix, verified directly in the source, is genuinely simple. When you scrape an element with auto_save=True, Scrapling fingerprints it — its tag, its text, a set of key attributes, its parent's shape, its siblings — and stores that fingerprint. Later, with adaptive=True, it walks the new page and scores every candidate element against that stored fingerprint using Python's own text-diffing library (difflib). Whatever scores highest above a threshold gets treated as "the same element, moved." No machine learning, no hosted matching service — just structural diffing, done locally.
Around that core, it ships a full stealth stack: TLS/JA3 browser impersonation for plain HTTP requests, a patched stealth build of Playwright for browser automation, fingerprint spoofing, DNS-over-HTTPS so proxies don't leak your real DNS, and built-in ad/tracker blocking across roughly 3,500 domains. There's a Scrapy-style Spider framework for full crawls with concurrency and auto-throttling, an MCP server so agents like Claude or Cursor can scrape through it directly, and a markdown export mode built for feeding scraped pages into a RAG pipeline.
What it replaces, and what that costs
The commercial scraping-and-unlocking market is priced by the request, and it isn't cheap. Bright Data's Web Unlocker Scale tier runs $499 a month for 383,000 requests, with overage at $1.30 per 1,000 after that. ScraperAPI's Hobby tier is $49 a month for 100,000 credits. Oxylabs charges $49 a month for its Micro tier, with plain results running $0.50 to $1.15 per 1,000 depending on the target site — Amazon is priced lowest, general sites highest — while JS-rendered pages, the kind that actually need a real browser, run $1.35 per 1,000. Zyte skips the subscription model entirely and charges per request, from $0.13 per 1,000 for simple pages up to $16.08 per 1,000 for the hardest browser-rendered, anti-bot-protected ones.
Scrapling is free and BSD-licensed, which means the honest trade isn't price — it's that you supply your own proxies and compute, and it doesn't claim to beat every anti-bot system out of the box. Its own README is upfront about this: Scrapling handles Cloudflare's Turnstile and interstitial challenges directly, and for anything tougher — Akamai, DataDome, Kasada, Incapsula — it points you at a paid sponsor, Hyper Solutions, rather than pretending to solve them itself.
There's no clean industry number for what it costs a team to hand-maintain brittle scrapers. The closest figures come from two different sources: ScrapeHero, citing Monte Carlo Data, puts engineers at spending roughly 40% of their time fighting broken feeds and reprocessing missing data; a separate ProWebScraper estimate puts in-house scraping infrastructure — proxies, monitoring, tooling — at $50,000 to $100,000 a year for a team. Neither is scraper-breakage-specific, but together they're the shape of the problem Scrapling's adaptive matching is aimed at.
Is it still alive?
Very. Scrapling is not quite two years old — its first commit was October 2024 — and it's already at 81,583 stars with a commit landing three days before this was written. It's Trendshift's #1 Python Repository Of The Day and #1 Python Repository Of The Week (first hit in February 2026), and #2 across all languages on both counts. The latest release, v0.4.15, shipped August 23 with a Cloudflare solver rework and RAG markdown support — real feature work, not maintenance patches.
One thing worth flagging: this is almost entirely a one-person project. Karim Shoair (GitHub handle D4Vinci) wrote 1,544 of the repo's 1,621 commits — about 95%. The next-largest contributor has 14. That's a lot of velocity riding on one person.
What people say
Hacker News has barely registered it — two posts, both from the author himself, four points and one comment on the first, one point and zero comments on the second. Given 81,000-plus stars, the real conversation is clearly happening somewhere else: the project's own Discord and its dedicated X account, @Scrapling_dev, not on HN.
The catch
Scrapling's own README carries a formal disclaimer: it's built "for educational and research purposes only," and using it means agreeing to comply with local and international data-scraping and privacy laws — the authors aren't responsible for misuse, and you're expected to respect each site's terms of service and robots.txt.
The bigger practical catch is scope. The base pip install scrapling is parser-only — no browser, no fetchers, nothing that actually scrapes a live page — and the README flags this explicitly because it trips people up. And despite the marketing language around bypassing "all types" of Cloudflare protection, the README's own words are more modest: it handles Cloudflare specifically, and for the anti-bot systems that actually stop enterprise scraping operations — Akamai, DataDome, Kasada, Incapsula — it upsells a paid third-party API rather than claiming to solve them.
Credits
Built by Karim Shoair (@D4Vinci1 on X, @Scrapling_dev for the project). Figures pulled from ungh.cc, a full clone of the repository, PyPI's package API, and the project's own README, pyproject.toml, and LICENSE.


