Pour les revendeurs et analystes e-commerce, eBay possède une chose que presque aucune autre marketplace ne donne publiquement : les annonces vendues. La plupart des sites vous montrent des prix demandés. eBay vous montre à combien les choses se sont réellement vendues, à quelle date, dans quel état, de quel vendeur. Ce n’est pas un signal de prix, ce sont des données de transaction, et c’est pourquoi eBay fonctionne comme un oracle public des prix pour tout, des sneakers aux pièces industrielles.
Le collecter de façon fiable est la partie difficile. eBay exploite des marketplaces régionales séparées avec des prix et une demande différents, se défend contre l’accès automatisé, et personnalise les résultats selon le visiteur. Tirez ces données depuis l’IP d’un seul bureau et vous obtenez la vue d’un seul pays, criblée de trous. Ce guide couvre ce qui vaut la peine d’être collecté, quand utiliser l’API officielle à la place, et comment rassembler le reste avec précision grâce aux proxys résidentiels.
Ce qui vaut vraiment la peine d’être collecté
Une page d’annonce eBay est dense, mais les analystes se soucient vraiment d’un sous-ensemble précis :
Au niveau de l’annonce
- Prix et format — le prix, et surtout s’il s’agit d’une enchère ou d’un Achat immédiat. Mélanger les deux corrompt toute moyenne que vous calculez.
- État — neuf, occasion, reconditionné, pour pièces. Sur eBay, l’état pilote la variance de prix plus que presque tout le reste.
- Livraison et localisation — coût et localisation de l’article, qui changent le vrai prix rendu.
- Caractéristiques de l’objet — marque, modèle, taille, et les attributs structurés qui rendent les annonces comparables.
Annonces vendues / terminées (la partie précieuse)
- Prix réalisé et date de vente — ce que les acheteurs ont réellement payé, et quand.
- Sell-through — combien des annonces d’un article se sont réellement vendues face à celles expirées invendues. C’est le chiffre qui sépare « vaut la peine d’être sourcé » de « reste indéfiniment ».
Au niveau du vendeur
- Score et taux d’évaluation, nom de boutique, et s’il s’agit d’un vendeur professionnel.
- Assortiment et comportement de prix — ce qu’un vendeur concurrent liste, à quels prix, et à quelle vitesse ça bouge.
Cette troisième catégorie est ce qui transforme la collecte en intelligence concurrentielle : pas seulement à combien un produit se vend, mais quels vendeurs y gagnent.
Commencez par l’API officielle là où elle convient
Cela vaut la peine d’être dit clairement, car cela vous épargnera des efforts : eBay a une API officielle, et là où elle couvre votre besoin, c’est le bon premier arrêt. Elle est stable, structurée, ne casse pas quand le markup change, et elle est explicitement sanctionnée. Si vous avez besoin de données d’annonces standard et que vos volumes et régions entrent dans ses conditions et limites, utilisez-la.
Les proxys interviennent pour les cas que l’API ne sert pas bien : données publiques hors de son périmètre, couverture des marketplaces régionales à l’ampleur qu’exige un analyste, ou voir la marketplace exactement comme la voit un acheteur local. Le cadrage honnête, c’est que ce sont des compléments, pas des substituts, et commencer par l’API là où elle convient est simplement une meilleure ingénierie.
Pourquoi le reste est un problème de proxy
Trois propriétés d’eBay font de la collecte publique large un problème d’accès.
eBay est divisé par marketplace, et géo-personnalisé. ebay.com, ebay.co.uk, ebay.de, ebay.com.au sont des marketplaces différentes avec un stock, des prix, une demande, et un sell-through différents. Même au sein d’une seule, les résultats sont personnalisés selon la localisation du visiteur, les options de livraison et la disponibilité changent. Pour un revendeur faisant de l’arbitrage transfrontalier, c’est cela l’analyse : ce qu’une chose rapporte au Royaume-Uni face à l’Allemagne. Récupérer ebay.de depuis une IP américaine ne vous donne aucune des deux vues avec précision, il faut donc être dans le marché que vous mesurez (ciblage par pays et ville).
eBay se défend contre l’accès automatisé. Comme toute grande marketplace, il fait tourner des systèmes anti-bot. Les IP de datacenter sont signalées, bridées, ou reçoivent des interstitiels, donc vous enregistrez la version bot au lieu de la page de l’acheteur (pourquoi les scrapers se font bloquer). Les IP résidentielles portent la confiance d’un vrai utilisateur et voient la vraie annonce.
La couverture est large et répétée. Un balayage de catégorie sur plusieurs marketplaces, rafraîchi quotidiennement pour garder le sell-through à jour, ce sont beaucoup de requêtes. Depuis une poignée d’IP vous déclenchez des rate limits et finissez avec un échantillon partiel, ce qui est fatal ici : un taux de sell-through calculé sur un échantillon biaisé par des blocages est pire qu’aucun chiffre.
Router vers la bonne marketplace
Sur le gateway Shifter, vous choisissez un pays en l’encodant dans le nom d’utilisateur du proxy, un point de terminaison, pas de listes d’IP. Accordez le pays du proxy au domaine de la marketplace :
# ebay.com en tant qu'acheteur américaincurl -x customer-USERNAME-country-us:PASSWORD@p.shifter.io:443 \ "https://www.ebay.com/itm/123456789012"
# ebay.co.uk en tant qu'acheteur britanniquecurl -x customer-USERNAME-country-gb:PASSWORD@p.shifter.io:443 \ "https://www.ebay.co.uk/itm/123456789012"Notez que le code pays pour le Royaume-Uni est gb, pas uk, une petite chose qui produit silencieusement des données du mauvais marché si vous vous trompez.
Collecter en code
L’essentiel des données d’annonces eBay est dans le HTML initial, donc un client HTTP simple est plus rapide et bien moins cher que piloter un navigateur (voir proxys résidentiels avec Python pour la configuration complète du client) :
import os, requestsfrom bs4 import BeautifulSoup
USER, PASS = os.environ["SHIFTER_USER"], os.environ["SHIFTER_PASS"]
def proxy(country="us"): url = f"http://{USER}-country-{country}:{PASS}@p.shifter.io:443" return {"http": url, "https": url}
MARKETS = {"us": "ebay.com", "gb": "ebay.co.uk", "de": "ebay.de"}
def fetch_listing(item_id, country="us"): domain = MARKETS[country] url = f"https://www.{domain}/itm/{item_id}" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "Accept-Language": "en-GB,en;q=0.9" if country == "gb" else "en-US,en;q=0.9", "Accept-Encoding": "gzip, br", } r = requests.get(url, headers=headers, proxies=proxy(country), timeout=30) r.raise_for_status() soup = BeautifulSoup(r.text, "html.parser") return { "item_id": item_id, "market": country, "title": (t := soup.select_one("h1")) and t.get_text(strip=True), "price": (p := soup.select_one(".x-price-primary")) and p.get_text(strip=True), # L'état, la livraison et les caractéristiques vivent dans leurs propres blocs ; # traitez chaque sélecteur comme optionnel et validez ce que vous extrayez. }Deux notes pratiques. Posez Accept-Language pour correspondre à la marketplace ciblée, une IP britannique envoyant en-US est une incohérence dont vous n’avez pas besoin. Et traitez chaque sélecteur comme optionnel : le markup d’eBay varie selon la catégorie et le type d’annonce, alors parsez défensivement et validez plutôt que de supposer qu’un champ existe.
Tournez à chaque requête pour les balayages larges de catégorie ; tenez une session sticky quand vous paginez l’inventaire d’un seul vendeur pour que la séquence ressemble à un acheteur. Parce que la qualité d’IP décide à quelle fréquence vous voyez la vraie page, la réputation d’IP vaut d’être comprise, et des blocages constants (pas occasionnels) pointent vers la qualité ou le comportement (comment éviter de se faire bloquer).
Transformer les annonces en analyse
La collecte est l’intrant ; l’analyse est là où les revendeurs gagnent vraiment de l’argent. Quelques points qui comptent en modélisant ces données :
Séparez vendu d’actif. Les annonces actives sont des prix demandés, donc de l’aspiration. Les annonces vendues sont des transactions. Ne les moyennez jamais ensemble, et ne citez jamais un « prix eBay » sans dire lequel vous voulez dire.
Segmentez par état et format. Le prix réalisé d’un article d’occasion et celui d’un neuf sont des marchés différents. Les clôtures d’enchères et les ventes en Achat immédiat se comportent aussi différemment. Moyenner à travers ces segments produit un chiffre qui ne décrit rien.
Calculez le sell-through, pas seulement le prix. Vendus divisé par total listé sur une fenêtre vous dit la liquidité. Un prix élevé avec 10% de sell-through est une pire cible de sourcing qu’un prix plus bas qui s’écoule de façon fiable.
Comparez entre marketplaces délibérément. Les écarts de prix transfrontaliers sont l’avantage du revendeur, mais seulement si le chiffre de chaque marché a réellement été collecté depuis ce marché, ce qui est exactement pourquoi le routage géo ci-dessus compte.
Pour structurer la sortie en un jeu de données prêt pour la recherche, comment construire un jeu de données avec le web scraping couvre la mécanique, et la même discipline sous-tend la surveillance des prix et l’analytique du rayon digital.
L’utiliser de façon responsable
Collectez uniquement des données publiques d’annonces, titres, prix, états, livraison, et métriques publiques de vendeur que tout acheteur peut voir. Les données personnelles sont hors limites : identités d’acheteurs, messages privés, et détails personnels attachés aux comptes ne sont pas de bon jeu, et les commentaires d’évaluation doivent être maniés avec soin puisqu’ils peuvent contenir des informations personnelles.
Au-delà : respectez les conditions et rate limits d’eBay, ne dégradez pas le site, et préférez l’API officielle là où elle couvre votre cas d’usage. Les conditions d’eBay restreignent l’accès automatisé, donc limitez la collecte aux données publiques, gardez un rythme raisonnable, et obtenez un conseil juridique pour tout ce qui est incertain (le web scraping est-il légal). Un proxy change l’IP d’où part une requête, pas le fait que vous deviez la faire ; notre politique d’usage acceptable est la source de vérité pour ce qui est permis sur Shifter.
FAQ
Pourquoi ai-je besoin de proxys pour les données eBay ? Parce qu’eBay exploite des marketplaces régionales séparées avec des prix et une demande différents, personnalise les résultats selon la localisation, et se défend contre l’accès automatisé. Depuis une IP vous voyez un marché, partiellement. Les proxys résidentiels vous laissent collecter chaque marketplace en tant que vrai acheteur local.
Devrais-je utiliser l’API eBay à la place ? Là où elle couvre votre besoin, oui, elle est stable, structurée, et sanctionnée. Les proxys servent aux données publiques hors de son périmètre ou à l’ampleur sur les marketplaces régionales. Commencez par l’API et utilisez la collecte pour le reste.
Puis-je collecter les annonces vendues et terminées ? Les annonces vendues sont affichées publiquement et constituent l’intrant le plus précieux pour les revendeurs, puisque ce sont des prix réalisés plutôt que demandés. Collectez-les comme données publiques, gardez vendues et actives séparées dans votre analyse, et respectez les conditions et rate limits d’eBay.
Pourquoi le Royaume-Uni a-t-il besoin du code pays gb ?
Parce que le gateway utilise les codes pays ISO, où le Royaume-Uni est gb. Utiliser uk échoue silencieusement à cibler correctement, ce qui signifie que vous collecteriez ebay.co.uk depuis le mauvais marché sans vous en rendre compte.
Proxys résidentiels ou datacenter pour eBay ? Résidentiels. Les marketplaces détectent et traitent les IP de datacenter différemment, vous seriez donc bridé ou servi une page dégradée. Les IP résidentielles voient la vraie annonce géo-précise qu’un vrai acheteur verrait.
En résumé
Les données publiques d’annonces vendues d’eBay sont exceptionnellement précieuses parce qu’elles sont transactionnelles, pas aspirationnelles, et elles constituent l’ossature de l’analyse de sourcing, de prix, et de sell-through pour les revendeurs. Le piège, c’est qu’elles sont réparties entre marketplaces régionales, personnalisées par localisation, et défendues, donc la précision de votre analyse dépend entièrement de la collecte de chaque marché en tant que vrai acheteur dans ce marché. Utilisez l’API officielle là où elle convient, routez le reste via des IP résidentielles accordées à la marketplace, parsez défensivement, et gardez vendu séparé d’actif dans le modèle.
Faites cela et vous obtenez des chiffres sur lesquels sourcer et fixer vos prix, au lieu d’une moyenne mélangée qui ne décrit rien. Un réseau de proxys résidentiels de qualité est ce qui garde cette collecte géo-précise et complète, et la page tarifs propose les forfaits au Go pour l’essayer contre les catégories et marketplaces où vous opérez réellement.