Tous les scrapers

Données d'entreprise

Yelp Reviews Scraper

yelp.com

99.4% Taux de réussite
2.2s Réponse moyenne
DataDome Protection
1 100 appels Mesuré sur

Les avis Yelp d'un établissement sont servis via un endpoint de plugin dédié plutôt que par la récupération de page générique. Donnez-lui un établissement - une URL d'établissement Yelp comme https://www.yelp.com/biz/gary-danko-san-francisco, son alias gary-danko-san-francisco ou son identifiant d'établissement - et il lit le flux d'avis que charge la section des avis de yelp.com elle-même, puis renvoie les avis déjà parsés : l'identifiant et le lien de l'avis, la note en étoiles, le texte complet, sa langue, la date et l'heure de publication, l'auteur (nom, localisation, nombres d'avis, d'amis et de photos, statut Elite et année), les photos avec légendes, les vidéos, les compteurs de réactions Helpful, Thanks, Love this et Oh no, les check-ins, la réponse publique du propriétaire et les avis précédents de l'auteur sur le même établissement. L'établissement est fourni avec : nom, note, nombre d'avis, répartition de 1 à 5 étoiles, nombre d'avis par langue, catégories, ville et quartiers. Triez comme le fait yelp.com (pertinence, plus récents, plus anciens, meilleures notes, moins bonnes notes ou membres Elite d'abord), ne gardez que certaines notes, cherchez une expression dans les avis, écartez les avis antérieurs à une date et commencez à n'importe quelle page ou position ; un appel collecte jusqu'à 500 avis et nextStart reprend là où il s'est arrêté. Yelp liste une seule langue d'avis à la fois : par défaut, un appel lit la langue la plus représentée de l'établissement, et language en choisit une autre. C'est le complément avis de notre plugin de recherche Yelp, sans compte Yelp ni clé d'API Fusion.

Ce que vous pouvez extraire

  • Identifiant de l'avis, lien, note en étoiles, texte complet, langue, date et heure de publication
  • Auteur : nom, localisation, nombres d'avis, d'amis et de photos, statut Elite et année
  • Photos avec légendes, vidéos, check-ins et les compteurs de réactions Helpful, Thanks, Love this et Oh no
  • La réponse publique du propriétaire et les avis précédents de l'auteur sur le même établissement
  • Résumé de l'établissement : nom, note, nombre d'avis, répartition de 1 à 5 étoiles, nombre d'avis par langue, catégories, ville et quartiers
  • Tri par pertinence, plus récents, plus anciens, meilleures ou moins bonnes notes ou Elite, et filtres par note, par expression ou par date (since)
  • Toutes les pages d'avis : jusqu'à 500 avis par appel depuis n'importe quelle page ou position, une langue par appel, avec nextStart pour continuer

Endpoints dédiés

/local/yelp-reviews

Avis d'un établissement Yelp

Les avis d'un établissement Yelp indiqué par une URL d'établissement, un alias ou un identifiant : business (businessId, alias, name, url, rating, reviewCount, ratingHistogram, reviewsCountByLanguage, categories, city, region, neighborhoods) et un tableau reviews avec id, url, rating, text, language, publishedDate, date, user (name, location, reviewCount, friendCount, photoCount, isElite, eliteYear), photos, videos, reactions (helpful, thanks, loveThis, ohNo), ownerResponse, checkIns et previousReviews. sort vaut relevance, newest, oldest, highest, lowest ou elites ; rating garde certaines notes (par exemple 1,2), query cherche une expression dans les avis, language choisit la langue des avis (par défaut, la plus représentée de l'établissement) et since écarte les avis plus anciens. max_reviews de 1 à 500 (20 par défaut) depuis page (10 avis par page) ou start ; totalResults, hasMore et nextStart pour la pagination, pagesFetched pour la facturation.

Comment le scraper

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/local/yelp-reviews?business=gary-danko-san-francisco&max_reviews=20&sort=newest"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/local/yelp-reviews",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"business": "gary-danko-san-francisco", "max_reviews": "20", "sort": "newest"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const data = await su.yelpReviews('gary-danko-san-francisco', {
  maxReviews: 20,
  sort: 'newest',
});
console.log(data);

Les requêtes sont en POST et passent leurs paramètres dans la query string. Le rendu navigateur a toujours lieu : aucun flag à activer.

Exemple de réponse

{
  "business": {
    "businessId": "WavvLdfdP6g8aZTtbBQHTw",
    "alias": "gary-danko-san-francisco",
    "name": "Gary Danko",
    "url": "https://www.yelp.com/biz/gary-danko-san-francisco",
    "rating": 4.5,
    "reviewCount": 6149,
    "ratingHistogram": {
      "1": 125,
      "2": 216,
      "3": 485,
      "4": 1100,
      "5": 4228
    },
    "reviewsCountByLanguage": {
      "en": 6150,
      "zh": 3,
      "de": 1
    },
    "categories": [
      "New American",
      "French",
      "Cocktail Bars"
    ],
    "city": "San Francisco",
    "region": "CA",
    "neighborhoods": [
      "Russian Hill",
      "Fisherman's Wharf"
    ],
    "image": "https://s3-media0.fl.yelpcdn.com/bphoto/5dbjkeTld05HumeToIAhRQ/90s.jpg"
  },
  "reviews": [
    {
      "id": "rmHRbvuVBpNb6faLI7EufQ",
      "url": "https://www.yelp.com/biz/gary-danko-san-francisco?hrid=rmHRbvuVBpNb6faLI7EufQ",
      "rating": 5,
      "text": "Been here for 10 years and cannot believe I haven't written a review.  First time dining at the bar and I think we like it better than the main dining room. The bartenders are very friendly and there's more of an interaction...",
      "language": "en",
      "publishedDate": "2026-09-26T20:12:05-07:00",
      "date": "2026-09-26",
      "user": {
        "id": "...",
        "name": "Dana K.",
        "location": "San Francisco, CA",
        "profileUrl": "https://www.yelp.com/user_details?userid=...",
        "avatar": "https://s3-media0.fl.yelpcdn.com/photo/.../180s.jpg",
        "reviewCount": 601,
        "friendCount": 281,
        "photoCount": 1481,
        "isElite": true,
        "eliteYear": 2026,
        "isEliteAllStar": null
      },
      "photos": [
        {
          "id": "0gwh8dr1Cc5sTNpfStU9oQ",
          "url": "https://s3-media0.fl.yelpcdn.com/bphoto/0gwh8dr1Cc5sTNpfStU9oQ/o.jpg",
          "caption": "Lobster Risotto",
          "width": 1501,
          "height": 2000
        }
      ],
      "photosCount": 2,
      "videos": [],
      "ownerResponse": null,
      "reactions": {
        "helpful": 1,
        "thanks": 0,
        "loveThis": 0,
        "ohNo": 0
      },
      "helpfulVotes": 1,
      "checkIns": 0,
      "isFirstReviewer": false,
      "isReviewOfTheDay": false,
      "authorExpertise": "Cocktail Bar",
      "isUpdated": false,
      "previousReviews": []
    }
  ],
  "resultsCollected": 10,
  "totalResults": 6150,
  "page": 1,
  "start": 0,
  "sort": "newest",
  "language": "en",
  "rating": null,
  "query": null,
  "since": null,
  "pagesFetched": 1,
  "hasMore": true,
  "nextPage": 2,
  "nextStart": 10
}

Lire la documentation de l'API

Questions fréquentes

Le scraping des avis Yelp est-il légal ?

Collecter des avis et des notes Yelp publics est licite dans de nombreuses juridictions, mais les règles dépendent de votre pays, des données collectées et de leur usage. Les noms des auteurs, les photos et le texte des avis peuvent être des données personnelles, respectez donc les règles de confidentialité qui s'appliquent à vous. ScrapeUnblocker renvoie les avis publics ; ce que vous collectez et comment vous l'utilisez relève de votre responsabilité.

Comment scraper les avis Yelp sans se faire bloquer ?

Les pages d'établissement de Yelp sont protégées par DataDome. Le plugin /local/yelp-reviews lit les avis dans le flux d'avis que charge la section des avis de yelp.com elle-même, via des sorties ISP rotatives et sans rendu navigateur, et renvoie une requête refusée via une nouvelle sortie. Un établissement indiqué par une URL ou un alias coûte d'abord une récupération de la page de l'établissement via la chaîne de déblocage de ScrapeUnblocker, pour trouver son identifiant ; la réponse renvoie businessId, si bien que les appels suivants peuvent sauter cette étape. Dans le benchmark de ScrapeUnblocker, 99,4 % des 1 100 appels, avec un établissement différent à chaque fois, ont renvoyé des avis, en environ 2,2 s par appel.

Combien d'avis Yelp puis-je obtenir ?

Tous : le plugin parcourt chaque avis que Yelp liste pour l'établissement, pas seulement les quelques-uns affichés sur sa page. Un appel collecte jusqu'à 500 avis (max_reviews, 20 par défaut), en commençant à n'importe quelle page (10 avis par page, comme sur yelp.com) ou à une position exacte avec start, et nextStart reprend là où il s'est arrêté tant que hasMore vaut true. totalResults indique combien d'avis correspondent aux language, rating et query de l'appel. Yelp liste une seule langue d'avis par appel, si bien qu'un établissement commenté en plusieurs langues demande un passage par langue ; business.reviewsCountByLanguage indique combien d'avis compte chaque langue.

Quelles données j'obtiens pour chaque avis ?

Chaque avis comporte son identifiant et son lien, la note en étoiles, le texte complet et sa langue, la date et l'heure de publication, le nom de l'auteur, sa localisation, ses nombres d'avis, d'amis et de photos et son statut Elite avec l'année, les photos avec légendes et dimensions, les vidéos, les compteurs de réactions Helpful, Thanks, Love this et Oh no, les check-ins, la réponse publique du propriétaire et les avis précédents de l'auteur sur le même établissement. Le résumé de l'établissement ajoute son nom, sa note, son nombre d'avis, la répartition de 1 à 5 étoiles, le nombre d'avis par langue, les catégories, la ville, la région et les quartiers.

Puis-je trier ou filtrer les avis Yelp ?

Oui. sort ordonne les avis comme le menu Sort by de yelp.com : relevance (l'ordre par défaut de Yelp), newest, oldest, highest, lowest ou elites. rating ne garde que certaines notes, par exemple 1,2 pour les avis critiques, query garde les avis qui mentionnent une expression, via la recherche d'avis de yelp.com elle-même, et since écarte les avis écrits avant une date ; avec sort=newest, la pagination s'arrête au premier avis plus ancien, ce qui convient au suivi des nouveaux avis. Pour trouver d'abord des établissements, utilisez notre plugin de recherche Yelp, /local/yelp, qui renvoie un businessId pour chaque résultat.

Combien coûte le scraping des avis Yelp ?

Les avis Yelp sont facturés au volume : une requête par tranche de 10 avis renvoyés, arrondie au supérieur, et au moins une par appel. Les 20 avis par défaut comptent pour 2 requêtes, 500 avis pour 50, et pagesFetched indique le nombre exact. La recherche de l'identifiant de l'établissement à partir d'une URL ou d'un alias n'est pas facturée. 1 requête = 1 crédit, 1,00 EUR pour 1 000 en paiement à l'usage, en descendant jusqu'à environ 0,55 EUR pour 1 000 sur l'offre Ultimate. Les blocages et les timeouts ne sont pas facturés, et l'essai gratuit inclut 500 requêtes sans carte bancaire.

Scrapers similaires

Commencez à scraper ce site dès aujourd'hui

Palier gratuit inclus. Aucune carte bancaire requise pour tester.