Extraer reseñas
Las opiniones de los clientes tienen valor real, pero quedan atrapadas en widgets paginados, íconos de estrellas pintados con CSS y contadores que solo se actualizan al recargar la página. Esta API de extracción de reseñas abre la página y convierte esa opinión dispersa en JSON estructurado —calificación, texto, autor y fecha—, lista para analizar en vez de copiarla a mano.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Por qué las reseñas son más difíciles de extraer de lo que parece
Una calificación en estrellas muchas veces no es texto: son cinco íconos con una clase CSS que rellena una fracción de estrella, así que el número nunca aparece en el HTML crudo. El texto de las reseñas suele cargar de a una página detrás de un botón 'ver más', y el nombre del autor, la insignia de compra verificada y el conteo de votos útiles viven cada uno en un marcado inconsistente distinto. El endpoint reviews-extract resuelve esto renderizando la página por completo y leyendo la calificación y el texto tal como los vería un visitante, en lugar de adivinar un número escondido en el nombre de una clase.
La solicitud y la respuesta
Se envía la URL de la página de producto a POST /web/reviews-extract y se recibe un task_id de inmediato mientras la tarea corre de forma asíncrona. El resultado es una lista estructurada de reseñas, cada una con su calificación, texto y los metadatos disponibles como autor y fecha, además de la calificación promedio general y el conteo total de reseñas cuando la página los expone, entregados mediante un webhook firmado o un enlace firmado válido por 24 horas.
Quién extrae reseñas a gran escala
Los equipos de marca monitorean el sentimiento en sus propios listados y en los de la competencia sin leer cada reseña a mano. Los investigadores de mercado construyen conjuntos de datos del lenguaje real de los clientes para entender qué características mencionan de verdad. Los marketplaces auditan patrones sospechosos de reseñas entre vendedores. En todos los casos, el volumen de reseñas hace impráctica la lectura manual apenas un producto pasa de unas pocas docenas de calificaciones.
Las reseñas como fuente de investigación
Las reseñas estructuradas de clientes se volvieron una función habitual del comercio a inicios de los años 2000, y desde entonces se convirtieron en uno de los conjuntos de texto libre más ricos disponibles en la web abierta: lenguaje genuino y espontáneo sobre cómo se comporta un producto en la práctica. Esa riqueza es justo lo que hace que las reseñas sirvan para mucho más que un promedio de estrellas: las tendencias de sentimiento, las quejas recurrentes y las solicitudes de funciones viven dentro del propio texto.
Automatizar una lectura continua
Como solo se cobran las extracciones exitosas —tres reintentos automáticos antes de un error claro—, este endpoint encaja de forma natural en una tarea recurrente que revisa páginas de reseñas cada semana o cada mes para seguir cómo cambia el sentimiento con el tiempo, alimentando un panel o un modelo de sentimiento sin que nadie abra la página a mano.
Qué puede hacer con ella
Seguimiento del sentimiento de marca
Una empresa extrae las reseñas de sus propios listados cada mes para detectar quejas recurrentes antes de que lleguen como tickets de soporte.
Investigación de producto de la competencia
Un equipo de producto lee lo que dicen los compradores sobre el artículo de un rival para identificar funciones que vale la pena construir.
Confianza y seguridad en marketplaces
Una plataforma revisa patrones de reseñas por vendedor en busca de señales de manipulación, como un aluvión de cinco estrellas en un solo día.
Conjuntos de datos de voz del cliente
Una firma de investigación de mercado construye un corpus de texto con lenguaje genuino de clientes para el análisis de categoría de un cliente.
Preguntas frecuentes
¿Esta api extraer reseñas de productos también extrae la calificación en estrellas, no solo el texto?
Sí, se extrae la calificación numérica de cada reseña junto con su texto y los metadatos disponibles de autor o fecha.
¿Existe un plan gratuito para la API de extracción de reseñas?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cuánto cuesta la API de extracción de reseñas?
Cuesta 0.046 dólares por solicitud más 0.015 dólares por URL, y solo se cobra cuando la tarea se completa con éxito.
¿También captura la calificación promedio y el número total de reseñas?
Sí, cuando la página muestra una calificación agregada y un conteo total de reseñas, ambos se incluyen junto con las reseñas individuales.
¿Puedo extraer reseñas de varias páginas de producto a la vez?
Sí, se pueden enviar varias URL en un mismo lote y cada una se procesa y factura por separado según la tarifa por URL.
¿Qué pasa si una página de reseñas no carga correctamente?
La tarea reintenta automáticamente hasta tres veces y, si sigue fallando, devuelve un error claro sin cargo alguno.
¿Cómo recibo las reseñas extraídas?
Mediante un webhook firmado, recomendado para flujos automatizados, o un enlace firmado válido durante 24 horas.
¿Las reseñas que extraigo se usan para entrenar algún modelo?
No, los datos extraídos se eliminan al terminar el período de retención y nunca se usan con fines de entrenamiento.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/reviews-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/reviews-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/reviews-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/reviews-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/reviews-extract", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"url": "https://ejemplo.com"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.reviews_extract",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |