Huit projets libres servent à collecter des pages web, chacun à un endroit différent de la chaîne. Crawlee et Crawlee for Python sont des frameworks pour programmer un crawler, en HTTP simple ou avec un navigateur headless. Camoufox, un Firefox modifié pour échapper à la détection des robots, et Rota, qui fait tourner des proxies derrière un seul port, complètent un crawler plutôt qu'ils ne le remplacent. OpenSERP rend en JSON les résultats de six moteurs de recherche, changedetection.io et PriceGhost surveillent les pages qu'on leur désigne, sans code, et Agent Reach installe pour un agent IA les outils qui lisent YouTube, Reddit ou X. Dans leur version libre, aucun ne fournit d'adresse IP de sortie : face aux blocages, les proxies restent à se procurer.
Crawlee en Node.js ou en Python : ce qui sépare les deux versions
Apify, qui vend une plateforme de scraping dans le cloud, publie Crawlee dans deux dépôts, tous deux sous Apache-2.0. Les deux versions suivent le même modèle : une file de requêtes, un handler appelé pour chaque page, un dataset pour les résultats, et une même API pour les crawlers HTTP, qui lisent le HTML sans exécuter le JavaScript, et pour les crawlers navigateur. Toutes deux ont un AdaptivePlaywrightCrawler, qui repasse en HTTP sur les pages qui se passent du navigateur. Les crawlers navigateur génèrent des empreintes par défaut, et le client HTTP par défaut se fait passer pour un navigateur : got-scraping en Node.js, impit, une bibliothèque Rust d'Apify, en Python.
Seule la version Node.js pilote Puppeteer en plus de Playwright. La version Python ajoute des stockages SQL (SQLite, PostgreSQL, MySQL, MariaDB) et Redis, encore expérimentaux, que Crawlee 3.18 pour Node.js n'a pas. Son stockage par fichiers, utilisé par défaut, n'accepte pas plusieurs processus et se vide à chaque lancement tant que purge_on_start n'est pas passé à False. Elle garde aussi les proxies par paliers (tiered_proxy_urls), rangés du moins cher au plus fiable, que la v4 de Crawlee pour Node.js, en release candidate depuis le 13 août 2026, remplace par une rotation par session.
Crawlee for Python se présente face à Scrapy : son README explique pourquoi le préférer (asyncio, typage, script lancé sans outil dédié, état persistant), et sa documentation fournit un guide de migration. Crawlee pour Node.js demande Node.js 16 en v3, Node.js 22.13 et des modules ESM natifs en v4. Ni l'un ni l'autre n'a d'interface : ce sont des bibliothèques pour développeurs.
Camoufox et Rota, les briques à ajouter contre le blocage
Le guide anti-blocage de Crawlee admet que ses protections intégrées ne suffisent pas face au défi Cloudflare, et renvoie vers Camoufox par camoufox-js, un portage JavaScript qu'Apify maintient et que son dépôt dit expérimental. Crawlee for Python fournit un exemple et un gabarit de projet Camoufox. Camoufox réécrit dans le code C++ de Firefox les valeurs que lisent les scripts anti-bot, au lieu d'injecter du JavaScript, cache Playwright à la page et tire ses identités d'un réseau bayésien entraîné sur du trafic réel. Son README pose deux limites. Camoufox reste un Firefox : il ne sait pas emprunter pleinement l'empreinte de Chromium, et certains WAF testent SpiderMonkey, le moteur JavaScript de Firefox, que le README dit impossible à usurper. Et sur les milliers de valeurs qui doivent concorder, Camoufox n'en accorde pas toujours la totalité.
Rota est la seule brique réseau du lot : un serveur proxy en Go qui reçoit les clients sur un port HTTP unique, le 8000, et fait ressortir chaque requête par un proxy amont HTTP, HTTPS ou SOCKS qu'il a testé et géolocalisé. Crawlee fait déjà tourner ses proxies dans son propre processus ; Rota sort cette rotation du programme, pour que plusieurs scrapers partagent le même stock et les mêmes vérifications. Ses pools par pays, ville ou FAI s'accordent avec l'option geoip de Camoufox, qui cale fuseau horaire, langue et position sur l'IP de sortie. Le README de Camoufox destine le navigateur à des proxies tournants, de préférence résidentiels, que le projet ne fournit pas, et la base de Rota démarre vide.
Les outils prêts à l'emploi : recherche, surveillance de pages, agents IA
OpenSERP part d'une requête et rend des adresses. Un serveur et une CLI en Go ouvrent la page de résultats de Google, Bing, Yandex, Baidu, DuckDuckGo ou Ecosia dans un Chromium sans tête et la rendent dans un même schéma JSON ; /mega/search interroge plusieurs moteurs à la fois et garde le rang de chaque URL sur chacun. Le README le destine à outiller un LLM ou à alimenter un suivi de positionnement SEO.
changedetection.io et PriceGhost font l'inverse : on leur donne des URL, ils les revisitent et préviennent quand quelque chose change. changedetection.io compare du texte, du JSON, un prix, un stock ou une capture d'écran, toutes les trois heures par défaut et en HTTP simple, et alerte par la bibliothèque Apprise, vers Discord, l'e-mail ou un webhook. PriceGhost se limite aux fiches produit, une URL par article, avec des extracteurs dédiés surtout aux enseignes américaines, plusieurs comptes par instance et des alertes Telegram, Discord, Pushover, ntfy ou Gotify. Son README le pose face à Keepa, CamelCamelCamel et Honey.
Agent Reach ne lit rien lui-même. Cette CLI Python prépare un agent de code (Claude Code, Cursor, OpenClaw) en choisissant, en installant et en testant un outil par plateforme : yt-dlp pour YouTube, gh pour GitHub, Jina Reader pour les pages web. Le canal web passe par l'API hébergée r.jina.ai et s'arrête devant un défi Cloudflare, et la recherche passe par le serveur MCP distant d'Exa. Agent Reach n'a aucune technique anti-détection propre et n'interroge aucun moteur de recherche par scraping.
Ce que chaque outil demande pour tourner
Relevé dans les dépôts et les documentations le 7 octobre 2026.
| Outil | Licence | À faire tourner | Navigateur | Proxies | Dernière version |
|---|---|---|---|---|---|
| Crawlee | Apache-2.0 | Node.js 16 (v3) ou 22.13 (v4) ; stockage local, sans base | Playwright ou Puppeteer, à installer à part | à fournir ; rotation et sessions intégrées | 3.18.2, 29 sept. 2026 ; 4.0.0-rc.1 le 6 oct. |
| Crawlee for Python | Apache-2.0 | Python 3.10 ; fichiers locaux, SQL ou Redis en option | Playwright, en option | à fournir ; rotation simple ou par paliers | 1.10.4, 6 oct. 2026 |
| Camoufox | MPL-2.0 ; lanceurs sous MIT | Python 3.10 ou Node.js 22.15, Playwright ; archive d'environ 1,3 Go | c'est le navigateur : un Firefox 156 modifié | à fournir ; prévu derrière des proxies résidentiels | v156.0.1-beta.36, 6 oct. 2026 |
| Rota | Apache-2.0 | Caddy, service Go, tableau de bord Next.js, TimescaleDB ; TimescaleDB même sans Docker | aucun | c'est sa fonction ; aucun proxy livré | 2.3.0, 20 sept. 2026 |
| OpenSERP | MIT | un binaire Go et Chromium ; 2 Go de /dev/shm en Compose | Chromium par défaut, seul mode pour Bing et DuckDuckGo | à fournir ; « généralement nécessaires » sur un VPS | 0.8.12, 22 juil. 2026 |
| changedetection.io | Apache-2.0 | un conteneur Python 3.11, sans base | Chrome en option, exigé pour les captures et les Browser Steps | un par surveillance, à fournir | 0.60.8, 28 sept. 2026 |
| PriceGhost | « MIT » au README, sans fichier de licence | PostgreSQL, backend Node.js 20, frontend React | Chromium embarqué, avec le plugin stealth | absents de la documentation | 1.0.6, 26 janv. 2026 ; aucune release GitHub |
| Agent Reach | MIT | Python 3.10, Node.js, gh, mcporter, un outil par plateforme | Chrome de bureau pour plusieurs canaux | résidentiel conseillé sur un serveur | 1.5.0, 11 juin 2026 |
Le navigateur headless est la pièce la plus lourde. Chaque archive de Camoufox v156.0.1-beta.36 pèse environ 1,3 Go, contre quelque 650 Mo sous Linux pour la v152 ; le projet annonce environ 200 Mo de mémoire contre plus de 800 Mo pour Chrome, un chiffre qu'il avance sans mesure publiée. OpenSERP fait tourner jusqu'à six processus Chrome en parallèle par défaut, chaque proxy authentifié ayant le sien, et son Compose réserve 2 Go de /dev/shm, sans quoi Chrome manque de mémoire. changedetection.io se passe de navigateur par défaut, mais son sélecteur visuel, ses Browser Steps et la comparaison de captures en exigent un. Crawlee for Python s'accorde par défaut 25 % de la mémoire disponible pour régler sa concurrence.
L'adresse IP est la première cause de blocage que nomme le guide anti-blocage de Crawlee. OpenSERP s'y heurte directement : sur un VPS, écrit son mainteneur, les IP de datacenter peuvent être sur liste noire et des proxies sont « généralement nécessaires », et un ticket ouvert en juillet 2026 décrit un CAPTCHA Google dès la première requête. Google remplace en outre les liens organiques par des jetons chiffrés pour les clients qu'il juge automatisés ; un correctif a été fusionné le 22 septembre 2026, mais aucune version ne le contient encore. PriceGhost ne gère aucun proxy et se contente d'espacer ses relevés. changedetection.io accepte un proxy par surveillance et recommande Bright Data par un lien de parrainage ; Agent Reach conseille un proxy résidentiel sur un serveur, pour environ un dollar par mois selon son README.
Ce qu'il faut fermer avant d'exposer une instance
Les fichiers Compose de trois projets laissent des services ouverts. Rota publie son port 8000 sur l'hôte avec l'authentification désactivée : toute requête passe tant qu'aucun compte proxy n'existe, ce qui en fait un proxy ouvert. L'API d'OpenSERP ne déclare aucune authentification, accepte toute origine en CORS et, depuis la v0.8.12, laisse un appelant imposer son propre proxy ; son Compose publie le port 7000 sur toutes les interfaces, et les notes de version conseillent de repasser proxies.allow_request_proxy_url à false sur une instance exposée. PriceGhost publie PostgreSQL sur le port 5432 avec le mot de passe postgres et, faute de JWT_SECRET, signe les sessions avec une valeur écrite dans le fichier, qui suffit à forger un jeton selon un ticket ouvert en septembre 2026. changedetection.io protège toute l'instance par un mot de passe unique, désactivé par défaut.
Ce que les projets disent des conditions d'utilisation des sites
Le README de changedetection.io est le plus explicite : sa section Disclaimer laisse à l'utilisateur le respect des conditions d'utilisation des sites, de leur robots.txt et des lois. Les deux Crawlee savent écarter les URL que le robots.txt interdit (respectRobotsTxtFile en Node.js, respect_robots_txt_file en Python), mais l'option est désactivée par défaut. En Python, le ThrottlingRequestManager applique aussi le crawl-delay du fichier, et la documentation Node.js renvoie, depuis son guide de parallélisation, au billet d'Apify sur le scraping éthique.
Agent Reach parle des comptes plutôt que des sites : son README prévient que les plateformes peuvent détecter les appels scriptés et bannir le compte, conseille un compte secondaire et ne dit rien de leurs conditions d'utilisation. PriceGhost ne traite que du risque d'être bloqué. Camoufox, OpenSERP et Rota n'abordent le sujet ni dans leur README ni dans leur documentation.
Où en sont les projets
Crawlee for Python publie presque une version par semaine : 35 versions 1.x depuis la 1.0.0 du 29 septembre 2025. Crawlee pour Node.js entretient sa branche 3.x (3.18.2 le 29 septembre 2026) pendant que sa v4, en release candidate, prévient que les changements cassants « sont nombreux ». changedetection.io est resté en 0.x depuis 2021 mais publie souvent : 67 versions en 2025, 40 depuis janvier 2026, et son mainteneur signe 397 des 514 commits de 2026 sur la branche principale.
Camoufox n'a jamais quitté la bêta, et son README prévient qu'il peut ne pas convenir à une production stable. Aucune version n'est sortie entre mars 2025 et janvier 2026, et jusqu'à fin août 2026 le README situait le développement actif sur un fork de Clover Labs ; le dépôt principal publie désormais une préversion à chaque fusion testée, soit cinq builds entre le 28 septembre et le 6 octobre 2026. Rota a publié cinq versions depuis juillet 2026, après près de huit mois sans release, et sa 2.1.0 doit ses sources, ses pools, ses comptes et sa géolocalisation à la pull request d'un contributeur extérieur ; sa 3.0 n'est encore qu'un brouillon. OpenSERP en est à la 0.8.12 du 22 juillet, son correctif pour Google attend une version, et son mainteneur signe 135 commits, contre 17 pour le contributeur suivant. Agent Reach se classe lui-même en bêta, sa dernière version date du 11 juin 2026, et l'installation tire la branche principale. Son catalogue bouge : la v1.4.2 a retiré Douyin, Weibo et les comptes officiels WeChat, faute d'outil fiable en amont.
PriceGhost n'a reçu aucun commit depuis le 3 février 2026. Un seul développeur signe les 122 commits, sa dernière réponse dans les tickets date du 10 février, aucune contribution extérieure n'a été fusionnée, et le README dit l'application entièrement écrite avec Claude Code.
Licences et offres payantes
Crawlee, Crawlee for Python, Rota et changedetection.io sont sous Apache-2.0, OpenSERP et Agent Reach sous MIT. Camoufox mêle trois licences : MPL-2.0 pour le navigateur, LGPL-3.0-or-later pour les trajectoires de souris reprises de Cursory, MIT pour les lanceurs Python et TypeScript. Selon son site, les versions jusqu'à la v135.0.1-beta.24 contenaient un patch Canvas fermé, et tout le code est public depuis janvier 2026. PriceGhost annonce « MIT » en fin de README, mais le dépôt n'a aucun fichier de licence et GitHub n'en détecte pas.
Trois éditeurs vendent un service autour du code libre. Apify vend sa plateforme : exécution des crawlers, stockage, proxies réservés aux abonnés, planification et webhooks, avec 5 dollars d'usage offerts chaque mois à un compte gratuit. Le site de Crawlee dit qu'il « fonctionne partout, mais Apify offre la meilleure expérience », et sa documentation promet que Crawlee restera open source. L'offre hébergée de changedetection.io coûte 8,99 dollars par mois pour 5 000 URL au plus, avec un Chrome et des proxies européens, américains et Tor ; toutes les fonctions qu'elle liste sont dans le code libre, et c'est l'infrastructure qui se paie. OpenSERP Cloud reprend la même API, à 0,009 dollar le crédit de dix résultats au plus après 60 crédits offerts, et ajoute des clés d'API gérées et des recherches planifiées ; sa page ne dit rien des proxies ni des CAPTCHA. Camoufox, Rota, PriceGhost et Agent Reach n'ont aucune offre payante, et douze des dix-neuf sponsors de Camoufox vendent des proxies.
