Todos los scrapers

Datos de empresas

Yelp Reviews Scraper

yelp.com

99.4% Tasa de éxito
2.2s Respuesta media
DataDome Protección
1100 llamadas Medido sobre

Las reseñas de negocios de Yelp se sirven mediante un endpoint de plugin dedicado en lugar de la obtención de página genérica. Dale un negocio (una URL de negocio de Yelp como https://www.yelp.com/biz/gary-danko-san-francisco, su alias gary-danko-san-francisco o su ID de negocio) y lee el feed de reseñas que carga la propia sección de reseñas de yelp.com, devolviendo las reseñas ya analizadas: el ID y el enlace de la reseña, la valoración en estrellas, el texto completo, su idioma, la fecha y hora de publicación, el autor (nombre, ubicación, número de reseñas, amigos y fotos, estatus Elite y año), fotos con sus pies de foto, vídeos, los recuentos de reacciones Helpful, Thanks, Love this y Oh no, check-ins, la respuesta pública del propietario y las reseñas anteriores del autor sobre el mismo negocio. El negocio viene con ellas: nombre, valoración, número de reseñas, el histograma de 1 a 5 estrellas, el número de reseñas por idioma, categorías, ciudad y barrios. Ordena como lo hace yelp.com (relevancia, más recientes, más antiguas, mejor valoradas, peor valoradas o primero los revisores Elite), quédate solo con algunas valoraciones, busca una frase en las reseñas, descarta las reseñas anteriores a una fecha y empieza en cualquier página u offset; una llamada reúne hasta 500 reseñas y nextStart continúa donde se detuvo. Yelp muestra un idioma de reseñas cada vez: por defecto una llamada lee el idioma con más reseñas del negocio, y language elige otro. Es el complemento de reseñas de nuestro plugin de búsqueda de Yelp, y no hace falta cuenta de Yelp ni clave de la API Fusion.

Qué puedes extraer

  • ID de la reseña, enlace, valoración en estrellas, texto completo, idioma y fecha y hora de publicación
  • Autor: nombre, ubicación, número de reseñas, amigos y fotos, estatus Elite y año
  • Fotos con pie de foto, vídeos, check-ins y los recuentos de reacciones Helpful, Thanks, Love this y Oh no
  • La respuesta pública del propietario y las reseñas anteriores del autor sobre el mismo negocio
  • Resumen del negocio: nombre, valoración, número de reseñas, histograma de 1 a 5 estrellas, reseñas por idioma, categorías, ciudad y barrios
  • Orden por relevancia, más recientes, más antiguas, mejor o peor valoradas o Elite, y filtros por valoración, por una frase o por una fecha since
  • Todas las páginas de reseñas: hasta 500 reseñas por llamada desde cualquier página u offset, un idioma por llamada, con nextStart para continuar

Endpoints dedicados

/local/yelp-reviews

Reseñas de negocios de Yelp

Las reseñas de un negocio de Yelp indicado con una URL de negocio, un alias o un ID de negocio: business (businessId, alias, name, url, rating, reviewCount, ratingHistogram, reviewsCountByLanguage, categories, city, region, neighborhoods) y un array reviews con id, url, rating, text, language, publishedDate, date, user (name, location, reviewCount, friendCount, photoCount, isElite, eliteYear), photos, videos, reactions (helpful, thanks, loveThis, ohNo), ownerResponse, checkIns y previousReviews. sort es relevance, newest, oldest, highest, lowest o elites; rating conserva algunas valoraciones (como 1,2), query busca una frase en las reseñas, language elige el idioma de las reseñas (por defecto, el que más reseñas tiene en el negocio) y since descarta las reseñas antiguas. max_reviews de 1 a 500 (por defecto 20) desde page (10 reseñas por página) o start; totalResults, hasMore y nextStart para paginar, pagesFetched para la facturación.

Cómo rastrearlo

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);

Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.

Ejemplo de respuesta

{
  "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
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping de reseñas de Yelp?

Recopilar reseñas y valoraciones públicas de Yelp es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. Los nombres de los autores, las fotos y el texto de las reseñas pueden ser datos personales, así que cumple las normas de privacidad que se te apliquen. ScrapeUnblocker devuelve las reseñas públicas; qué recopilas y cómo lo usas es responsabilidad tuya.

¿Cómo hago scraping de reseñas de Yelp sin que me bloqueen?

Las páginas de negocios de Yelp están protegidas por DataDome. El plugin /local/yelp-reviews lee las reseñas del feed de reseñas que carga la propia sección de reseñas de yelp.com, a través de exits ISP rotativos y sin renderizar en navegador, y vuelve a enviar una petición rechazada con un exit nuevo. Un negocio indicado con una URL o un alias cuesta primero una obtención de la página del negocio a través de la cadena de desbloqueo de ScrapeUnblocker, para encontrar su ID de negocio; la respuesta devuelve businessId, así que las llamadas siguientes pueden saltarse ese paso. En el benchmark de ScrapeUnblocker devolvió reseñas en el 99,4 % de 1.100 llamadas con un negocio distinto cada vez, unos 2,2 s por llamada.

¿Cuántas reseñas de Yelp puedo obtener?

Todas: el plugin recorre todas las reseñas que Yelp muestra para el negocio, no solo las pocas que enseña la página del negocio. Una llamada reúne hasta 500 reseñas (max_reviews, por defecto 20), empezando en cualquier página (10 reseñas por página, como en yelp.com) o en un offset exacto con start, y nextStart continúa donde se detuvo mientras hasMore sea true. totalResults indica cuántas reseñas coinciden con el language, el rating y la query de la llamada. Yelp muestra un idioma de reseñas por llamada, así que un negocio con reseñas en varios idiomas necesita una pasada por idioma; business.reviewsCountByLanguage indica cuántas reseñas tiene cada idioma.

¿Qué datos obtengo de cada reseña?

Cada reseña trae su ID y su enlace, la valoración en estrellas, el texto completo y su idioma, la fecha y hora de publicación, el nombre, la ubicación y el número de reseñas, amigos y fotos del autor y su estatus Elite con el año, las fotos con pie de foto y tamaño, los vídeos, los recuentos de reacciones Helpful, Thanks, Love this y Oh no, los check-ins, la respuesta pública del propietario y las reseñas anteriores del autor sobre el mismo negocio. El resumen del negocio añade su nombre, valoración, número de reseñas, el histograma de 1 a 5 estrellas, el número de reseñas por idioma, las categorías, la ciudad, la región y los barrios.

¿Puedo ordenar o filtrar las reseñas de Yelp?

Sí. sort ordena las reseñas como el menú Sort by de yelp.com: relevance (el orden por defecto de Yelp), newest, oldest, highest, lowest o elites. rating conserva solo algunas valoraciones, como 1,2 para las críticas, query conserva las reseñas que mencionan una frase, con la propia búsqueda de reseñas de yelp.com, y since descarta las reseñas escritas antes de una fecha; con sort=newest, la paginación se detiene en la primera reseña más antigua, lo que encaja para seguir las reseñas nuevas. Para encontrar negocios primero, usa nuestro plugin de búsqueda de Yelp, /local/yelp, que devuelve un businessId para cada resultado.

¿Cuánto cuesta hacer scraping de reseñas de Yelp?

Las reseñas de Yelp se facturan por volumen: una petición por cada 10 reseñas devueltas, redondeando hacia arriba, y al menos una por llamada. Las 20 reseñas por defecto cuentan como 2 peticiones, 500 reseñas como 50, y pagesFetched muestra el número exacto. Encontrar el ID de negocio a partir de una URL o un alias no se factura. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, y la prueba gratuita incluye 500 peticiones sin tarjeta.

Scrapers relacionados

Empieza a rastrear este sitio hoy

Plan gratuito incluido. No necesitas tarjeta para probarlo.