Comparaison des meilleures API de scraping Zillow APIs: Test de performance
Nous avons comparé les cinq meilleurs fournisseurs de web scraping sur Zillow, l'un des principaux domaines de l'immobilier, en exécutant plus de 1 250 requêtes de scraping pour tous les fournisseurs. Chaque fournisseur a reçu un ensemble identique d'URL de fiches de biens et a été évalué sur le temps d'exécution, le taux de réussite et le nombre de champs de données structurées retournés par fiche.
Analyse comparative du scraping Zillow
Nous avons également analysé le temps d'exécution uniquement pour les tâches où tous les fournisseurs ont réussi. Les résultats étaient quasiment identiques aux temps d'exécution globaux, indiquant que les requêtes échouées n'ont pas significativement gonflé le temps d'exécution moyen d'aucun fournisseur.
Vous pouvez consulter notre section méthodologie du benchmark pour plus de détails sur le processus de test.
Quelles données pouvez‑vous scraper sur Zillow ?
Étant donné que Apify était le seul fournisseur à retourner une sortie structurée en JSON, il était le seul avec des champs de métadonnées mesurables. Apify a retourné 185 champs de métadonnées pour Zillow. Les autres fournisseurs ont retourné du HTML rendu, qui a été analysé localement à l'aide de sélecteurs CSS et n'a donc pas produit de compteurs de métadonnées comparables.
Apify : champs de métadonnées disponibles pour Zillow
Résultats du benchmark de scraping Zillow
Oxylabs a obtenu le taux de réussite le plus bas de cette comparaison avec 89 % et a également enregistré le temps d'exécution moyen le plus élevé, autour de 59 secondes. Il utilisait une source de scraping Zillow dédiée, mais cela ne s'est pas traduit par un avantage en termes de vitesse ou de fiabilité sur ce jeu de données particulier.
Decodo a affiché un taux de réussite de 97 %, le deuxième plus élevé après Apify. Toutefois, son temps d'exécution était nettement plus élevé, autour de 51 secondes, le plaçant parmi les fournisseurs les plus lents. Il a obtenu ce résultat en utilisant une configuration de scraping généraliste, sans aucun réglage spécifique à Zillow.
Apify a atteint un taux de réussite de 100 % sur Zillow avec un temps d'exécution d'environ 17 secondes. C'était le seul fournisseur à retourner une sortie structurée en JSON, ce qui en faisait aussi le seul avec des champs de métadonnées mesurables, avec une moyenne de 185 points de données par annonce.
Nimble a été le fournisseur le plus rapide de ce benchmark, exécutant les requêtes en environ 12 secondes en moyenne. Son taux de réussite s'est établi à 92 %, ce qui le maintient dans la moitié supérieure de la comparaison. La combinaison de la vitesse et de la fiabilité en a fait l'un des résultats les plus équilibrés sur ce domaine.
Zyte a atteint un taux de réussite de 92 % avec un temps d'exécution d'environ 46 secondes. Il se situait dans la même fourchette que Nimble pour la réussite, mais était considérablement plus lent. Le résultat était stable mais ne s'est démarqué ni dans un sens ni dans l'autre.
Méthodologie du benchmark
Nous avons testé cinq fournisseurs de web scraping (Apify, Decodo, Oxylabs, Nimble, Zyte) sur zillow.com.
Jeu de données
Nous avons préparé 250 URL de pages produits Zillow. Les pages produits sont des fiches de biens individuelles avec des détails tels que l'adresse, le prix, le nombre de chambres, de salles de bains, la superficie et l'historique du bien.
Toutes les URL ont été vérifiées comme étant accessibles avant le benchmark. Les URL suivaient le format standard des pages de détails Zillow (/homedetails/…/zpid/).
Configuration commune
Tous les fournisseurs ont reçu des URL identiques provenant du même jeu de données et ont été testés dans les mêmes conditions :
- Exécution séquentielle : une requête à la fois, sans requêtes parallèles
- Délai entre les requêtes : 2 secondes
- Gestion de la limitation de débit : attente de 30 secondes avec jusqu'à 3 tentatives en cas d'HTTP 429
- Délai de soumission : 300 secondes
- Délai d'exécution : 600 secondes
- Chaque URL a été testée une fois par fournisseur
Configurations des fournisseurs
Apify
Apify a utilisé l'acteur maxcopell/zillow-detail-scraper, qui renvoie du JSON structuré avec des champs analysés. Aucune analyse par sélecteur CSS n'a été nécessaire. L'état des exécutions de l'acteur était interrogé toutes les secondes jusqu'à ce que le statut soit SUCCEEDED.
Decodo
Decodo a utilisé l'API Universal Scraper (target: universal, headless: html), qui renvoie du HTML rendu par JavaScript. La réponse a été analysée localement avec des sélecteurs CSS. Toutes les requêtes incluaient un en-tête User-Agent de bureau.
Oxylabs
Oxylabs a utilisé l'API Realtime avec source: zillow et render: html, qui renvoie du HTML rendu par JavaScript. La réponse a été analysée localement avec des sélecteurs CSS.
Nimbleway
Nimble a utilisé l'API Extract avec render: true et driver: vx10 (stealth headless browser). La réponse a été analysée localement avec des sélecteurs CSS. Aucune configuration spécifique au domaine n'a été appliquée.
Zyte
Zyte a utilisé l'API Extract avec browserHtml: true, qui renvoie du HTML rendu par JavaScript via un navigateur Chromium headless. La réponse a été analysée localement avec des sélecteurs CSS. Aucune configuration spécifique au domaine n'a été appliquée.
Validation
Vérification du statut HTTP
Avant la validation, le code de réponse HTTP du fournisseur est d'abord vérifié. Les réponses avec des codes de statut compris entre 200-399 et 404 sont considérées comme des soumissions réussies et passent à la phase de validation. Tout autre code de statut (400, 403, 500, 550, etc.) est traité comme un échec de soumission, et le test est immédiatement marqué comme échoué sans entrer dans la phase de validation.
Règles de validation
Les tests qui passent la vérification du statut HTTP sont validés dans l'ordre suivant :
- Détection 404 : Si le contenu de la page ou l'erreur de l'API indique que la page n'existe plus (« page not found », « does not exist », « dead_page »), le test est marqué comme valide. Le fournisseur a correctement identifié une page indisponible.
- Extraction de données (JSON API) : Pour les fournisseurs retournant du JSON structuré, au moins un champ de données doit être présent et non vide, avec un type valide selon le champ (chaîne de caractères ou entier). Les champs vérifiés incluent l'adresse, le prix, le nombre de chambres, de salles de bains et la superficie.
- Extraction de données (HTML) : Pour les fournisseurs retournant du HTML, la réponse est analysée avec des sélecteurs CSS spécifiques à Zillow. Si au moins un sélecteur correspond et renvoie une valeur non vide, le test est réussi.
- Indicateur de page (HTML uniquement) : Si aucun élément de données n'a été extrait mais qu'au moins un des sélecteurs CSS prédéfinis pour Zillow a correspondu à un élément de la page, le test est marqué comme valide. Cela confirme que la page a été rendue et chargée, même si aucun élément de données structurées n'a été trouvé dans les conteneurs attendus.
- Si aucune des conditions ci-dessus n'est remplie, le test échoue. Les raisons d'échec courantes incluent les pages de défi captcha/bot, un rendu JavaScript insuffisant, des erreurs de connexion proxy et des erreurs du robot d'exploration.
Métriques
Taux de réussite de la validation : Le pourcentage d'URL testées pour lesquelles le fournisseur a retourné des données exploitables, calculé comme le nombre de tests réussis divisé par le nombre total de tests.
Temps d'exécution : Le temps total écoulé entre l'envoi de la requête de scraping et la réception des résultats validés, mesuré en secondes. Pour les fournisseurs asynchrones, l'état d'achèvement de la tâche a été interrogé toutes les secondes. La moyenne arithmétique est rapportée pour toutes les exécutions d'un groupe.
Métadonnées disponibles : Le nombre de noms de champs uniques retournés par le fournisseur pour tous les éléments d'une réponse. Applicable uniquement aux réponses de l'JSON API.
FAQ
Les API structurées renvoient des points de données validés comme le prix, l'adresse, le nombre de chambres et la superficie dans des formats cohérents. Lorsque vous utilisez des fournisseurs basés sur du HTML, vérifiez les données extraites par rapport à des annonces connues et soyez attentif aux champs manquants causés par un rendu de page dynamique ou des redirections anti-bot.
Oui, la plupart des fournisseurs de scraping prennent en charge à la fois les annonces de location et de vente sur Zillow. La structure des URL diffère entre les deux, votre jeu de données doit donc inclure le bon type d'annonce. Certains fournisseurs utilisent des configurations ou des identifiants de jeu de données distincts pour les locations par rapport aux ventes.
Pour les URL produits (annonces individuelles), la pagination n'est pas nécessaire puisque chaque URL renvoie un seul bien. Pour les URL de recherche qui renvoient plusieurs résultats, les fournisseurs gèrent la pagination différemment. Certaines API structurées acceptent un paramètre limit pour contrôler le nombre de résultats par requête, tandis que les fournisseurs basés sur HTML ne renvoient que les annonces affichées sur la première page.
Zillow utilise des CAPTCHA, le blocage d'IP et le rendu JavaScript dynamique pour empêcher l'accès automatisé. Les échecs courants incluent des réponses vides dues à des requêtes bloquées, des données incomplètes provenant de pages qui ne se sont pas entièrement chargées et des annonces périmées qui renvoient une 404. L'utilisation de fournisseurs avec des API Zillow dédiées ou un rendu par navigateur headless réduit ces problèmes.
Les données scrapées de Zillow peuvent être utilisées pour suivre les tendances de prix par quartier, comparer les prix des annonces aux Zestimates, surveiller le nombre de jours sur le marché, analyser le prix au pied carré par code postal et identifier les biens sous-évalués. Les API structurées qui renvoient des champs tels que l'historique des prix et les évaluations fiscales fournissent des données plus approfondies pour l'analyse d'investissement.
Citer cette recherche
Choisissez le format qui correspond à votre lieu de publication. Coller la version avec lien dans votre CMS préserve le lien retour.
@misc{ipi2026,
author = {Şipi, Nazlı},
title = {{Comparaison des meilleures API de scraping Zillow APIs: Test de performance}},
year = {2026},
month = apr,
howpublished = {\url{https://aimultiple.com/scraping-zillow}},
note = {AIMultiple. Consulté le 28 Avril 2026}
}
Soyez le premier à commenter
Votre adresse courriel ne sera pas publiée. Tous les champs sont obligatoires. Les commentaires sont laissés dans leur langue d'origine.