# Proooxy — Données web prêtes pour le RAG, pour agents IA et LLM — Contenu complet (llms-full.txt) > Données web structurées et prêtes pour le RAG, destinées aux agents IA, aux pipelines de récupération et aux LLM. Richard Feng conçoit des acteurs Apify de qualité production pour l'e-commerce, les dépôts SEC/EDGAR, les dépenses fédérales, les décisions de justice, les essais cliniques et les données sociales et vidéo — contournement anti-bot, JSON propre au schéma cohérent, aucune clé API pour les données publiques. Ce fichier est une concaténation en un seul document de toutes les pages publiques de https://proooxy.com/fr/, destinée à une ingestion directe par les LLM et les agents IA. Chaque page est précédée d’un bloc de faits de frontmatter structuré (URL, type, catégorie, technologie, régions, dates) et suivie de son corps Markdown complet. Généré automatiquement à partir du site en production. --- ## Métadonnées du site - **Site:** Proooxy — Données web prêtes pour le RAG, pour agents IA et LLM - **URL:** https://proooxy.com/fr/ - **Description:** Données web structurées et prêtes pour le RAG, destinées aux agents IA, aux pipelines de récupération et aux LLM. Richard Feng conçoit des acteurs Apify de qualité production pour l'e-commerce, les dépôts SEC/EDGAR, les dépenses fédérales, les décisions de justice, les essais cliniques et les données sociales et vidéo — contournement anti-bot, JSON propre au schéma cohérent, aucune clé API pour les données publiques. - **Auteur:** Richard Feng - **GitHub:** https://github.com/autofacts - **Apify Store:** https://apify.com/autofacts - **Outils:** 17 acteurs de production - **Articles:** 2 - **Dernière génération:** 2026-08-04 --- ## Index du catalogue d’outils - [Macy's Scraper — Produits, prix, SKUs et actualités](https://proooxy.com/fr/tools/macys-scraper/) — Produits, prix, SKUs/UPC et actualités Macy's — résistant à Akamai, sans navigateur. - [Bluesky Scraper — Posts, profils, feeds et interactions](https://proooxy.com/fr/tools/bluesky-scraper/) — Extrayez posts, profils, feeds et interactions Bluesky. - [ClinicalTrials.gov Scraper — Études, éligibilité et résultats](https://proooxy.com/fr/tools/clinical-trials-scraper/) — Recherchez études, éligibilité et résultats sur ClinicalTrials.gov. - [CourtListener Scraper — Décisions, dockets et texte intégral](https://proooxy.com/fr/tools/courtlistener-scraper/) — Jurisprudence américaine, dockets et texte intégral des décisions pour l’IA juridique. - [SEC EDGAR Scraper — Dépôts, texte intégral et données financières XBRL](https://proooxy.com/fr/tools/sec-edgar-scraper/) — Dépôts SEC, texte des 10-K/10-Q et données financières XBRL — prêts pour le RAG. - [USAspending.gov Scraper — Financements fédéraux, bénéficiaires et agrégats](https://proooxy.com/fr/tools/usaspending-scraper/) — Financements fédéraux, bénéficiaires et agrégats de dépenses depuis USAspending.gov. - [YouTube Subtitle & Transcript Scraper — JSON, SRT, VTT, LLM](https://proooxy.com/fr/tools/youtube-transcript-scraper/) — Transcriptions YouTube en JSON, SRT, VTT, ou texte prêt pour LLM. - [Sephora Scraper (Mondial)](https://proooxy.com/fr/tools/sephora-scraper/) — Extrayez n’importe quelle boutique Sephora — 21 marchés, un seul acteur. - [Boohoo Scraper — Données produits dans 7 régions](https://proooxy.com/fr/tools/boohoo-scraper/) — Extrayez les données produits Boohoo dans 7 boutiques régionales. - [Farfetch Scraper — Données produits mode de luxe](https://proooxy.com/fr/tools/farfetch-scraper/) — Extrayez les produits de mode de luxe Farfetch avec support multi-devises. - [Global API Load Tester — Test de charge 10K+ RPS](https://proooxy.com/fr/tools/load-tester/) — Simulez 10K+ RPS avec des tests de charge géodistribués. - [Lululemon Scraper — Produits, variantes et prix](https://proooxy.com/fr/tools/lululemon-scraper/) — Extrayez les données produits avec variantes et médias de Lululemon. - [Schema Markup Scraper & SEO Auditor](https://proooxy.com/fr/tools/schema-markup-scraper/) — Extrayez les données structurées et auditez le SEO de n’importe quel site. - [Sephora EU Scraper — 9 marchés européens](https://proooxy.com/fr/tools/sephora-eu-scraper/) — Extrayez les données produits de Sephora sur 9 marchés européens. - [Shopify Scraper — Données produits de n’importe quelle boutique](https://proooxy.com/fr/tools/shopify-scraper/) — Extrayez les données produits de n’importe quelle boutique Shopify. - [Ulta Beauty Scraper — Produits, prix et SKUs](https://proooxy.com/fr/tools/ulta-scraper/) — Extrayez les données produits complètes d’Ulta Beauty. - [Universal Web Printer — URL et HTML vers PDF, image](https://proooxy.com/fr/tools/web-printer/) — Convertissez URLs et HTML en PDF, PNG, JPEG ou WebP. --- # Macy's Scraper — Produits, prix, SKUs et actualités - **URL:** https://proooxy.com/fr/tools/macys-scraper/ - **Type:** tools - **Description:** Extrayez les données produits Macy's — prix, variantes, SKU/UPC, images, notes et avis — plus les actualités Macy's Inc., via URLs de recherche, catégorie, tendances ou produit. Sans navigateur, résistant à Akamai. - **Résumé:** Produits, prix, SKUs/UPC et actualités Macy's — résistant à Akamai, sans navigateur. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, Crawlee, Cheerio - **Marchés / régions:** États-Unis - **Fiche Apify:** https://apify.com/autofacts/macy-s-scraper - **Mots-clés:** scraper macys, données produits macy's, suivi prix macys, scraper grand magasin, données sku upc macys, scraper avis macys, données produits retail - **Publié:** 2026-07-15 - **Modifié:** 2026-07-15 **Fonctionnalités clés:** - Quatre surfaces dans un seul acteur — recherche produit, catégorie, tendances, et actualités Macy's Inc. - Déjoue Akamai Bot Manager sans navigateur, en utilisant les API JSON mobiles et web propres à Macy's - Codes-barres UPC par SKU, avec couleur, taille, disponibilité et prix pour chaque variante achetable - Prix en cents sous forme d’entiers, plus des chaînes formatées localisées — aucun arrondi en virgule flottante - Intelligence complète sur les avis — histogramme d’étoiles, nombre de recommandations, et notes secondaires de coupe/taille - Toutes les teintes et tailles regroupées sous une seule fiche produit, pas une ligne par variante - Uniquement des URLs canoniques propres — les endpoints d’API internes et les clés client ne fuitent jamais dans la sortie - Un schéma normalisé unique pour les résultats de recherche, catégorie, tendances et détail produit **Cas d’usage:** - Suivi des prix et promotions en grand magasin au niveau SKU - Analyse concurrentielle — Macy's face à Nordstrom, Ulta, ou la tarification DTC des marques - Rapprochement de catalogues entre enseignes via les codes-barres UPC par variante - Intelligence sur les avis et notes pour les marques vendues chez Macy's - Veille actualités retail — communiqués de presse et annonces de résultats de Macy's Inc. **Paramètres d’entrée:** - `scrapeType` (string, requis) — Surface à scraper : search, category, trending, news, ou all (par défaut : search). - `query` (string, optionnel) — Mot-clé pour la recherche produit, ex. women shoes. - `startUrls` (array, optionnel) — URLs de produits/catégories Macy's ou d’actualités Macy's Inc. - `categoryIds` (array, optionnel) — ID de catégorie Macy's (ex. 5449). Les URLs de catégorie sont préférables lorsqu’elles sont connues. - `trendingUrls` (array, optionnel) — URLs de listings tendances, meilleures ventes, ou sélections. - `newsUrls` (array, optionnel) — URLs de listing d’actualités ou d’articles Macy's Inc. - `includeProductDetails` (boolean, optionnel) — Enrichit les éléments de listing avec le détail produit complet — variantes, SKUs, galeries (par défaut : true). - `maxPages` (number, optionnel) — Profondeur de pagination maximale par source de listing/actualités. - `maxResults` (number, optionnel) — Plafond d’enregistrements en sortie. 0 = aucun plafond. - `proxy` (object, requis) — Apify Proxy ou URLs de proxy personnalisées. Résidentiel, pays US recommandé. **FAQ:** **Q: Comment contourne-t-il Akamai sans navigateur ?** Il n’affronte pas du tout le défi JS. Les listings proviennent de l’API de l’application mobile Macy's, et les détails produits de l’API JSON du site web — les deux tournent sur une infrastructure séparée qui répond aux requêtes de lecture anonymes. Aucune connexion, aucun cookie, aucune clé API. **Q: Les prix sont-ils en dollars ou en cents ?** En cents sous forme d’entiers (5999 = $59.99) pour éviter l’arrondi en virgule flottante, accompagnés de chaînes formatées localisées ($59.99). **Q: Comment les variantes et les UPC sont-ils gérés ?** Toutes les couleurs et tailles sont regroupées sous une seule fiche produit, avec un tableau variants[]. Chaque variante porte son propre code-barres UPC, sa couleur, sa taille, sa disponibilité et son prix — récupérés depuis les données de relation SKU de Macy's, et non extraits d’un widget de nuancier. **Q: Puis-je scraper produits et actualités en un seul run ?** Oui. Définissez scrapeType sur all et fournissez n’importe quelle combinaison de query, startUrls, categoryIds, trendingUrls et newsUrls. ## Exemple de sortie ```json { "type": "product", "source": { "id": "12345678", "canonicalUrl": "https://www.macys.com/shop/product/calvin-klein-womens-sheath-dress?ID=12345678", "retailer": "macys", "currency": "USD" }, "title": "Women's Sleeveless Sheath Dress", "brand": "Calvin Klein", "categories": ["Women", "Dresses", "Work Dresses"], "price": { "sale": 5999, "list": 9800, "currentFormatted": "$59.99", "stockStatus": "InStock" }, "stats": { "rating": 4.6, "reviewCount": 9, "ratingPercentage": 92 }, "options": [ { "type": "Color", "values": [{ "id": "1", "name": "Black" }] }, { "type": "Size", "values": [{ "id": "10", "name": "M" }, { "id": "12", "name": "L" }] } ], "variants": [ { "id": "987654", "sku": "192837465012", "options": ["Black", "M"], "price": { "stockStatus": "InStock" }, "extraInfo": { "upc": "192837465012" } } ], "medias": [{ "type": "Image", "url": "https://slimages.macysassets.com/is/image/MCY/products/.../main.jpg" }] } ``` ## Tarification Facturation à l’événement — vous n’êtes facturé que pour les éléments réellement sauvegardés : | Événement | Prix | Ce qui est couvert | |---|---|---| | Produit scrapé | $0.006 | Un produit avec détail complet — variantes, SKUs/UPC, prix, images, notes | | Article scrapé | $0.002 | Un article d’actualité Macy's Inc. — titre, auteur, date, corps, images | Des remises de volume s’appliquent automatiquement sur les plans Apify supérieurs (jusqu’à $0.0045 par produit). Un crawl de 1 000 produits coûte environ $6.00 au tarif catalogue. ## Astuces - **Utilisez des proxies résidentiels US.** L’endpoint de détail produit est sujet à une limitation de débit intermittente ; la rotation de sessions résidentielles passe sans problème, alors que les IP datacenter voient davantage de 403. - **Gardez une concurrence modeste.** `maxConcurrency` à 2–3 est le point d’équilibre — des valeurs plus élevées augmentent les blocages liés au débit sans améliorer le débit réel. - **Préférez les URLs de catégorie aux ID bruts.** L’URL porte le chemin de catégorie attendu par l’API ; un ID brut peut résoudre vers un jeu de résultats plus large, voire vide. - **Désactivez `includeProductDetails`** pour un balayage rapide au niveau listing (nom, marque, prix affiché, image, note) lorsque vous n’avez pas besoin des variantes ou des descriptions. --- # Bluesky Scraper — Posts, profils, feeds et interactions - **URL:** https://proooxy.com/fr/tools/bluesky-scraper/ - **Type:** tools - **Description:** Extrayez posts, profils, abonnés, feeds et threads Bluesky, plus les comptes ayant liké ou reposté, via l’AT Protocol — avec recherche authentifiée et résultats de hashtags par mot de passe d’application. JSON propre et normalisé. - **Résumé:** Extrayez posts, profils, feeds et interactions Bluesky. - **Catégorie:** social - **Stack technique:** TypeScript, AT Protocol - **Marchés / régions:** Mondial - **Fiche Apify:** https://apify.com/autofacts/bluesky-scraper - **Mots-clés:** scraper bluesky, extraire données bluesky, api bluesky, données at protocol, récupérer posts bluesky, scraper hashtag bluesky, extraction de données réseaux sociaux, données profil bluesky - **Publié:** 2026-07-01 - **Modifié:** 2026-07-01 **Fonctionnalités clés:** - Onze modes — search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes et hashtag - API publique sans identifiants pour les profils, posts, abonnés, abonnements, feeds, threads, likers et reposters - Modes authentifiés par mot de passe d’application — search, hashtag, et les likes de votre propre compte - Export de l’engagement par post — listes complètes des likers et reposters pour chaque post - Aplatissement des threads — parcourt un arbre de réponses jusqu’à une profondeur configurable - Pagination par curseur automatique sur chaque endpoint de liste, jusqu’à votre plafond d’éléments - Structure JSON normalisée pour les posts et profils, quel que soit le mode - HTTP résilient — limitation du débit de requêtes, backoff exponentiel, et nouvelle tentative sur 429/5xx **Cas d’usage:** - Surveillance de marque et de mots-clés via la recherche authentifiée - Suivi des hashtags et des tendances sur l’ensemble du réseau - Export d’audience — les listes d’abonnés et d’abonnements d’un créateur ou d’une marque - Analyse de l’engagement — savoir précisément qui a liké ou reposté un post donné - Construction de datasets pour la BI, l’analytics ou des pipelines RAG à partir de JSON propre et normalisé - Archivage des conversations et des threads sous un post **Paramètres d’entrée:** - `mode` (string, optionnel) — Ce qu’il faut scraper : posts, profile, followers, following, feed, thread, likers, reposters, actorLikes, search, ou hashtag (par défaut : posts). - `handles` (array, optionnel) — Handles Bluesky pour les modes profile/posts/followers/following/actorLikes, ex. bsky.app. - `query` (string, optionnel) — Texte de recherche (mode search) ou hashtag (mode hashtag — préfixé automatiquement par #). - `postUri` (string, optionnel) — URI AT d’un post — utilisé par les modes thread, likers et reposters. - `feedUri` (string, optionnel) — URI AT d’un feed personnalisé — utilisé par le mode feed. - `identifier` (string, optionnel) — Handle ou email de connexion Bluesky pour les modes authentifiés (search, hashtag, actorLikes). - `appPassword` (string, optionnel) — Mot de passe d’application Bluesky (pas le mot de passe principal de votre compte) pour les modes authentifiés. - `maxItems` (number, optionnel) — Nombre maximal de posts/profils sauvegardés ; chacun correspond à un événement facturé (par défaut : 100). **FAQ:** **Q: Ai-je besoin d’identifiants Bluesky ?** Seulement pour les modes search, hashtag et actorLikes — générez un mot de passe d’application dans les paramètres Bluesky et passez-le comme appPassword. Les modes profile, posts, followers, following, feed, thread, likers et reposters fonctionnent tous sans identifiants via l’API publique de l’AT Protocol. **Q: Puis-je exporter les likes de n’importe quel compte ?** Non. L’API de Bluesky n’expose actorLikes que pour le compte authentifié lui-même : le handle et l’identifiant de connexion doivent donc référencer le même compte. **Q: Comment trouver l’URI d’un post ou d’un feed ?** Les URI AT ressemblent à at://did:plc:.../app.bsky.feed.post/... — copiez-les depuis la sortie de l’API Bluesky ou des outils développeur. Les URI de feed utilisent la collection app.bsky.feed.generator. **Q: Est-il sûr d’utiliser mon mot de passe d’application ?** Oui — utilisez un mot de passe d’application Bluesky (créé dans Settings → App Passwords), jamais votre mot de passe principal. Il est à portée limitée, révocable, et transmis comme un input secret. ## Exemple de sortie ```json { "itemType": "post", "mode": "posts", "uri": "at://did:plc:.../app.bsky.feed.post/...", "author": { "did": "did:plc:...", "handle": "bsky.app", "displayName": "Bluesky", "followersCount": 1234567 }, "text": "Example post text", "createdAt": "2026-06-11T00:00:00Z", "replyCount": 10, "repostCount": 20, "likeCount": 100, "langs": ["en"], "url": "https://bsky.app/profile/bsky.app/post/..." } ``` ## Tarification Facturation à l’événement : **$0.001 par élément** (post ou profil) sauvegardé. Un export de 1 000 éléments coûte environ $1.00, et `maxItems` plafonne à la fois le volume et le coût. ## Astuces - **Commencez par les modes publics.** Profils, posts, abonnés, et engagement (likers/reposters) ne nécessitent aucune connexion — réservez l’authentification par mot de passe d’application aux runs search et hashtag. - **Exportez l’engagement, pas seulement les posts.** Les modes likers et reposters révèlent précisément qui a amplifié un post — un signal que la plupart des scrapers Bluesky ignorent. - **Plafonnez `maxItems`** sur les extractions de followers/following pour les gros comptes, afin de garder des runs rapides et des coûts prévisibles. --- # ClinicalTrials.gov Scraper — Études, éligibilité et résultats - **URL:** https://proooxy.com/fr/tools/clinical-trials-scraper/ - **Type:** tools - **Description:** Interrogez l’API officielle ClinicalTrials.gov v2 par condition, intervention, promoteur, lieu, statut ou ID NCT. Exportez des fiches d’études normalisées avec éligibilité, métadonnées de résultats et mises à jour incrémentales — sans clé API. - **Résumé:** Recherchez études, éligibilité et résultats sur ClinicalTrials.gov. - **Catégorie:** public-data - **Stack technique:** TypeScript, REST API - **Marchés / régions:** Mondial - **Fiche Apify:** https://apify.com/autofacts/clinical-trials-scraper - **Mots-clés:** api clinicaltrials.gov, données essais cliniques, dataset essais cliniques, essais cliniques en recrutement, critères éligibilité essais cliniques, veille pipeline pharma, essais cliniques pour RAG - **Publié:** 2026-07-01 - **Modifié:** 2026-07-01 **Fonctionnalités clés:** - API officielle ClinicalTrials.gov v2 — aucune clé API requise - Recherche multi-champs — condition, intervention, promoteur, lieu, et requête en texte libre - Filtrage par statut de recrutement (9 valeurs, combinables en OR) et par phase (Early Phase 1 → Phase 4) - Recherche directe par ID NCT pour une ou plusieurs études spécifiques - Surveillance incrémentale via updatedSince — ne renvoie que les études modifiées à partir d’une date donnée - Sortie summary ou full — full ajoute les sections protocol, derived et results brutes - Découpage en chunks par paragraphe, prêt pour le RAG, à partir des titres, résumés, critères d’éligibilité et résultats - Signaux de résultats — hasResults, ainsi que les indicateurs participant-flow, outcome-measures et adverse-events - Termes MeSH dérivés, et données normalisées de promoteur, collaborateur et lieu **Cas d’usage:** - Veille de pipeline pharma / biotech par promoteur ou condition - Recherche CRO et de faisabilité de site — essais en recrutement par lieu, phase et condition - Veille concurrentielle sur les études nouvellement publiées ou mises à jour - Recherche sur le recrutement de patients à travers les essais activement en recrutement - Revues systématiques — critères d’éligibilité, résultats et métadonnées à grande échelle - Bases de connaissances IA médicale / RAG construites à partir de texte d’essais découpé en chunks **Paramètres d’entrée:** - `condition` (string, optionnel) — Condition ou maladie à rechercher, ex. diabetes. - `status` (array, optionnel) — Filtre de statut de recrutement, combinable en OR, ex. RECRUITING, COMPLETED. - `phase` (array, optionnel) — Phases de l’étude — Not Applicable, Early Phase 1, Phase 1–4. - `nctIds` (array, optionnel) — Récupère des études spécifiques par ID NCT ClinicalTrials.gov. - `updatedSince` (string, optionnel) — YYYY-MM-DD — renvoie les études dont le LastUpdatePostDate est postérieur ou égal à cette date. - `outputFields` (string, optionnel) — summary (par défaut, normalisé) ou full (ajoute les sections protocol/derived/results brutes). - `chunking` (string, optionnel) — Découpage en chunks pour le RAG : paragraph (par défaut) ou none. - `maxItems` (number, optionnel) — Nombre maximal d’études sauvegardées ; chacune correspond à un événement facturé (par défaut : 10). **FAQ:** **Q: Ai-je besoin d’une clé API ?** Non. L’API v2 de ClinicalTrials.gov est entièrement publique — l’acteur envoie uniquement un User-Agent descriptif, sans authentification. **Q: Puis-je obtenir les données brutes de l’étude, pas seulement les champs normalisés ?** Oui. Définissez outputFields sur 'full' pour inclure les sections brutes protocolSection, derivedSection et resultsSection, en plus des champs summary normalisés. **Q: Comment surveiller les études récemment modifiées ?** Définissez updatedSince avec une date YYYY-MM-DD. L’acteur filtre sur le LastUpdatePostDate de ClinicalTrials.gov et ne renvoie que les études mises à jour à partir de ce jour — idéal pour une veille quotidienne de pipeline. **Q: La couverture est-elle mondiale ou limitée aux États-Unis ?** Mondiale. ClinicalTrials.gov enregistre des essais dans le monde entier, et le tableau locations de chaque étude inclut pays, état, ville et établissement lorsqu’ils sont renseignés. ## Exemple de sortie ```json { "itemType": "study", "nctId": "NCT01884792", "title": "Example Diabetes Study", "officialTitle": "A Study of Example Diabetes Study", "status": "COMPLETED", "phase": ["PHASE2"], "studyType": "INTERVENTIONAL", "conditions": ["Diabetes Mellitus"], "sponsors": { "lead": "Example Sponsor Inc.", "collaborators": [] }, "locations": [ { "facility": "Example Medical Center", "city": "Boston", "state": "MA", "country": "United States", "status": "COMPLETED" } ], "hasResults": true, "resultsSummary": { "hasParticipantFlow": true, "hasOutcomeMeasures": true, "hasAdverseEvents": true }, "lastUpdate": "2026-06-01", "url": "https://clinicaltrials.gov/study/NCT01884792" } ``` ## Tarification Facturation à l’événement : **$0.002 par étude** sauvegardée, quel que soit le mode de sortie summary ou full. Un export de 1 000 études coûte environ $2.00, et `maxItems` plafonne à la fois le volume et le coût. ## Astuces - **Utilisez `updatedSince` pour la veille des changements.** Planifiez un run quotidien avec la date de la veille pour ne capturer que les essais publiés ou modifiés — le moyen le plus économique de suivre le pipeline d’un concurrent. - **Combinez `condition` + `status: [RECRUITING]` + `phase`** pour construire une liste de faisabilité ciblée sans extraire l’intégralité du registre. - **Ne définissez `outputFields: full`** que lorsque vous avez besoin des sections brutes — le résumé normalisé inclut déjà l’éligibilité, les promoteurs, les lieux et les indicateurs de résultats. --- # CourtListener Scraper — Décisions, dockets et texte intégral - **URL:** https://proooxy.com/fr/tools/courtlistener-scraper/ - **Type:** tools - **Description:** Interrogez CourtListener pour les décisions de justice US, les dockets RECAP, les plaidoiries orales, les juges et les citations — texte intégral et chunks prêts pour le RAG. Filtrez par tribunal, date ou mot-clé. - **Résumé:** Jurisprudence américaine, dockets et texte intégral des décisions pour l’IA juridique. - **Catégorie:** public-data - **Stack technique:** TypeScript, Cheerio - **Marchés / régions:** États-Unis - **Fiche Apify:** https://apify.com/autofacts/courtlistener-scraper - **Mots-clés:** api courtlistener, données jurisprudence api, scraper décisions de justice, données docket recap, données recherche juridique, dataset jurisprudence américaine, jurisprudence pour RAG - **Publié:** 2026-07-01 - **Modifié:** 2026-07-01 **Fonctionnalités clés:** - Six types de recherche dans un seul acteur — opinions, dockets (RECAP), documents RECAP, plaidoiries orales, juges, et recherche de citations - Texte intégral des décisions — l’acteur suit les résultats de recherche jusque dans la base pour obtenir des décisions complètes, pas de simples extraits de 300 caractères - Découpage en chunks prêt pour le RAG — des chunks de paragraphes d’environ 2000 caractères, chacun avec un index d’ordre - Résolution de citations — résolvez jusqu’à 250 chaînes de citation (ex. 576 U.S. 644) vers les affaires correspondantes - Recherche booléenne en texte intégral, plus des filtres par ID de tribunal, plage de dates de dépôt, et ordre de tri - Un rythme conscient des limites de débit, avec un backoff précis sur 429 à travers tous les formats de réponse de CourtListener - Streaming par pagination à curseur jusqu’à votre plafond d’éléments configuré - Utilisez votre propre token, ou le pool de tokens rotatifs intégré **Cas d’usage:** - Recherche juridique — extrayez la jurisprudence en texte intégral par tribunal, plage de dates ou mot-clé - Veille contentieuse — suivez l’activité des dockets d’un tribunal par sujet et par date - IA juridique / RAG — construisez un corpus de jurisprudence découpé en chunks, prêt pour les embeddings - Analyse de citations — résolvez les citations d’un mémoire vers les décisions liées et leur nombre de citations - Études juridiques empiriques — juges, métadonnées de plaidoiries orales, et tendances des décisions - Journalisme judiciaire — surveillez les décisions ou dockets nouvellement déposés dans des tribunaux spécifiques **Paramètres d’entrée:** - `searchType` (string, optionnel) — Ce qu’il faut récupérer : opinions, dockets, recap_docs, oral_arguments, judges, ou citation (par défaut : opinions). - `query` (string, optionnel) — Requête en texte intégral avec opérateurs booléens — requis sauf en cas d’utilisation d’un filtre de tribunal ou d’une recherche de citation. - `citations` (array, optionnel) — Chaînes de citation à résoudre (jusqu’à 250) — requis pour le mode citation. - `court` (string, optionnel) — ID de tribunal CourtListener, ex. scotus, ca9, nyed. - `dateFrom` (string, optionnel) — Date de dépôt après laquelle filtrer (YYYY-MM-DD). - `includeFullText` (boolean, optionnel) — Récupère le texte intégral des décisions et les chunks RAG pour les opinions (par défaut : false). - `apiToken` (string, optionnel) — Votre token API CourtListener ; utilise le pool rotatif intégré si omis. - `maxItems` (number, optionnel) — Nombre maximal d’éléments sauvegardés ; chacun correspond à un événement facturé (par défaut : 5). **FAQ:** **Q: Ai-je besoin d’un token API CourtListener ?** CourtListener en exige un. Fournissez votre propre token gratuit via apiToken, ou reposez-vous sur le pool de repli rotatif intégré à l’acteur. Utiliser votre propre token permet d’augmenter le débit sur un palier payant/membership. **Q: Le texte intégral des décisions est-il disponible pour tous les types de recherche ?** Non. Le texte intégral et le chunking (includeFullText) s’appliquent uniquement aux opinions, et sont désactivés par défaut pour garder des runs rapides. Les dockets, documents RECAP, plaidoiries orales, juges et résultats de citation ne renvoient que des métadonnées. **Q: Quels tribunaux sont couverts ?** Tout ce que CourtListener indexe — les tribunaux fédéraux américains (SCOTUS, cours d’appel, et tribunaux de district via RECAP), ainsi que de nombreux tribunaux d’État, désignés par les ID de tribunal propres à CourtListener comme scotus, ca9, ou nyed. **Q: Quelle est la vitesse d’exécution possible ?** Le débit est limité par le taux de votre token (le palier gratuit de CourtListener autorise quelques requêtes par minute), avec un backoff automatique sur 429 ; un token membership relève ce plafond. ## Exemple de sortie ```json { "itemType": "legal", "searchType": "opinions", "id": "10380001", "title": "Climate United Fund v. Citibank, N.A.", "court": "Court of Appeals for the D.C. Circuit", "date": "2025-04-16", "url": "https://www.courtlistener.com/opinion/10380001/...", "citations": [], "citeCount": 0, "docketNumber": "23-5138", "fullText": "...", "chunks": [{ "text": "...", "order": 0 }], "meta": { "courtId": "cadc", "clusterId": 10380001 } } ``` ## Tarification Facturation à l’événement — vous n’êtes facturé que pour les éléments sauvegardés : | Événement | Prix | Ce qui est couvert | |---|---|---| | Opinion avec texte intégral | $0.005 | Une opinion sauvegardée avec texte complet + chunks RAG | | Élément de métadonnées | $0.002 | Un docket, une plaidoirie orale, un juge, une citation, ou un enregistrement de métadonnées uniquement | Un corpus en texte intégral de 1 000 opinions coûte environ $5.00 ; `maxItems` plafonne à la fois le volume et le coût. ## Astuces - **N’activez `includeFullText` que pour les opinions que vous allez réellement embedder.** Cela coûte des requêtes supplémentaires par opinion et c’est désactivé par défaut — filtrez d’abord précisément par tribunal et par date. - **Utilisez le mode `citation` pour enrichir un mémoire.** Collez les chaînes de citation et récupérez en un seul run les décisions liées et leur nombre de citations. - **Utilisez votre propre token CourtListener** pour les gros volumes — le faible taux du palier gratuit est le principal goulot d’étranglement en débit. --- # SEC EDGAR Scraper — Dépôts, texte intégral et données financières XBRL - **URL:** https://proooxy.com/fr/tools/sec-edgar-scraper/ - **Type:** tools - **Description:** Extrayez métadonnées de dépôts SEC EDGAR, sections en texte intégral des 10-K/10-Q, résultats de recherche EDGAR, et faits financiers XBRL, en JSON propre et prêt pour le RAG. Aucune clé API requise. - **Résumé:** Dépôts SEC, texte des 10-K/10-Q et données financières XBRL — prêts pour le RAG. - **Catégorie:** public-data - **Stack technique:** TypeScript, Cheerio - **Marchés / régions:** États-Unis - **Fiche Apify:** https://apify.com/autofacts/sec-edgar-scraper - **Mots-clés:** api sec edgar, scraper sec edgar, données dépôts 10-K, scraper 10-Q, données financières xbrl, recherche texte intégral edgar, dépôts sec pour RAG, api données financières entreprise - **Publié:** 2026-07-01 - **Modifié:** 2026-07-01 **Fonctionnalités clés:** - Quatre modes dans un seul acteur — métadonnées de dépôt, texte intégral du document, recherche en texte intégral EDGAR, et faits financiers XBRL - Découpage en chunks prêt pour le RAG — section, paragraph (~2000 caractères), ou none ; chaque chunk est associé à son Item source et à son ordre - Analyse automatique des sections « Item N » pour les 10-K/10-Q (Item 1A Risk Factors, Item 7 MD&A, et plus) - Faits XBRL avec taxonomie, tag, label, unité, valeur, année/période fiscale, formulaire, et numéro d’accession - La déduplication des faits regroupe les retraitements XBRL en une seule ligne par période, en conservant la première divulgation - Résolution d’entreprise par ticker, CIK, ou nom, à partir du fichier officiel des tickers de la SEC, avec repli approximatif (fuzzy) - Recherche en texte intégral EDGAR avec expressions entre guillemets, filtres de type de formulaire et de plage de dates (2001 → aujourd’hui) - Limitation de débit et User-Agent conformes SEC — aucune clé API ni connexion requise **Cas d’usage:** - Pipelines RAG / LLM financiers nécessitant du texte 10-K et 10-Q découpé par section, prêt pour les embeddings - Recherche en investissement — extrayez le chiffre d’affaires, le résultat net et les séries temporelles de BPA dilué sous forme de lignes XBRL propres - Veille conformité et actionnariat — Form 4, SC 13D/13G, et formulations de facteurs de risque à travers les entreprises - Produits fintech nécessitant des données EDGAR structurées sans avoir à construire un crawler sur mesure - Recherche de marché et sectorielle via la recherche en texte intégral — qui divulgue une expression, et depuis quand - Workflows BI et tableurs consommant des lignes de faits financiers XBRL propres **Paramètres d’entrée:** - `mode` (string, requis) — Mode d’extraction : filings, fulltext, search, ou facts (par défaut : filings). - `ticker` (string, optionnel) — Ticker boursier, ex. AAPL. L’un des trois — ticker/cik/companyName — est requis à l’exécution. - `cik` (string, optionnel) — Central Index Key de la SEC, ex. 320193 — prend le pas sur ticker et companyName. - `companyName` (string, optionnel) — Nom de l’entité enregistrée auprès de la SEC, mis en correspondance exacte ou approximative avec le fichier officiel des tickers. - `query` (string, optionnel) — Expression de recherche en texte intégral EDGAR, ex. "supply chain disruption" — requis pour le mode search. - `formTypes` (array, optionnel) — Types de formulaires à inclure, ex. 10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4. Vide = tous les formulaires. - `chunking` (string, optionnel) — Stratégie RAG en texte intégral : section, paragraph (~2000 caractères), ou none (par défaut : section). - `maxItems` (number, optionnel) — Nombre maximal d’éléments sauvegardés ; chaque élément sauvegardé correspond à un événement facturé (par défaut : 100). **FAQ:** **Q: Ai-je besoin d’une clé API SEC ?** Non. SEC EDGAR est une donnée publique gratuite. L’acteur s’identifie avec un User-Agent conforme et s’autolimite automatiquement sous le taux de la SEC — aucune clé, aucune connexion. **Q: Jusqu’à quand les données remontent-elles ?** La recherche en texte intégral EDGAR (EFTS) couvre les dépôts à partir du 2001-05-04, et plafonne à 10 000 résultats par requête. Les métadonnées de dépôt remontent à 1994, et les faits financiers XBRL couvrent tout ce que l’entreprise a déclaré en XBRL. **Q: La sortie est-elle prête pour les LLM et le RAG ?** Oui. En mode fulltext, l’acteur découpe les 10-K/10-Q en sections « Item N » et produit des chunks prêts pour les embeddings (section ou paragraphe d’environ 2000 caractères), chacun associé à son Item source et à son index d’ordre. **Q: Pourquoi certains dépôts sont-ils ignorés en mode fulltext ?** Les dépôts dont le document principal n’est ni HTML ni TXT (par exemple, un Form 4 XML uniquement XBRL) ne peuvent pas être découpés par section, ils sont donc ignorés — et non facturés. ## Exemple de sortie ```json { "itemType": "filing-fulltext", "title": "Apple Inc. — 10-K 2025-10-31", "company": "Apple Inc.", "ticker": "AAPL", "cik": "0000320193", "formType": "10-K", "filedAt": "2025-10-31", "accessionNo": "0000320193-25-000123", "documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/...", "sections": [ { "name": "Item 1A — Risk Factors", "charCount": 38241 }, { "name": "Item 7 — Management's Discussion and Analysis", "charCount": 21077 } ], "chunks": [ { "text": "The Company's business, reputation, results of operations...", "section": "Item 1A — Risk Factors", "order": 12 } ], "textLength": 220151 } ``` ## Tarification Facturation à l’événement — vous n’êtes facturé que pour les éléments réellement sauvegardés : | Événement | Prix | Ce qui est couvert | |---|---|---| | Métadonnées de dépôt / résultat de recherche | $0.001 | Un enregistrement de métadonnées de dépôt ou un résultat de recherche en texte intégral | | Dépôt en texte intégral | $0.005 | Un dépôt extrait, découpé par section, et chunké pour le RAG | | Fait XBRL | $0.0002 | Une ligne de fait financier XBRL | Une extraction de métadonnées de 1 000 dépôts coûte environ $1.00 ; 1 000 faits XBRL coûtent environ $0.20. `maxItems` plafonne à la fois le volume et le coût. ## Astuces - **Commencez par le mode `facts` pour les données financières.** Extraire des lignes XBRL (chiffre d’affaires, résultat net, BPA) est bien moins coûteux et plus propre que de parser des dépôts complets quand vous n’avez besoin que des chiffres. - **Utilisez `chunking: section` pour le RAG.** Cela garde chaque Item (Risk Factors, MD&A) intact, afin que la récupération renvoie des passages cohérents et citables. - **La recherche en texte intégral couvre la période à partir de 2001.** Pour des divulgations plus anciennes, résolvez l’entreprise par CIK et extrayez directement les métadonnées de dépôt. --- # USAspending.gov Scraper — Financements fédéraux, bénéficiaires et agrégats - **URL:** https://proooxy.com/fr/tools/usaspending-scraper/ - **Type:** tools - **Description:** Interrogez l’API officielle USAspending.gov v2 pour contrats, subventions et prêts fédéraux. Filtrez par agence, bénéficiaire, NAICS/PSC ou date, et extrayez profils de bénéficiaires, totaux par catégorie, et agrégats géographiques état/comté/circonscription. Sans clé API. - **Résumé:** Financements fédéraux, bénéficiaires et agrégats de dépenses depuis USAspending.gov. - **Catégorie:** public-data - **Stack technique:** TypeScript, REST API - **Marchés / régions:** États-Unis - **Fiche Apify:** https://apify.com/autofacts/usaspending-scraper - **Mots-clés:** api usaspending, données contrats fédéraux, données dépenses publiques, données subventions fédérales, étude marché govcon, données financements fédéraux, données contrats naics psc - **Publié:** 2026-07-01 - **Modifié:** 2026-07-01 **Fonctionnalités clés:** - API officielle USAspending.gov v2 — aucune clé API requise - Recherche de financements par mots-clés, année fiscale/plage de dates, agence, bénéficiaire, NAICS, PSC, montant et type de financement - Six modes — recherche de financements, détail de financement, sous-financements, profil bénéficiaire, totaux par catégorie, et géographie - 18 dimensions d’agrégation par catégorie (bénéficiaire, NAICS, PSC, agence, comté, circonscription, CFDA, TAS, et plus) - Agrégats géographiques par état, comté, circonscription électorale et pays, avec champs de population et par habitant - Découpage automatique par date (mensuel/trimestriel) pour les grands jeux de résultats pluriannuels - Regroupement automatique des codes de type de financement en groupes de requêtes API valides - Recherche exacte de détail de financement et sous-financement par ID de financement généré **Cas d’usage:** - Développement commercial GovCon — trouvez des opportunités et les titulaires de contrats en place par NAICS, PSC, ou agence - Veille concurrentielle sur l’historique de financements d’un concurrent et ses relations avec les agences - Journalisme d’investigation retraçant les dépenses fédérales vers des bénéficiaires ou zones géographiques spécifiques - Recherche politique et académique sur les tendances de dépenses par catégorie, type de financement, ou période - Revue de due diligence de l’historique de financements fédéraux et de dépenses d’un bénéficiaire - Tableaux de bord BI cartographiant les dépenses fédérales par état, comté, ou circonscription électorale **Paramètres d’entrée:** - `mode` (string, optionnel) — Workflow : awards, awardDetail, subawards, recipient, byCategory, ou geography (par défaut : awards). - `keywords` (array, optionnel) — Filtres par mots-clés libres USAspending pour la recherche de financements. - `fiscalYear` (number, optionnel) — Année fiscale fédérale (correspond à la plage du 1er oct. au 30 sept.). - `awardTypes` (array, optionnel) — Codes de type de financement USAspending ; les groupes mixtes sont automatiquement répartis en requêtes valides. - `agency` (string, optionnel) — Filtre exact par nom d’agence attributaire ou finançeuse. - `naicsCodes` (array, optionnel) — Codes NAICS qu’un financement doit respecter. - `awardId` (string, optionnel) — ID de financement généré — requis à l’exécution pour les modes awardDetail et subawards. - `maxItems` (number, optionnel) — Nombre maximal d’enregistrements sauvegardés ; chaque ligne correspond à un événement facturé (par défaut : 100). **FAQ:** **Q: Ai-je besoin d’une clé API ?** Non. L’API v2 de USAspending.gov est publique et ne nécessite ni clé ni connexion. **Q: Pourquoi les codes de type de financement mixtes sont-ils répartis en plusieurs requêtes ?** USAspending rejette une recherche unique qui mélange des codes de groupes de types de financement différents (contrats, IDV, subventions, prêts, autre aide financière, paiements directs). L’acteur regroupe automatiquement les codes demandés et associe à chaque ligne de sortie les codes de type de financement correspondants. **Q: Quelles répartitions géographiques sont disponibles ?** État, comté, circonscription électorale et pays — selon le lieu d’exécution ou la localisation du bénéficiaire, avec des champs de population et par habitant inclus. **Q: Comment un run est-il facturé ?** Facturation à l’événement, à $0.001 par ligne sauvegardée, facturée une fois par enregistrement renvoyé avec succès. maxItems plafonne le nombre de lignes, et donc le coût. ## Exemple de sortie ```json { "itemType": "award", "title": "HT940216C0001 — HUMANA GOVERNMENT BUSINESS INC", "date": "2016-02-01", "awardId": "HT940216C0001", "generatedId": "CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-", "recipient": { "name": "HUMANA GOVERNMENT BUSINESS INC", "uei": "...", "duns": "..." }, "awardingAgency": "Department of Defense", "fundingAgency": "Department of Defense", "amount": 51269205263.03, "awardType": "IDV_B_C", "naics": { "code": "...", "description": "..." }, "placeOfPerformance": { "stateCode": "...", "state": "..." }, "awardTypeCodes": ["IDV_B_C"], "url": "https://www.usaspending.gov/award/CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-" } ``` ## Tarification Facturation à l’événement : **$0.001 par enregistrement sauvegardé**, facturé une fois par ligne renvoyée avec succès. Un run d’environ 1 000 enregistrements coûte environ $1.00, et `maxItems` plafonne à la fois le volume et le coût. ## Astuces - **Commencez par les codes NAICS ou PSC** pour la prospection GovCon — ils correspondent directement aux produits/services que vous vendez et renvoient l’ensemble le plus propre de financements pertinents. - **Utilisez le mode `byCategory`** pour classer les principaux bénéficiaires ou agences d’un marché avant d’extraire le détail de financements individuels. - **Le mode geography renvoie la première page (jusqu’à 100 lignes)** par combinaison plage de dates/type de financement — affinez les filtres plutôt que d’augmenter `maxItems` pour les agrégats état/comté/circonscription. --- # YouTube Subtitle & Transcript Scraper — JSON, SRT, VTT, LLM - **URL:** https://proooxy.com/fr/tools/youtube-transcript-scraper/ - **Type:** tools - **Description:** Extrayez sous-titres et transcriptions YouTube — vidéos, Shorts, playlists et chaînes — en JSON, SRT, VTT, texte brut, ou texte prêt pour LLM. Plus de 100 langues, métadonnées riches, sans clé API — extractions échouées gratuites. - **Résumé:** Transcriptions YouTube en JSON, SRT, VTT, ou texte prêt pour LLM. - **Catégorie:** social - **Stack technique:** TypeScript, InnerTube - **Marchés / régions:** Mondial - **Fiche Apify:** https://apify.com/autofacts/youtube-subtitle-transcript-scraper - **Mots-clés:** scraper transcription youtube, api transcription youtube, récupérer sous-titres youtube, convertir sous-titres youtube en texte, transcriptions youtube en masse, transcription youtube srt vtt, transcriptions youtube pour LLM - **Publié:** 2026-07-01 - **Modifié:** 2026-07-01 **Fonctionnalités clés:** - Un seul input gère vidéos, Shorts, liens youtu.be, playlists et chaînes — mixés en un seul run - Cinq formats de sortie — JSON (horodaté), SRT, VTT, texte brut, et prêt pour LLM (retire [Music], [Applause] et les étiquettes de locuteur) - Plus de 100 langues, avec une liste de langues ordonnée par priorité et un repli sur les sous-titres automatiques activable - Métadonnées riches — titre, chaîne, description, date de publication, nombre de vues, miniature, durée et langues disponibles - Traitez en lot des playlists et chaînes entières avec un plafond maxVideos et une concurrence de 1 à 10 - Support des proxies résidentiels, plus des cookies optionnels pour réduire les blocages liés à la vérification anti-bot - Extraction multi-niveaux — jusqu’à neuf replis à travers les clients InnerTube, avec un dernier recours par PO-token yt-dlp - Un disjoncteur et une gestion des erreurs par élément permettent aux gros lots de continuer à tourner **Cas d’usage:** - Équipes IA/ML construisant des datasets RAG ou de fine-tuning à partir de vidéos parlées (sortie texte prête pour LLM) - Équipes de contenu recyclant les transcriptions en articles de blog, notes d’émission et légendes sociales - Marketeurs SEO extrayant du texte vidéo indexable pour l’indexation et la recherche de mots-clés - Monteurs et éditeurs ayant besoin de fichiers de sous-titres SRT/VTT standards - Chercheurs collectant des transcriptions en masse sur une chaîne ou une playlist entière - Développeurs ayant besoin de sous-titres structurés et horodatés sans clé API YouTube **Paramètres d’entrée:** - `urls` (array, optionnel) — URLs YouTube ou ID bruts — vidéos, Shorts, liens youtu.be, playlists, ou chaînes. Requis à l’exécution. - `outputFormat` (string, optionnel) — Format de transcription : json, srt, vtt, text, ou llm (par défaut : json). - `languages` (array, optionnel) — Langues de sous-titres préférées par ordre de priorité, codes ISO 639-1 (par défaut : en). - `includeAutoGenerated` (boolean, optionnel) — Se replie sur les sous-titres générés automatiquement quand les sous-titres manuels sont absents (par défaut : true). - `maxVideos` (number, optionnel) — Plafond de vidéos traitées par run, ex. pour les playlists/chaînes (par défaut : 0 = illimité). - `maxConcurrency` (number, optionnel) — Vidéos traitées en parallèle, 1 à 10 (par défaut : 3). - `proxyConfiguration` (object, optionnel) — Paramètres de proxy ; par défaut Apify Residential épinglé sur les US. - `youtubeCookies` (string, optionnel) — Cookies YouTube optionnels (en-tête Cookie ou cookies.txt) pour réduire les blocages liés à la vérification anti-bot. **FAQ:** **Q: Ai-je besoin d’une clé API YouTube ou de me connecter ?** Non. L’acteur extrait les sous-titres directement — aucune clé YouTube Data API, aucune connexion. Un input cookies optionnel peut être fourni pour réduire les blocages « Connectez-vous pour confirmer que vous n’êtes pas un robot » sur certaines vidéos. **Q: Quelles langues et quels types de sous-titres sont supportés ?** Plus de 100 langues. Fournissez une liste de codes ISO 639-1 ordonnée par priorité (par défaut : en) ; l’acteur privilégie les sous-titres créés manuellement et se replie sur les sous-titres automatiques, sauf si vous désactivez includeAutoGenerated. **Q: Suis-je facturé pour les vidéos dont l’extraction échoue ?** Non. La facturation est à l’événement, sur un seul événement transcript-extracted, facturé uniquement après la sauvegarde réussie d’une transcription. Les vidéos échouées apparaissent dans la sortie avec un champ error et ne sont pas facturées. **Q: Puis-je obtenir du texte propre, prêt pour LLM, pour le RAG ?** Oui. Définissez outputFormat sur 'llm' pour retirer les annotations [Music]/[Applause] et les étiquettes de locuteur, produisant une prose propre, idéale pour les embeddings et le fine-tuning. ## Exemple de sortie ```json { "videoId": "dQw4w9WgXcQ", "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "title": "Rick Astley - Never Gonna Give You Up (Official Video)", "channelName": "Rick Astley", "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw", "publishDate": "2009-10-25", "viewCount": 1761003712, "availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"], "language": "en", "isAutoGenerated": false, "duration": 213, "wordCount": 487, "segmentCount": 61, "text": "We're no strangers to love, you know the rules and so do I...", "segments": [{ "text": "We're no strangers to love", "start": 18.64, "end": 21.88 }], "error": null } ``` ## Tarification Facturation à l’événement : facturé une fois par **transcription extraite avec succès** — les vidéos échouées ne sont jamais facturées. Alimentez avec une chaîne ou une playlist entière, et ne payez que pour les sous-titres réellement obtenus. ## Astuces - **Utilisez `outputFormat: llm`** pour le RAG et le fine-tuning — cela retire les annotations non vocales pour que vos embeddings voient une prose propre. - **Gardez un proxy résidentiel actif.** YouTube bloque agressivement les IP datacenter ; l’acteur utilise par défaut du résidentiel US, et ce n’est pas un hasard. - **Démarrez `maxConcurrency` à 1–3 pour les gros volumes** et augmentez-le progressivement — une concurrence élevée accroît le risque de limitation de débit sur les scrapes de grandes chaînes. --- # Sephora Scraper (Mondial) - **URL:** https://proooxy.com/fr/tools/sephora-scraper/ - **Type:** tools - **Description:** Acteur Apify qui extrait les données produits complètes de Sephora — variantes, prix, images, ingrédients et avis — depuis 21 boutiques aux États-Unis, au Canada, sur 9 marchés de l’UE et 10 marchés Asie-Pacifique, dans un schéma normalisé unique. - **Résumé:** Extrayez n’importe quelle boutique Sephora — 21 marchés, un seul acteur. - **Catégorie:** ecommerce - **Stack technique:** Python, Crawlee, curl_cffi - **Marchés / régions:** États-Unis, Canada, France, Italie, Allemagne, Espagne, Pologne, République tchèque, Grèce, Roumanie, Portugal, Nouvelle-Zélande, Australie, Singapour, Malaisie, Thaïlande, Indonésie, Philippines, Hong Kong, Taïwan, Brunei - **Stratégie anti-bot:** Contournement d’Akamai via proxies résidentiels + fingerprinting TLS curl_cffi - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/sephora - **Mots-clés:** scraper sephora, données produits sephora, api sephora, extraire produits sephora, suivi prix sephora, données produits beauté, extraction données cosmétiques, scraper sephora mondial - **Publié:** 2026-04-18 - **Modifié:** 2026-04-18 **Fonctionnalités clés:** - 21 boutiques dans un seul acteur — États-Unis, Canada, 9 marchés UE et 10 marchés APAC couverts par un seul SKU - Marché détecté automatiquement — collez n’importe quelle URL sephora.* et le dispatcher la route vers le bon module - Runs multi-marchés mixtes — des URLs US + EU + SEA dans une seule liste startUrls, diffusées vers un dataset unique balisé avec `market` - Tarification correcte par locale — NZD, EUR, USD, AUD et 17 autres devises renvoyées par la couche de localisation propre à Sephora - Schéma normalisé — chaque marché produit la même structure `source / brand / title / options / variants / medias / stats` - Isolation des sessions par marché — l’état d’authentification ne peut pas se contaminer entre régions - Disjoncteur global — 50 échecs consécutifs interrompent le run pour éviter de gaspiller du calcul sur une cible hors service **Cas d’usage:** - Intelligence tarifaire pan-régionale sur les marchés beauté US, UE et APAC - Suivi de la disponibilité produit et de l’assortiment entre marchés - Analyse concurrentielle pour les marques se lançant sur de nouvelles régions Sephora - Comparaisons d’ingrédients entre formulations régionales - Suivi des avis et notes — y compris les signaux de wishlist SEA et les résumés de sentiment IA US - Audits de tarification fidélité / membership par marché **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs de produits ou de catégories depuis n’importe quelle boutique sephora.*. Le marché est détecté automatiquement à partir du nom d’hôte. - `market` (string, optionnel) — Surcharge de marché optionnelle (us, eu-fr, eu-it, eu-de, eu-es, eu-pl, eu-cz, eu-gr, eu-ro, eu-pt, sea-nz, sea-au, sea-sg, sea-my, sea-th, sea-id, sea-ph, sea-hk, sea-tw, sea-bn). - `locale` (string, optionnel) — Locale BCP 47 optionnelle (ex. fr-FR, en-NZ) — remplace le marché par défaut. - `categoryIds` (array, optionnel) — UE uniquement. ID de catégorie SFCC comme C479 — alternative au collage d’URLs de catégorie. - `proxy` (object, optionnel) — Configuration du proxy Apify. Résidentiel fortement recommandé ; épinglez apifyProxyCountry sur le marché cible. - `maxConcurrency` (number, optionnel) — Requêtes concurrentes. Par défaut 5. US : 2-5. EU : 3. SEA : 8-16. - `maxRequestsPerCrawl` (number, optionnel) — Plafond global strict tous marchés confondus. 0 = illimité. **FAQ:** **Q: Quelles boutiques Sephora ce scraper supporte-t-il ?** 21 boutiques : US (sephora.com), Canada (sephora.ca), 9 marchés UE (FR, IT, DE, ES, PL, CZ, GR, RO, PT), et 10 marchés APAC (NZ, AU, SG, MY, TH, ID, PH, HK, TW, BN). Le marché est détecté automatiquement à partir du nom d’hôte — aucun changement d’input nécessaire pour mixer les marchés. **Q: Puis-je scraper plusieurs marchés en un seul run ?** Oui. Mixez des URLs sephora.com, sephora.fr et sephora.nz dans une seule liste startUrls. Le dispatcher les regroupe par marché, exécute chaque module en parallèle avec l’authentification adaptée au marché, et balise chaque élément du dataset avec un champ `market`. **Q: Comment le scraper gère-t-il la protection anti-bot ?** Il utilise des proxies résidentiels pour tous les marchés, et curl_cffi pour un fingerprinting TLS de niveau navigateur sur le trafic EU et SEA afin de contourner Akamai. Le trafic US utilise le HttpCrawler de Crawlee avec un pool de sessions qui tourne sur 403/429. **Q: Mes configurations de run US v1.x existantes continueront-elles de fonctionner ?** Oui. Les inputs antérieurs à 2.0 — startUrls, maxConcurrency, proxy, maxRequestsPerCrawl — se comportent à l’identique. Le seul changement en sortie est une nouvelle clé `market` sur chaque élément, un changement additif sans impact. **Q: Pourquoi certains champs sont-ils null dans les données SEA ?** L’API de Sephora SEA n’expose pas de compteur `lovesCount`, donc les éléments APAC ont `stats.lovesCount = null`. Chaque variante possède à la place un champ booléen `wishlisted`. Inversement, `sentiments` (résumés d’avis générés par IA) et `source.crawlUrl` sont réservés aux US. **Q: Ai-je besoin de tokens API ou de comptes séparés par marché ?** Non. Votre token API Apify existant fonctionne sans changement. L’acteur gère les tokens invité par marché en interne — aucun identifiant requis pour EU/SEA, et US fonctionne avec les proxies résidentiels Apify standard. ## Marchés supportés | Région | ID de marché | Pays | Devise | Nom d’hôte | |---|---|---|---|---| | Amériques | `us` | États-Unis | USD | sephora.com | | Amériques | `us` | Canada | CAD | sephora.ca | | UE | `eu-fr` | France | EUR | sephora.fr | | UE | `eu-it` | Italie | EUR | sephora.it | | UE | `eu-de` | Allemagne | EUR | sephora.de | | UE | `eu-es` | Espagne | EUR | sephora.es | | UE | `eu-pl` | Pologne | PLN | sephora.pl | | UE | `eu-cz` | République tchèque | CZK | sephora.cz | | UE | `eu-gr` | Grèce | EUR | sephora.gr | | UE | `eu-ro` | Roumanie | RON | sephora.ro | | UE | `eu-pt` | Portugal | EUR | sephora.pt | | APAC | `sea-nz` | Nouvelle-Zélande | NZD | sephora.nz | | APAC | `sea-au` | Australie | AUD | sephora.com.au | | APAC | `sea-sg` | Singapour | SGD | sephora.sg | | APAC | `sea-my` | Malaisie | MYR | sephora.com.my | | APAC | `sea-th` | Thaïlande | THB | sephora.co.th | | APAC | `sea-id` | Indonésie | IDR | sephora.co.id | | APAC | `sea-ph` | Philippines | PHP | sephora.ph | | APAC | `sea-hk` | Hong Kong | HKD | sephora.hk | | APAC | `sea-tw` | Taïwan | TWD | sephora.tw | | APAC | `sea-bn` | Brunei | BND | sephora.bn | ## Exemple de sortie ```json { "market": "sea-nz", "source": { "id": 58792, "canonicalUrl": "https://www.sephora.nz/products/rare-beauty-true-to-myself-natural-matte-longwear-foundation", "retailer": "SEPHORA", "currency": "NZD" }, "brand": "Rare Beauty", "title": "True To Myself Natural Matte Longwear Foundation", "description": "

A self-priming and self-setting foundation...

", "ingredients": "Aqua/Water, Cyclopentasiloxane, Glycerin...", "currentSku": "770225", "categories": ["makeup/face/foundation"], "options": [ { "name": "shade", "id": "66488", "values": [{"value": "1 Fair Neutral", "orderable": true}] } ], "variants": [ { "id": "276343", "sku": "770225", "price": { "current": 77.0, "original": 77.0, "stockStatus": "IN_STOCK" }, "options": [{"name": "shade", "value": "1 Fair Neutral"}], "highlights": ["NEW", "Only at Sephora"], "wishlisted": null } ], "medias": [{ "url": "https://www.sephora.nz/.../foundation-shade.jpg", "type": "image" }], "stats": { "reviewCount": 971, "rating": 4.8, "lovesCount": null } } ``` ## Astuces - **Épinglez le pays du proxy sur le marché cible.** Une sortie résidentielle dans un pays non concordant est la principale source de 403 provenant de la couche Akamai de Sephora. Définissez `apifyProxyCountry` sur le code ISO de la boutique (`US`, `FR`, `NZ`, etc.). - **Testez d’abord en mode smoke-test.** Définissez `maxRequestsPerCrawl=10` avant votre premier run de production sur un nouveau marché. - **Ajustez la concurrence par région.** US : 2-5. EU : 3. SEA : 8-16. Chaque marché dispose de son propre sémaphore dans les runs mixtes. --- # Boohoo Scraper — Données produits dans 7 régions - **URL:** https://proooxy.com/fr/tools/boohoo-scraper/ - **Type:** tools - **Description:** Extrayez les données produits des sites e-commerce Boohoo dans 7 régions, avec pagination automatique, filtres à facettes et support multi-devises. - **Résumé:** Extrayez les données produits Boohoo dans 7 boutiques régionales. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, Cheerio, Fingerprint Generator - **Marchés / régions:** Pays-Bas, Suède, Royaume-Uni, Irlande, France, Australie, États-Unis - **Stratégie anti-bot:** Génération de fingerprints pour le contournement anti-bot - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/boohoo-scraper - **Mots-clés:** scraper boohoo, données produits boohoo, suivi prix boohoo, scraper fast fashion, catalogue mode multi-régions, extraire données boohoo - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Support de 7 boutiques régionales — NL (EUR), SE (SEK), UK (GBP), IE (EUR), FR (EUR), AU (AUD), US (USD) - Scraping de catégories et de recherche avec pagination automatique - Support des filtres à facettes — taille, couleur, gamme de prix, style - Détails produits complets, y compris variantes et statut de stock - Génération d’empreintes de navigateur pour le contournement anti-bot - Tarification multi-devises selon la boutique régionale **Cas d’usage:** - Analyse de prix concurrentielle dans la fast fashion - Comparaison de prix multi-régions pour les mêmes produits - Suivi des tendances dans la mode accessible - Suivi des stocks et des inventaires à travers les régions - Étude de marché mode sur les marchés européens et mondiaux **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs de produits ou de catégories Boohoo - `maxRequestsPerCrawl` (number, optionnel) — Limite de requêtes (par défaut : 5) - `maxConcurrency` (number, optionnel) — Requêtes en parallèle (par défaut : 5) - `proxy` (object, optionnel) — Configuration du proxy **FAQ:** **Q: Quelles boutiques régionales Boohoo sont supportées ?** Pays-Bas (EUR), Suède (SEK), Royaume-Uni (GBP), Irlande (EUR), France (EUR), Australie (AUD), et États-Unis (USD). **Q: Puis-je filtrer les produits par taille ou couleur ?** Oui, le scraper prend en charge le filtrage à facettes. Vous pouvez fournir des URLs de catégories déjà filtrées, et le scraper respectera les filtres appliqués. **Q: Comment le scraper gère-t-il la pagination ?** La pagination est automatique. Fournissez une URL de catégorie ou de recherche, et le scraper suivra tous les liens de pagination pour extraire chaque produit. ## Exemple de sortie ```json { "source": "https://www.boohoo.com/...", "brand": "boohoo", "title": "Oversized Hoodie", "description": "Stay cozy in this oversized hoodie...", "categories": ["Women", "Hoodies & Sweatshirts"], "price": { "current": 1500, "original": 3000, "currency": "GBP" }, "variants": [ { "sku": "BH-OH-BLK-S", "size": "S", "color": "Black", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ] } ``` --- # Farfetch Scraper — Données produits mode de luxe - **URL:** https://proooxy.com/fr/tools/farfetch-scraper/ - **Type:** tools - **Description:** Extrayez les données produits mode de luxe de Farfetch : tarification multi-devises, variations de taille/coupe, et recommandations de produits. - **Résumé:** Extrayez les produits de mode de luxe Farfetch avec support multi-devises. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, Cheerio, Crawlee - **Marchés / régions:** Mondial - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/farfetch - **Mots-clés:** scraper farfetch, données produits farfetch, données mode de luxe, scraper mode designer, suivi prix farfetch, données retail luxe - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Scraping des pages de catégorie et de détail produit - Tarification multi-devises — détection automatique selon la localisation du proxy - Extraction optionnelle des variations de taille/coupe - Jusqu’à 90 produits recommandés par article - Galeries média complètes et descriptions détaillées - Extraction de la marque, catégorie et informations complémentaires **Cas d’usage:** - Intelligence de marché pour la mode de luxe - Comparaison de prix multi-plateformes pour les marques de créateurs - Analyse des tendances mode et découverte de produits - Tarification concurrentielle pour les revendeurs multimarques - Données d’entraînement pour moteurs de recommandation de produits **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs de produits ou de catégories Farfetch - `proxy` (object, optionnel) — Configuration du proxy — la localisation affecte la devise - `maxRequestsPerCrawl` (number, optionnel) — Limite de requêtes (par défaut : 100) - `maxConcurrency` (number, optionnel) — Requêtes en parallèle (par défaut : 5) - `withSizeFit` (boolean, optionnel) — Inclut les données de taille/coupe (par défaut : false) - `withRecommends` (boolean, optionnel) — Inclut les recommandations (par défaut : false) **FAQ:** **Q: Comment fonctionne la tarification multi-devises ?** Farfetch affiche les prix selon votre localisation. Le scraper utilise la localisation de votre proxy pour déterminer la devise renvoyée. Utilisez un proxy US pour l’USD, un proxy UK pour la GBP, etc. **Q: Combien de produits recommandés peuvent être extraits ?** Jusqu’à 90 produits recommandés par article lorsque withRecommends est activé. Utile pour construire des graphes de produits et des datasets de recommandation. ## Exemple de sortie ```json { "source": "https://www.farfetch.com/shopping/...", "brand": "Gucci", "title": "GG Marmont Matelasse Shoulder Bag", "description": "Crafted from matelasse leather...", "details": ["Made in Italy", "100% Calf Leather"], "categories": ["Women", "Bags", "Shoulder Bags"], "options": [ { "name": "Size", "values": ["One Size"] } ], "variants": [ { "sku": "FF-GU-001", "price": 229000, "currency": "USD", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ] } ``` --- # Global API Load Tester — Test de charge 10K+ RPS - **URL:** https://proooxy.com/fr/tools/load-tester/ - **Type:** tools - **Description:** Outil de test de charge haute performance simulant plus de 10 000 requêtes par seconde, avec trafic géodistribué, cibles pondérées et rapports HTML interactifs. - **Résumé:** Simulez 10K+ RPS avec des tests de charge géodistribués. - **Catégorie:** utility - **Stack technique:** Go, Vegeta - **Marchés / régions:** Mondial - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/global-api-load-tester - **Mots-clés:** outil de test de charge api, test de charge http, outil de test de résistance, test de performance, test de charge 10k rps, test de charge géodistribué, test de charge vegeta - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Performance extrême — plus de 10 000 requêtes par seconde - Tests géodistribués depuis les US, l’UE et l’Asie - Attaques multi-cibles pondérées (ex., 90% lectures / 10% écritures) - Support des proxies résidentiels pour un trafic réaliste - Rythme à taux constant pour éviter la Coordinated Omission - Rapports HTML interactifs via Vegeta Plots - Métriques détaillées de latence, débit et erreurs **Cas d’usage:** - Benchmark de performance API avant lancement - Planification de capacité et dimensionnement d’infrastructure - Identification des points de rupture et des goulots d’étranglement - Test des configurations de CDN et de load balancer - Test de latence géodistribué - Tests de non-régression pour les endpoints critiques en performance **Paramètres d’entrée:** - `targets` (array, requis) — Endpoints cibles avec URL, méthode, corps, en-têtes et poids - `rate` (number, optionnel) — Requêtes par seconde (par défaut : 50) - `duration` (number, optionnel) — Durée du test en secondes (par défaut : 60) - `geoDistribution` (array, optionnel) — Régions avec codes pays et pondérations de trafic - `useStickySessions` (boolean, optionnel) — Maintient l’affinité de session (par défaut : true) - `maxCostLimit` (number, optionnel) — Plafond de coût pour le run de test **FAQ:** **Q: Comment fonctionnent les tests géodistribués ?** Vous spécifiez des codes pays et des pondérations de trafic. L’outil distribue les requêtes à travers les serveurs proxy Apify de ces régions, simulant des motifs de trafic mondial réalistes. **Q: Qu’est-ce que la Coordinated Omission ?** C’est un piège classique des tests de charge : l’outil ralentit lorsque la cible est surchargée, ce qui fait paraître les résultats meilleurs que la réalité. Vegeta utilise un rythme à taux constant pour éviter ce biais. **Q: Puis-je tester des endpoints authentifiés ?** Oui, incluez les en-têtes d’autorisation dans la configuration de la cible. Chaque cible peut avoir ses propres en-têtes, méthode et corps. ## Exemple de sortie L’outil de test de charge génère des rapports HTML interactifs et des métriques structurées : ```json { "summary": { "totalRequests": 50000, "duration": "60s", "rps": 833.33, "successRate": 99.8, "latency": { "mean": "12.4ms", "p50": "10.1ms", "p95": "28.7ms", "p99": "89.2ms", "max": "342.1ms" }, "statusCodes": { "200": 49900, "503": 100 } } } ``` --- # Lululemon Scraper — Produits, variantes et prix - **URL:** https://proooxy.com/fr/tools/lululemon-scraper/ - **Type:** tools - **Description:** Parcourez et extrayez les détails produits Lululemon : variantes, options de couleur, galeries média et informations de prix. - **Résumé:** Extrayez les données produits avec variantes et médias de Lululemon. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, Crawlee - **Marchés / régions:** États-Unis - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/lululemon-scraper - **Mots-clés:** scraper lululemon, données produits lululemon, suivi prix lululemon, données produits activewear, données prix athleisure, scraper inventaire lululemon - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Crawl des pages de catégorie et de produit - Extraction des variantes avec options de couleur et de taille - Galeries média complètes avec images spécifiques à chaque couleur - Suivi des prix avec sortie structurée - Extraction de la hiérarchie des catégories - Léger et rapide grâce au framework Crawlee **Cas d’usage:** - Étude de marché et analyse concurrentielle dans le vêtement de sport - Suivi des prix pour revendeurs et plateformes de comparaison - Agrégation de catalogue produits pour l’e-commerce fitness - Suivi de la disponibilité par couleur et taille - Analyse des tendances dans la mode activewear **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs de produits ou de catégories Lululemon - `proxy` (object, optionnel) — Configuration du proxy - `maxConcurrency` (number, optionnel) — Limite de requêtes en parallèle **FAQ:** **Q: Le scraper gère-t-il les différentes variantes de couleur ?** Oui, chaque variante de couleur est extraite avec ses propres images, son SKU et son statut de disponibilité. La galerie média est spécifique à chaque couleur. **Q: Puis-je scraper des catégories Lululemon entières ?** Oui, fournissez une URL de catégorie et le scraper parcourra tous les produits de cette catégorie. ## Exemple de sortie ```json { "source": "https://shop.lululemon.com/p/...", "brand": "lululemon", "title": "Align High-Rise Pant 25\"", "description": "Buttery-soft, weightless Nulu fabric...", "categories": ["Women", "Pants", "Yoga Pants"], "options": [ { "name": "Color", "values": ["Black", "True Navy", "Dark Olive"] }, { "name": "Size", "values": ["2", "4", "6", "8", "10", "12"] } ], "variants": [ { "sku": "LL-AHR-BLK-6", "name": "Black / 6", "price": 9800, "currency": "USD", "inStock": true } ], "medias": [ { "type": "image", "url": "https://...", "color": "Black" } ], "stats": { "rating": 4.7, "reviewCount": 15234 } } ``` --- # Schema Markup Scraper & SEO Auditor - **URL:** https://proooxy.com/fr/tools/schema-markup-scraper/ - **Type:** tools - **Description:** Extrayez JSON-LD, Microdata, RDFa, Open Graph et Twitter Cards de n’importe quelle URL, avec un système complet de scoring d’audit SEO. - **Résumé:** Extrayez les données structurées et auditez le SEO de n’importe quel site. - **Catégorie:** utility - **Stack technique:** TypeScript, Crawlee - **Marchés / régions:** Mondial - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/metadata-scraper - **Mots-clés:** vérificateur schema markup, extracteur données structurées, extracteur json-ld, outil audit seo, vérificateur open graph, scraper microdata, test rich results - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Extraction de données structurées — JSON-LD, Microdata et RDFa - Balises meta sociales — Open Graph, Twitter Cards, Dublin Core - Analyse SEO avec scoring de 0 à 100 - Validation des URL canoniques et des hreflang - Extraction de l’auteur pour les signaux EEAT - Détection LocalBusiness avec plus de 80 sous-types - Audit des textes alternatifs d’image - Validation du schema breadcrumb - Extraction des balises géo et des données NAP **Cas d’usage:** - Audit SEO technique à grande échelle - Validation des données structurées pour les sites web - Analyse SEO concurrentielle — comparez le schema markup entre concurrents - Évaluation des signaux EEAT pour les sites de contenu - Audit SEO local pour les entreprises - Validation de checklist SEO avant lancement **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs à analyser - `proxy` (object, optionnel) — Configuration du proxy - `maxRequestsPerCrawl` (number, optionnel) — Limite le nombre total d’URLs à auditer - `maxConcurrency` (number, optionnel) — Requêtes en parallèle - `extractMetaTags` (boolean, optionnel) — Extrait les balises meta (par défaut : true) - `extractSeoAnalysis` (boolean, optionnel) — Exécute l’analyse SEO (par défaut : true) - `computeSeoScore` (boolean, optionnel) — Calcule le score SEO de 0 à 100 (par défaut : true) - `extractGeoData` (boolean, optionnel) — Extrait les balises géo et les données NAP **FAQ:** **Q: Quels formats de données structurées sont supportés ?** JSON-LD, Microdata et RDFa. Le scraper extrait également les métadonnées Open Graph, Twitter Cards et Dublin Core. **Q: Comment le score SEO est-il calculé ?** Le score de 0 à 100 évalue les balises title, les meta descriptions, la hiérarchie des titres, les textes alternatifs d’image, les URL canoniques, le viewport mobile, la présence de données structurées, et plus encore. **Q: Puis-je auditer plusieurs pages à la fois ?** Oui, fournissez plusieurs URLs dans startUrls. Le scraper les traite en parallèle pour un audit en masse rapide. ## Exemple de sortie ```json { "url": "https://example.com/product/...", "title": "Example Product Page", "linkedData": [ { "@type": "Product", "name": "..." } ], "openGraph": { "og:title": "Example Product", "og:type": "product" }, "twitterCard": { "card": "summary_large_image" }, "seoAudit": { "score": 78, "issues": [ "Missing alt text on 3 images", "No hreflang tags detected" ] }, "headings": { "h1": ["Example Product"], "h2": ["Description", "Reviews"] } } ``` --- # Sephora EU Scraper — 9 marchés européens - **URL:** https://proooxy.com/fr/tools/sephora-eu-scraper/ - **Type:** tools - **Description:** Extrayez les données produits complètes de Sephora Europe sur 9 marchés UE : extraction multi-variantes, contournement du WAF Akamai, et gestion intelligente des tokens. - **Résumé:** Extrayez les données produits de Sephora sur 9 marchés européens. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, Crawlee, Akamai Bypass - **Marchés / régions:** France, Italie, Allemagne, Espagne, Pologne, République tchèque, Grèce, Roumanie, Portugal - **Stratégie anti-bot:** WAF Akamai — fingerprinting TLS de niveau navigateur - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/sephora-eu-scraper - **Mots-clés:** scraper sephora europe, données produits sephora eu, données beauté europe, scraper sephora france, scraper sephora allemagne, données cosmétiques europe, contournement waf akamai - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Support de 9 marchés UE — FR, IT, DE, ES, PL, CZ, GR, RO, PT - Extraction multi-variantes avec tarification et statut de stock individuels - Galeries d’images haute résolution pour chaque produit - Navigation par catégorie via des ID de catégorie pour l’extraction en masse - Fingerprinting TLS de niveau navigateur pour contourner le WAF Akamai - Gestion des tokens invité avec rafraîchissement automatique et backoff exponentiel **Cas d’usage:** - Comparaison de prix sur le marché paneuropéen de la beauté - Suivi de la disponibilité produit entre marchés - Étude d’expansion sur le marché UE pour les marques de beauté - Veille concurrentielle à travers les marchés européens - Analyse de stratégie de tarification régionale **Paramètres d’entrée:** - `startUrls` (array, optionnel) — URLs de produits Sephora EU à scraper - `categoryIds` (array, optionnel) — ID de catégorie pour l’extraction de produits en masse - `locale` (string, optionnel) — Locale du marché cible (ex., fr-FR, it-IT) - `maxProducts` (number, optionnel) — Nombre maximal de produits à extraire - `maxConcurrency` (number, optionnel) — Limite de requêtes en parallèle - `proxyConfiguration` (object, optionnel) — Paramètres de proxy — résidentiel recommandé **FAQ:** **Q: Quels marchés Sephora européens sont supportés ?** France (fr-FR), Italie (it-IT), Allemagne (de-DE), Espagne (es-ES), Pologne (pl-PL), République tchèque (cs-CZ), Grèce (el-GR), Roumanie (ro-RO), et Portugal (pt-PT). **Q: Comment le scraper contourne-t-il le WAF Akamai ?** Il utilise un fingerprinting TLS de niveau navigateur pour imiter de véritables connexions navigateur, rendant les requêtes indiscernables d’un trafic utilisateur authentique. **Q: Puis-je scraper des catégories entières ?** Oui, vous pouvez fournir des ID de catégorie pour extraire tous les produits d’une catégorie. C’est la méthode la plus efficace pour l’extraction en masse. ## Exemple de sortie ```json { "source": "https://www.sephora.fr/p/...", "brand": "Rare Beauty", "title": "Soft Pinch Liquid Blush", "description": "Un blush liquide longue tenue...", "shortDescription": "Blush liquide", "categories": ["Maquillage", "Teint", "Blush"], "options": [ { "name": "Shade", "values": ["Joy", "Hope", "Grace"] } ], "variants": [ { "sku": "EU-RB-001", "name": "Joy", "price": 2800, "currency": "EUR", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ], "stats": { "rating": 4.7, "reviewCount": 3421 } } ``` --- # Shopify Scraper — Données produits de n’importe quelle boutique - **URL:** https://proooxy.com/fr/tools/shopify-scraper/ - **Type:** tools - **Description:** Outil professionnel pour extraire des données produits haute fidélité depuis n’importe quelle boutique Shopify : collections, recherche et recommandations de produits. - **Résumé:** Extrayez les données produits de n’importe quelle boutique Shopify. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, got-scraping - **Marchés / régions:** Mondial - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/shopify-scraper-ppe - **Mots-clés:** scraper shopify, extraire données shopify, scraper boutique shopify, données produits shopify, alternative api shopify, extraction données e-commerce, exporter produits shopify, scraper collection shopify - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Universel — fonctionne avec n’importe quelle boutique propulsée par Shopify - Extraction du catalogue complet de la boutique et support de la recherche - Recommandations de produits (jusqu’à 20 par produit) - Scraping de collections et de produits individuels - Extraction des tags et catégories - Normalisation des devises (prix x100) pour la précision **Cas d’usage:** - Étude de marché à travers les boutiques Shopify de n’importe quelle niche - Analyse concurrentielle pour les marques DTC - Agrégation de catalogue produits pour plateformes de comparaison - Suivi des tendances à travers les boutiques e-commerce indépendantes - Construction de datasets de recommandation de produits - Suivi des prix pour revendeurs **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs de boutique Shopify — produit, collection, ou accueil de la boutique - `proxy` (object, optionnel) — Proxy résidentiel recommandé pour de meilleurs résultats - `maxRequestsPerCrawl` (number, optionnel) — Limite de requêtes (par défaut : 100) - `maxRecommendationsPerProduct` (number, optionnel) — Produits recommandés à récupérer (par défaut : 0, max : 20) - `query` (string, optionnel) — Requête de recherche pour trouver des produits au sein d’une boutique **FAQ:** **Q: Cela fonctionne-t-il avec n’importe quelle boutique Shopify ?** Oui, le scraper fonctionne avec n’importe quelle boutique propulsée par Shopify. Il s’appuie sur la structure de données produit standard de Shopify, cohérente sur toutes les boutiques. **Q: Puis-je rechercher des produits spécifiques ?** Oui, utilisez le paramètre query pour rechercher au sein d’une boutique spécifique. Utile pour trouver des types de produits précis sans scraper l’intégralité du catalogue. **Q: Comment les recommandations de produits sont-elles extraites ?** Définissez maxRecommendationsPerProduct pour récupérer les produits associés. Jusqu’à 20 recommandations sont disponibles par produit, utile pour construire des graphes de produits. ## Exemple de sortie ```json { "source": "https://store.example.com/products/...", "brand": "Example Brand", "title": "Premium Organic Cotton T-Shirt", "description": "Made from 100% organic cotton...", "categories": ["Tops", "T-Shirts"], "tags": ["organic", "sustainable", "cotton"], "options": [ { "name": "Size", "values": ["S", "M", "L", "XL"] }, { "name": "Color", "values": ["White", "Black", "Navy"] } ], "variants": [ { "sku": "SHOP-OCT-WHT-M", "name": "White / M", "price": 4500, "currency": "USD", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ] } ``` --- # Ulta Beauty Scraper — Produits, prix et SKUs - **URL:** https://proooxy.com/fr/tools/ulta-scraper/ - **Type:** tools - **Description:** Extrayez détails produits, tarification, images et informations SKU d’Ulta Beauty — pages de catégorie, de marque et sections soldes. - **Résumé:** Extrayez les données produits complètes d’Ulta Beauty. - **Catégorie:** ecommerce - **Stack technique:** TypeScript, Cheerio, Crawlee - **Marchés / régions:** États-Unis - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/ulta-scraper - **Mots-clés:** scraper ulta, scraper ulta beauty, données produits ulta, suivi prix ulta, scraper sku ulta, suivi soldes ulta, données retail beauté - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Supporte les pages de catégorie, détail produit, marque et soldes - Détails produits complets avec prix, descriptions et images - Extraction de données au niveau SKU avec regroupement des variantes - Détection automatique du type de page à partir de l’URL - Parsing léger basé sur Cheerio pour la rapidité - Regroupe les SKUs liés sous le même produit **Cas d’usage:** - Analyse concurrentielle dans la beauté — tarification Ulta vs Sephora - Construction de catalogue produits pour plateformes de comparaison shopping - Suivi des soldes et promotions - Découverte de marques et suivi de présence sur le marché - Suivi d’inventaire au niveau SKU **Paramètres d’entrée:** - `startUrls` (array, requis) — URLs de produits, catégories, marques ou soldes Ulta - `proxy` (object, optionnel) — Configuration du proxy - `maxConcurrency` (number, optionnel) — Nombre maximal de requêtes en parallèle - `maxRequestsPerCrawl` (number, optionnel) — Limite le nombre total de requêtes par run **FAQ:** **Q: Quels types de pages Ulta peuvent être scrapées ?** Le scraper supporte les pages de détail produit, les pages de listing de catégorie, les pages de marque et les pages de soldes/promotions. Il détecte automatiquement le type de page à partir de l’URL. **Q: Comment les variantes de produit sont-elles gérées ?** Les variantes (teintes, tailles différentes) sont regroupées sous le même produit parent. Chaque variante inclut son propre SKU, prix et statut de disponibilité. ## Exemple de sortie ```json { "source": "https://www.ulta.com/p/...", "brand": "NYX Professional Makeup", "title": "Butter Gloss", "description": "A buttery soft and silky lip gloss...", "categories": ["Makeup", "Lips", "Lip Gloss"], "variants": [ { "sku": "ULTA-NYX-BG-001", "name": "Angel Food Cake", "price": 900, "currency": "USD", "inStock": true } ], "stats": { "rating": 4.5, "reviewCount": 8932 } } ``` --- # Universal Web Printer — URL et HTML vers PDF, image - **URL:** https://proooxy.com/fr/tools/web-printer/ - **Type:** tools - **Description:** Convertissez URL ou HTML en PDF, PNG, JPEG ou WebP : assemblage de défilement intelligent, extraction d’éléments, chiffrement PDF et filigrane. - **Résumé:** Convertissez URLs et HTML en PDF, PNG, JPEG ou WebP. - **Catégorie:** utility - **Stack technique:** TypeScript, Playwright, PDF-lib, Sharp - **Marchés / régions:** Mondial - **Taux de réussite rapporté:** >99% - **Fiche Apify:** https://apify.com/autofacts/universal-web-printer - **Mots-clés:** api html vers pdf, convertisseur url vers pdf, api capture d’écran site web, page web vers pdf, url vers image, page web vers png, api génération pdf - **Publié:** 2026-04-04 - **Modifié:** 2026-04-04 **Fonctionnalités clés:** - Sortie multi-formats — PDF, PNG, JPEG, WebP - Plusieurs modes d’affichage — viewport, pleine page, sélecteur CSS, readability - Assemblage de défilement intelligent pour des captures pleine page précises - Extraction au niveau élément via sélecteurs CSS - Manipulation de page — suppression d’éléments, clic sur des boutons, injection de CSS, masquage des en-têtes fixes - Chiffrement PDF (RC4 128 bits) et filigrane - Fusion de PDF pour documents multi-pages - Configuration personnalisée du viewport et du facteur d’échelle **Cas d’usage:** - Génération automatisée de rapports depuis des tableaux de bord web - Archivage et documentation de sites web - Captures pour tests de non-régression visuelle - Captures d’écran de pages produit e-commerce pour catalogues - Conformité légale — capture de contenu web comme preuve - Génération de PDF depuis des applications web **Paramètres d’entrée:** - `startUrls` (array, optionnel) — URLs à rendre - `htmlContent` (string, optionnel) — HTML brut à rendre - `outputFormat` (string, optionnel) — pdf, png, jpeg, ou webp (par défaut : pdf) - `viewMode` (string, optionnel) — viewport, fullPage, selector, ou readability - `targetSelector` (string, optionnel) — Sélecteur CSS pour la capture au niveau élément - `viewportWidth` (number, optionnel) — Largeur du viewport navigateur (par défaut : 1280) - `viewportHeight` (number, optionnel) — Hauteur du viewport navigateur (par défaut : 720) - `removeSelectors` (array, optionnel) — Sélecteurs CSS des éléments à supprimer avant la capture - `pdfPassword` (string, optionnel) — Chiffre le PDF avec un chiffrement RC4 128 bits **FAQ:** **Q: Puis-je capturer uniquement un élément spécifique de la page ?** Oui, utilisez le paramètre targetSelector avec un sélecteur CSS pour ne capturer qu’un élément spécifique. Par exemple, utilisez '#main-content' pour ne capturer que la zone de contenu principale. **Q: Comment fonctionne l’assemblage de défilement intelligent ?** Pour les captures pleine page, l’outil fait défiler la page par incréments, capture chaque tranche de viewport, puis les assemble. Cela garantit que le contenu à chargement différé et les animations sont correctement capturés. **Q: Puis-je supprimer les bannières de cookies ou les publicités avant la capture ?** Oui, utilisez removeSelectors pour spécifier les sélecteurs CSS des éléments à supprimer. Vous pouvez aussi utiliser hideFixedElements pour masquer les en-têtes collants et les éléments flottants. ## Exemple de sortie L’outil génère des fichiers dans le format choisi (PDF, PNG, JPEG, ou WebP) et les stocke dans le dataset Apify. Chaque sortie inclut des métadonnées : ```json { "url": "https://example.com", "format": "pdf", "fileName": "example-com.pdf", "fileSize": 245832, "viewMode": "fullPage", "viewport": { "width": 1280, "height": 720 }, "encrypted": false } ``` --- # Bonnes pratiques de web scraping en 2026 : le guide du praticien - **URL:** https://proooxy.com/fr/blog/web-scraping-best-practices-2026/ - **Type:** blog - **Description:** Des stratégies de web scraping éprouvées, issues de plus de 12 ans d’expérience en production — modèles d’architecture, gestion des erreurs, gestion des proxies et normalisation de la sortie. - **Mots-clés:** bonnes pratiques web scraping, scraping en production, guide extraction de données, architecture de scraper - **Publié:** 2026-04-01 - **Modifié:** 2026-04-01 Après avoir développé et maintenu 15 scrapers de production qui servent plus de 3 100 utilisateurs avec des taux de réussite >99%, voici les pratiques qui comptent vraiment. ## Architecture : penser en pipelines, pas en scripts La plus grosse erreur que je constate consiste à traiter le scraping comme un processus en une seule étape. Les scrapers de production sont des pipelines de données : 1. **Découverte des URL** — identifier quoi scraper (sitemaps, pages de catégorie, recherche, API) 2. **Exécution des requêtes** — récupérer les données avec une stratégie de retry et de rotation adaptée 3. **Parsing** — extraire les champs structurés à partir des réponses brutes 4. **Normalisation** — nettoyer, valider et standardiser la sortie 5. **Stockage** — pousser vers des datasets, des bases de données ou des systèmes en aval Chaque étape doit pouvoir être testée et relancée indépendamment. Quand Sephora change la mise en page de ses pages produit, seule l’étape 3 doit être mise à jour — le reste du pipeline reste stable. ## Toujours préférer les API au parsing HTML Avant d’écrire le moindre sélecteur CSS, vérifiez si le site propose : - **Des API publiques** — des endpoints documentés qui renvoient du JSON - **Des API privées** — des appels XHR/fetch visibles dans les DevTools du navigateur - **Des endpoints GraphQL** — de plus en plus courants, souvent avec l’introspection activée - **Du JSON embarqué** — `__NEXT_DATA__`, `window.__INITIAL_STATE__`, ou du JSON-LD dans le HTML Les réponses d’API sont structurées, versionnées, et bien plus stables que les mises en page HTML. Mon [scraper Sephora](/fr/tools/sephora-scraper/) convertit chaque URL web en appel API — il n’a jamais cassé suite à une refonte du frontend. ## Stratégie de proxy : s’adapter à la protection Tous les sites n’ont pas besoin de proxies résidentiels. Voici mon cadre de décision : | Niveau de protection | Type de proxy | Sites exemples | |-----------------|------------|---------------| | Aucune / basique | Datacenter | La plupart des boutiques Shopify, petits sites | | Limitation de débit | Datacenter rotatif | E-commerce moyen, sites de contenu | | Fingerprinting | Résidentiel | Sephora, Farfetch, grandes marques | | WAF avancé | Résidentiel + empreinte TLS | Akamai, Cloudflare Enterprise | L’enseignement clé : **le coût des proxies augmente avec le niveau de protection**. Ne gaspillez pas d’argent en proxies résidentiels pour des sites qui ne vérifient que la réputation IP. Mon [scraper Shopify](/fr/tools/shopify-scraper/) fonctionne très bien avec des proxies datacenter, car la protection par défaut de Shopify est minimale. ## La gestion de session, c’est tout La différence entre un taux de réussite de 60% et de 99% tient généralement à la gestion de session : - **Faites tourner les sessions, pas seulement les IP** — une nouvelle IP avec les mêmes cookies paraît suspecte - **Mettez les sessions en chauffe** — visitez la page d’accueil avant d’attaquer les pages produit - **Respectez les limites de débit** — 5 requêtes concurrentes valent mieux que 50 qui se font bloquer - **Backoff exponentiel** — des tentatives à 1s, 2s, 4s, 8s, jamais de nouvelle tentative immédiate Mon [scraper Sephora EU](/fr/tools/sephora-eu-scraper/) gère les jetons invité avec rafraîchissement automatique et backoff exponentiel. Il maintient des sessions persistantes qui reproduisent des motifs de navigation réalistes. ## Normalisez votre sortie Les données brutes issues du scraping sont désordonnées. Normalisez tout : ### Prix Stockez-les sous forme d’entiers (en cents, pas en dollars). `$29.99` devient `2999`. Cela évite les erreurs de précision en virgule flottante qui corrompent les données financières en aval. Chacun de mes scrapers e-commerce utilise cette convention. ### URLs Stockez toujours des URL absolues, jamais de chemins relatifs. Résolvez-les au moment de l’extraction. ### Dates ISO 8601 (`2026-04-01T00:00:00Z`), toujours avec le fuseau horaire. Ne stockez jamais de dates formatées selon une locale. ### Texte Supprimez les espaces superflus, normalisez l’Unicode, et définissez une politique de gestion du HTML (retirer les balises ou conserver la mise en forme). ## Gestion des erreurs : anticipez l’échec Les scrapers de production échouent en permanence — la question est de savoir avec quelle élégance. Mon approche : ``` Request fails (network error, timeout, 4xx/5xx) → Retry with exponential backoff (up to 5 attempts) → Rotate session/proxy on retry → Log failure with full context if all retries exhausted → Continue processing remaining URLs (don't crash the batch) ``` Suivez les taux de réussite par motif d’URL. Si les pages `/category/*` chutent soudainement sous 90% de réussite, le site a probablement changé quelque chose — vous le détecterez avant que les utilisateurs ne le signalent. ## Surveillance et alertes Un scraper sans surveillance est un scraper qui attend de tomber en panne silencieusement. Suivez : - **Le taux de réussite** par exécution et par motif d’URL - **Le volume de sortie** — une chute soudaine signale qu’un problème est survenu - **La qualité des données** — champs nuls, valeurs inattendues, violations de schéma - **Le coût** — usage des proxies, temps de calcul, stockage Tous mes acteurs Apify exposent ces métriques. Quand le taux de réussite chute, je suis notifié en quelques heures — souvent avant même qu’un utilisateur ne s’en aperçoive. ## Commencez simple, ajoutez la complexité progressivement Chaque scraper que je construis démarre comme la solution la plus simple qui fonctionne : 1. **HTTP + Cheerio** en premier (le plus rapide, le moins cher) 2. **Ajoutez le fingerprinting** seulement en cas de blocage 3. **Ajoutez le rendu navigateur** seulement si JavaScript est requis 4. **Ajoutez la rotation de proxy** seulement en cas de limitation de débit Mon [scraper Ulta](/fr/tools/ulta-scraper/) est du pur Cheerio — aucun navigateur nécessaire. Mon [Universal Web Printer](/fr/tools/web-printer/) utilise Playwright car il doit rendre du JavaScript. Le bon outil pour la bonne tâche. --- Ce ne sont pas des principes théoriques — ils sont tirés de l’exploitation de scrapers de production qui traitent des millions de requêtes. Si vous avez besoin d’un scraper sur mesure construit selon ces pratiques, [parlons-en](/fr/contact/). --- # Comprendre la protection anti-bot : ce qui fonctionne en 2026 - **URL:** https://proooxy.com/fr/blog/bypassing-anti-bot-protection-guide/ - **Type:** blog - **Description:** Une plongée technique dans les systèmes anti-bot modernes — Cloudflare, Akamai, Datadome — et les techniques de contournement légitimes utilisées en scraping de production. - **Mots-clés:** contournement anti-bot, contourner cloudflare, contourner akamai, contourner datadome, détection de bot, protection anti-scraping - **Publié:** 2026-03-15 - **Modifié:** 2026-03-15 La protection anti-bot est une course à l’armement. En tant que développeur qui conçoit quotidiennement des scrapers de production capables de contourner ces systèmes, voici un regard de praticien sur le paysage actuel — ce que ces protections vérifient réellement, et à quoi ressemblent les techniques de contournement légitimes. ## Les couches de détection Les systèmes anti-bot modernes fonctionnent par couches. Comprendre ces couches est la clé d’un contournement fiable : ### Couche 1 : réputation IP La vérification la plus simple. Les services anti-bot maintiennent des bases de données de plages IP datacenter connues, de sorties VPN, et d’IP déjà signalées. **Ce qu’ils vérifient :** - Cette IP provient-elle d’AWS, GCP, Azure, ou d’un hébergeur connu ? - Cette IP a-t-elle déjà été signalée pour activité de bot ? - Combien de requêtes proviennent récemment de cette IP ? **Contre-mesure :** les proxies résidentiels de services comme Apify Proxy ou Bright Data fournissent des adresses IP appartenant à de véritables FAI, ce qui les rend indiscernables d’utilisateurs classiques au niveau IP. ### Couche 2 : fingerprinting TLS C’est là que ça devient intéressant. Chaque client HTTP a une signature de handshake TLS unique, basée sur : - Les suites de chiffrement supportées et leur ordre - Les extensions TLS et leur ordre - Les versions TLS supportées - Les protocoles ALPN Une bibliothèque standard comme `axios` ou `requests` a une empreinte TLS qui crie « bot », car elle ne correspond à aucun navigateur réel. Des services comme Akamai et Cloudflare maintiennent des bases de données d’empreintes pour chaque version de navigateur. **Contre-mesure :** des bibliothèques comme `got-scraping` (utilisée par mon [scraper Shopify](/fr/tools/shopify-scraper/)) et des clients TLS spécialisés peuvent imiter des empreintes TLS de niveau navigateur. Mon [scraper Sephora EU](/fr/tools/sephora-eu-scraper/) utilise un fingerprinting TLS de niveau navigateur pour contourner le WAF Akamai. ### Couche 3 : fingerprinting HTTP/2 Au-delà de TLS, les paramètres HTTP/2 révèlent le type de client : - Les paramètres de la frame SETTINGS (taille de la table d’en-têtes, nombre maximal de flux concurrents) - Les valeurs de la frame WINDOW_UPDATE - La structure de l’arbre de priorité - Les motifs de compression des en-têtes (HPACK) Chaque navigateur a des paramètres HTTP/2 caractéristiques. Chrome, Firefox et Safari se distinguent tous à ce niveau. ### Couche 4 : défis JavaScript La page « vérification de votre navigateur » de Cloudflare et les défis similaires exécutent du JavaScript qui : - Vérifie la présence d’API navigateur (canvas, WebGL, AudioContext) - Mesure le temps d’exécution - Valide les propriétés du DOM - Renvoie les réponses au défi vers le serveur **Contre-mesure :** les navigateurs headless (Playwright, Puppeteer) exécutent ces défis nativement. L’essentiel est de s’assurer que votre navigateur headless ne fuite pas de signaux d’automatisation (plus de détails ci-dessous). ### Couche 5 : analyse comportementale La couche la plus sophistiquée. Ces systèmes analysent : - Les motifs de mouvement de souris (trop linéaires = bot) - Le comportement de défilement (défilement instantané jusqu’en bas = bot) - Le temps entre les actions (trop régulier = bot) - Les motifs de navigation (accéder directement aux pages produit sans parcourir le site = suspect) - La cadence des requêtes (intervalles parfaitement uniformes = bot) ## Profils de protection : savoir à quoi vous faites face ### Cloudflare **Fréquent sur :** les sites petits à moyens, les blogs, les API Cloudflare propose plusieurs niveaux de protection : - **Basic** — réputation IP + limitation de débit. Des proxies datacenter respectant les limites de débit suffisent généralement. - **Managed Challenge** — défi JavaScript + turnstile. Nécessite un navigateur ou un solveur de défi. - **Enterprise/Bot Management** — analyse comportementale complète + fingerprinting. Nécessite un proxy résidentiel et un fingerprinting soigné. ### Akamai Bot Manager **Fréquent sur :** l’e-commerce entreprise (Sephora EU, grands distributeurs) Akamai est l’un des plus difficiles à contourner en raison de : - Un fingerprinting TLS agressif - Une collecte de données de capteurs via JavaScript côté client - Une analyse comportementale au niveau de la session - Une vérification de l’intégrité des cookies Mon approche pour Akamai : fingerprinting TLS de niveau navigateur + gestion des jetons invité + un rythme de requêtes qui imite la navigation humaine. ### Datadome **Fréquent sur :** l’e-commerce, la billetterie Datadome se concentre sur : - Le fingerprinting d’appareil via JavaScript - Les défis CAPTCHA pour le trafic suspect - Le scoring comportemental en temps réel ### PerimeterX (aujourd’hui HUMAN) **Fréquent sur :** le retail, les services financiers Connu pour ses défis JavaScript agressifs et son analyse comportementale. ## Architecture de contournement légitime Pour les systèmes de production ayant besoin d’une extraction de données fiable et continue, voici le schéma d’architecture que j’utilise : ### 1. Approche API-first Avant de tenter de contourner une quelconque protection, vérifiez s’il existe un chemin via API qui évite entièrement le WAF. De nombreuses protections ne s’appliquent qu’aux endpoints destinés au navigateur, pas aux routes API. Mon [scraper Sephora](/fr/tools/sephora-scraper/) convertit chaque URL web en appel API. Les endpoints API ont une protection plus légère que le site web, car ils sont conçus pour les applications mobiles. ### 2. Mise en chauffe de la session Ne sautez pas directement sur la page de données. Construisez une session de navigation réaliste : ``` Visit homepage → Browse categories → View product listing → Access product detail ``` Chaque étape renforce la crédibilité de la session. Le système anti-bot observe un motif qui correspond au comportement d’un utilisateur réel. ### 3. Cohérence des empreintes C’est essentiel : votre empreinte doit être **cohérente en interne**. Si votre TLS indique « Chrome 120 » mais que votre User-Agent indique « Chrome 118 », c’est un signal de détection. Alignez : - L’empreinte TLS - Les paramètres HTTP/2 - L’en-tête User-Agent - Accept-Language et les autres en-têtes - Les propriétés navigateur JavaScript (si vous utilisez un mode headless) ### 4. Rythme des requêtes Les humains ne font jamais de requêtes à des intervalles de précisément 1 seconde. Introduisez une variance réaliste : - Un délai de base entre les requêtes (2 à 5 secondes) - Une gigue aléatoire (+/- 30%) - Des pauses plus longues après les événements de navigation - Des périodes « d’inactivité » occasionnelles ### 5. Dégradation progressive Face à un défi ou un blocage : 1. Ne réessayez pas immédiatement — cela confirme un comportement de bot 2. Reculez de façon exponentielle 3. Basculez vers une nouvelle session (nouvelle IP + nouveaux cookies) 4. Essayez une autre région de proxy 5. En cas de blocage persistant, passez à une approche basée sur un navigateur ## Ce qui ne fonctionne plus - **Se contenter de changer le User-Agent** — les systèmes de détection vérifient des dizaines de signaux, pas un seul en-tête - **Des délais aléatoires seuls** — sans fingerprinting adapté, le timing ne suffit pas - **Chrome headless avec les réglages par défaut** — les signaux d’automatisation fuitent partout (`navigator.webdriver`, plugins manquants, artefacts du Chrome DevTools Protocol) - **Le rejeu de cookies** — les systèmes modernes lient les cookies aux empreintes TLS et aux plages IP ## Considérations éthiques Le contournement anti-bot est un outil. Comme tout outil, il peut être utilisé de façon responsable ou irresponsable. **Cas d’usage légitimes :** - La comparaison de prix au bénéfice du consommateur - L’étude de marché à partir de données publiques - L’accessibilité (rendre les données disponibles dans des formats structurés) - La recherche académique - L’assurance qualité et la surveillance **Respectez toujours :** - Les directives du robots.txt - Les limites de débit (même si vous pouvez les dépasser, ne le faites pas) - Les réglementations sur les données personnelles (RGPD, CCPA) - Les conditions d’utilisation (comprenez le cadre juridique de votre juridiction) Tous mes [outils](/fr/tools/) sont conçus pour une extraction de données légitime, avec limitation de débit intégrée et bonnes pratiques de gestion des proxies. --- Comprendre les systèmes anti-bot fait de vous un meilleur ingénieur en scraping. Si vous avez besoin de scrapers de qualité production capables de gérer ces défis de façon fiable, découvrez mes [outils](/fr/tools/) ou [contactez-moi](/fr/contact/) pour un projet sur mesure. --- # À propos - **URL:** https://proooxy.com/fr/about/ - **Type:** page - **Description:** Richard Feng — ingénieur web scraping avec plus de 12 ans d’expérience. Je transforme les sites web protégés en données structurées propres, prêtes pour le RAG, pour agents IA, pipelines de récupération et LLM. - **Mots-clés:** ingénieur web scraping freelance, développeur de scraper sur mesure, expert en contournement anti-bot, consultant extraction de données, pipeline de données RAG, rétro-ingénierie d’API, consultant scraping pour IA - **Publié:** 0001-01-01 - **Modifié:** 0001-01-01 ## Qui je suis Je m’appelle Richard Feng, ingénieur freelance en automatisation web avec plus de 12 ans d’expérience en développement. Je suis spécialisé en **web scraping, extraction de données et rétro-ingénierie d’API** — je transforme des sites web complexes et protégés en données structurées propres, directement exploitables par les systèmes d’IA. Ma boîte à outils couvre **Node.js (TypeScript), Python, Go et Java**, avec une expertise approfondie de **Crawlee, Playwright et Cheerio**. J’ai développé des systèmes de production qui traitent des millions de requêtes avec **>99% de réussite**. ## Ce que je fais Je développe et maintiens **16 acteurs Apify de qualité production**, utilisés par plus de **3 100 utilisateurs** avec un **taux de réussite des exécutions >99%** constant. Chaque acteur produit du **JSON propre, prêt pour le RAG** — cohérent avec son schéma, dédupliqué, et prêt à être injecté dans une base vectorielle, un pipeline de récupération ou un jeu d’entraînement. La plupart des acteurs de données publiques ne nécessitent aucune clé API. Mon travail couvre quatre domaines : ### E-commerce et données retail Des scrapers pour les grandes plateformes de beauté et de mode, dont [Sephora](/fr/tools/sephora-scraper/) (21 boutiques dans le monde), [Ulta Beauty](/fr/tools/ulta-scraper/), [Farfetch](/fr/tools/farfetch-scraper/), [Lululemon](/fr/tools/lululemon-scraper/), [Boohoo](/fr/tools/boohoo-scraper/), [Macy's](/fr/tools/macys-scraper/), et un [scraper Shopify](/fr/tools/shopify-scraper/) universel qui fonctionne avec n’importe quelle boutique propulsée par Shopify. ### Données publiques, financières et juridiques Des jeux de données officiels du gouvernement américain sous forme de JSON propre et prêt pour le RAG — [dépôts SEC EDGAR et données financières XBRL](/fr/tools/sec-edgar-scraper/), [financements fédéraux USAspending.gov](/fr/tools/usaspending-scraper/), [décisions de justice CourtListener](/fr/tools/courtlistener-scraper/), et [essais cliniques ClinicalTrials.gov](/fr/tools/clinical-trials-scraper/). ### Veille réseaux sociaux et médias Posts, profils et interactions [Bluesky](/fr/tools/bluesky-scraper/) via l’AT Protocol, ainsi qu’un [scraper de sous-titres et transcriptions YouTube](/fr/tools/youtube-transcript-scraper/) qui génère du JSON, SRT, VTT ou du texte prêt pour LLM en plus de 100 langues. ### Outils pour développeurs Des outils au-delà du scraping — [audit SEO et données structurées](/fr/tools/schema-markup-scraper/), [conversion de pages web en PDF/image](/fr/tools/web-printer/), et [tests de charge haute performance](/fr/tools/load-tester/). ## Spécialités - **Rétro-ingénierie d’API privées** — transformer des endpoints mobiles/web non documentés en sources de données fiables - **Contournement anti-bot** — Cloudflare, DataDome, Akamai WAF, et protections personnalisées - **Sortie prête pour le RAG** — JSON normalisé et cohérent avec son schéma, conçu pour la récupération et le grounding - **Scraping multi-régions** — locales, devises et conformité pris en charge - **Systèmes haute fiabilité** — des extracteurs qui maintiennent >99% de réussite à grande échelle ## Stack technique | Catégorie | Technologies | |----------|-------------| | Langages | TypeScript, Python, Go, Java | | Scraping | Crawlee, Playwright, Cheerio, Parsel, got-scraping | | Anti-bot | Générateurs de fingerprint, fingerprinting TLS, rotation de sessions | | Infrastructure | Apify Platform, Docker, GitHub Actions | | Tests | Vegeta, frameworks de test de charge personnalisés | ## Travailler avec moi Je propose des solutions de scraping sur mesure, la conception de pipelines de données RAG, et des services d’extraction de données en continu. Si votre IA a besoin du web réel sous forme de données propres — [parlons-en](/fr/contact/). --- # Contact - **URL:** https://proooxy.com/fr/contact/ - **Type:** page - **Description:** Commandez un scraper sur mesure ou un pipeline de données RAG — rétro-ingénierie d’API privées, contournement anti-bot et JSON structuré propre livré directement dans votre stack IA. - **Mots-clés:** embaucher développeur web scraping, développement de scraper sur mesure, service de web scraping, pipeline de données RAG, service d’extraction de données, consultant web scraping - **Publié:** 0001-01-01 - **Modifié:** 0001-01-01 ## Obtenez les données absentes du catalogue Je conçois des scrapers web et des pipelines de données RAG sur mesure — pour des équipes IA, des plateformes de données, et toute personne ayant besoin du web ouvert sous forme de JSON propre et structuré. Extraction ponctuelle ou flux mis à jour en continu, je peux vous aider. ### Ce que je construis - **Scrapers sur mesure** — conçus spécifiquement pour vos sites cibles, avec contournement anti-bot intégré - **Pipelines de données RAG** — extraction, normalisation, découpage en chunks, et livraison de JSON prêt pour la récupération vers votre base vectorielle ou votre entrepôt de données - **Rétro-ingénierie d’API privées** — transformer des endpoints mobiles/web non documentés en sources stables et structurées - **Maintenance de scrapers** — garder vos extracteurs existants opérationnels quand les sites cibles changent - **Conseil technique** — audit d’architecture pour votre stack de scraping et d’ingestion de données ### Comment ça marche 1. **Décrivez les données** — la source, les champs dont vous avez besoin, et le format de livraison 2. **Étude de faisabilité gratuite** — j’évalue la complexité de la cible et son niveau de protection anti-bot, sans frais 3. **Proposition & délais** — périmètre clair, tarif fixe, date de livraison 4. **Développement & livraison** — extracteur de qualité production avec documentation et sortie propre ### Démarrer un projet
### Ou contactez-moi directement - **Email** : [p8p9cmk96@mozmail.com](mailto:p8p9cmk96@mozmail.com) - **GitHub** : [@autofacts](https://github.com/autofacts) - **Apify** : [apify.com/autofacts](https://apify.com/autofacts) ---