Scrape Anything.

A Python toolkit that bypasses Cloudflare, DataDome, Akamai, and PerimeterX — shipped as a CLI, a Python API, and a hosted service. Exports straight to CSV, JSON, Excel, or SQLite.

98% target coverageLGPL-2.1 licensedPython 3.10+
$
// in use for e-commerce · real-estate · job-boards · academic research · alt-data pipelines v0.9.2 · last release recently
the problem

The old scrapers stopped working.

▸ FAILURE MODE
Anti-bot systems got smarter.

Cloudflare Turnstile, DataDome and Akamai fingerprint TLS, canvas, WebGL and audio — not just IPs. A rotating proxy does nothing against that.

▸ FAILURE MODE
Proxies alone aren't enough.

You need matched browser fingerprints, real cookie state, and human-shaped request patterns. Otherwise you're just paying for blocked traffic.

▸ FAILURE MODE
Most scrapers break on JS-heavy sites.

SPAs, hydration, lazy-loaded data, infinite scroll. Anything with a real runtime needs a real browser — but only when it needs one.

how it works

Fastest method first.
Heavier weapons only when needed.

IntelliScrape runs a tiered engine. It attempts the cheapest, fastest scraping method first and escalates only when a target pushes back — so 70% of requests never leave tier 1, and hardcases still land.

engine.escalation()

curl_cffi

playwright-stealth

nodriver

camoufox

TIER 1
curl_cffi
TLS impersonation · static requests

Sub-second. Speaks TLS like Chrome/Firefox/Safari. Handles ~70% of targets alone.

fast
TIER 2
playwright-stealth
headless browser · JS runtime

Renders JS-heavy pages, patched fingerprints, real DOM. Escalates when static hits a wall.

medium
TIER 3
nodriver (CDP)
raw chromedriver · zero automation flags

Direct CDP with no webdriver traces. Deployed against DataDome / PerimeterX hardcases.

slow
TIER 4
camoufox
custom Firefox · canvas/WebGL spoof

Full fingerprint rewrite — canvas, WebGL, audio, fonts. Used only when needed.

slowest
// fallback triggers on: challenge, block, empty payload, TLS mismatch
capabilities

Everything the block-page is trying to stop.

antibot

Get past anti-bot walls

Cloudflare, DataDome, Akamai, PerimeterX bypass. Canvas / WebGL / audio fingerprint spoofing. TLS impersonation across Chrome, Firefox, Safari, Edge profiles.

$ intelliscrape https://target.com
→ protection: cloudflare
→ cleared in 2.1s
session

Log in and interact like a person

Auth flows, form submission, search inputs, click paths, human-shaped delays. Sessions survive across pages.

scraper.login(
user='me', pw='***')
scraper.search('q=widgets')
resilience

Never lose your place

Cookie persistence, smart retries with fallback engines, request/response interception. Resume where a run left off.

network

Scale without getting blocked

IP rotation, residential proxy support, per-endpoint health checking. Backoff when a target starts throttling — not after.

export

Get data out, not just HTML

Structured extraction from JSON-LD, meta tags, and DOM fallbacks. Export directly to CSV, JSON, Excel, or SQLite.

DataExporter.export(
result, format='xlsx',
file='out.xlsx')
crawl

Whole-site crawling

Pagination detection, sitemap parsing, media downloads, per-domain concurrency limits. Point it at a domain and get a dataset.

three ways to use it

Pick a surface.

Same engine, three entry points. The CLI is fastest for one-offs. The Python API is what you want inside a pipeline. The hosted service is what you want when you'd rather not run browsers on your own boxes.

terminal
$ intelliscrape https://example.com --export csv -o data.csv
$ intelliscrape https://protected-site.com --login --username user --password pass
$ intelliscrape https://docs.python.org --crawl --max-pages 50
$ intelliscrape https://target.com --engine camoufox --json
from data to analysis

Skip the "clean the HTML" step.

A scrape isn't finished until the data is queryable. IntelliScrape writes analysis-ready files: typed CSV, well-formed JSON, Excel with proper column types, or a portable SQLite database you can hand to your notebook.

CSV
typed columns · UTF-8
JSON
line-delimited or nested
Excel
multi-sheet · formatted
SQLite
indexed · queryable
products.csv
CSVJSONXLSXSQLITE
skunamecategorypricestockrating
p_10241AeroKnit Runner 3footwear$142.00in_stock4.7
p_10242Trailhead Vestouterwear$189.00in_stock4.6
p_10243CoreLite Merino Teetops$68.00low4.8
p_10244GridShell Windbreakerouterwear$225.00in_stock4.5
p_10245Alpine Waffle Beanieaccessory$34.00in_stock4.9
p_10246Sable Trail Short 7"bottoms$78.00in_stock4.4
248 rows · 14 fields62.1 KB · exported 00:09.44
open source

Free. LGPL-2.1 licensed. On GitHub.

GuixJoy / IntelliScrapepublic

Anti-detection web scraping for 98% of the internet. CLI, Python API, and a hostable FastAPI service. Written in Python 3.10+.

star history · loading...
install
$ pip install intelliscrape
resolved 14 deps · 3.2 MB
installed intelliscrape-0.9.2
$ intelliscrape --version
intelliscrape 0.9.2
responsible use

With great power comes great responsibility.

IntelliScrape is a tool for accessing publicly available data. How you use it matters. We built it to be powerful — and we expect users to exercise good judgment.

▸ GUIDELINE
Respect robots.txt

Always check and honor robots.txt directives. If a site asks you not to scrape a path, don't. It's that simple.

▸ GUIDELINE
Rate-limit your requests

Don't hammer servers. Use reasonable delays between requests. If a site starts returning 429s, back off — it's telling you to stop.

▸ GUIDELINE
Know the law

Scraping publicly available data is generally legal, but regulations vary by jurisdiction. Understand the laws in your region before scraping.

▸ GUIDELINE
Don't collect what you don't need

Minimize data collection. Only scrape what you actually need for your stated purpose. Personal data requires extra care.

IntelliScrape is provided "as is" without warranty. Users are solely responsible for ensuring their scraping activities comply with applicable terms of service and local laws. We reserve the right to restrict access to the hosted service for misuse.

powered by
VercelNeon DBfingerprint-oss