Extraer un precio
Indique la página de un producto y reciba el precio que pagaría un comprador, con su moneda, además del precio tachado y el descuento cuando la página los muestra. También lee los precios que aparecen después de cargar la página. Paga por uso, sin suscripción.
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.
Los precios en internet cambian sin avisar y cada tienda los esconde en un rincón distinto del HTML.
Por qué un precio cuesta más de leer de lo que parece
En la mayoría de las fichas de producto el precio no es un solo número. Un precio de lista tachado convive con un precio de oferta destacado, un selector de moneda cambia la cifra y muchas tiendas solo dibujan el precio cuando la página termina de cargar. Copiar el texto de la página atrapa el número equivocado, y una regla escrita a mano deja de funcionar en cuanto la tienda cambia su diseño. La herramienta abre la página como lo haría un navegador y se queda solo con el precio que pagaría un comprador real, junto con su moneda.
Quién lo usa y qué conviene saber
Las tiendas en línea revisan cada mañana las fichas de la competencia y ajustan sus propios precios. Los mercados en línea comprueban que el precio que escribió un vendedor coincide con el que muestra su propia tienda. Los blogs de ofertas actualizan los precios de artículos ya publicados en vez de dejar cifras viejas durante semanas, y los departamentos de compras vigilan los catálogos de proveedores para detectar subidas antes de la próxima factura. Tenga en cuenta que el precio original y el descuento solo llegan cuando la página los muestra; si la tienda enseña una sola cifra, ese es el precio que recibe.
Por qué un precio no es solo un número
Rara vez el precio es un dato simple. Las páginas combinan un precio tachado con uno rebajado, esconden el total real detrás de un selector de moneda o pintan la cifra con JavaScript después de que la página terminó de cargar. Quien haya intentado sacar un precio con una expresión regular sobre el HTML crudo sabe lo rápido que eso se rompe apenas la tienda cambia su plantilla.
Qué puede hacer con ella
Monitoreo de precios de la competencia
Un equipo de e-commerce carga cada mañana una lista de URL de productos rivales y ajusta sus propias reglas de precio según los resultados.
Auditoría de listados en marketplaces
Un marketplace verifica que el precio que un vendedor externo cargó coincida con el que realmente se muestra en su propia tienda.
Exactitud de contenido de afiliados
Un blog de ofertas actualiza automáticamente los precios mostrados en artículos publicados en lugar de dejar cifras vencidas durante semanas.
Seguimiento de costos de compra
Un equipo de compras vigila las páginas de catálogo de sus proveedores para detectar aumentos de precio antes de que llegue la próxima factura.
Preguntas frecuentes
¿Cómo distingue esta api de extraer precios de una web entre el precio de lista y el de oferta?
Devuelve el precio vigente que pagaría un comprador y, por separado, informa el precio original y el descuento cuando la página expone esa información.
¿Puedo enviar varias URL de producto en una sola solicitud?
Sí, se pueden agrupar varias URL en una misma tarea y cada una se factura por separado según la tarifa por URL.
¿Qué pasa si una página de producto no carga?
La tarea reintenta automáticamente hasta tres veces; si sigue fallando, se recibe un error claro y no se cobra nada.
¿Funciona en páginas que cargan el precio con JavaScript?
Sí, la página se renderiza antes de extraer los datos, así que los precios que se inyectan dinámicamente después de la carga se capturan correctamente.
¿Los datos de precios que extraigo se usan para entrenar algún modelo?
No. Los datos se eliminan al terminar el período de retención y nunca se usan para entrenamiento.
Herramientas relacionadas
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, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/price-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://api.kit.forhosting.com/web/price-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/price-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/price-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/price-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://example.com"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.price_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. |
Notas técnicas
Esta API de extracción de precios abre la página de un producto, identifica el precio que realmente vería un comprador y lo devuelve como JSON estructurado, listo para una hoja de cálculo, un sistema de reprecio o una base de datos.
Por qué un precio no es solo un número
El endpoint price-extract se diseñó justo para ese desorden: renderiza la página como lo haría un navegador y aísla el precio sobre el que un comprador real actuaría.
Qué se envía y qué se recibe
Se envían una o varias URL de producto a POST /web/price-extract. Cada tarea corre de forma asíncrona y devuelve un task_id de inmediato, así que la integración nunca queda esperando a que cargue una página lenta. Al terminar, se obtiene el precio vigente, la moneda y, cuando la página lo expone, el precio original y el descuento aplicado, entregados por webhook firmado o mediante un enlace firmado válido por 24 horas.
Quién necesita esto en la práctica
Tiendas que vigilan los precios de la competencia, marketplaces que validan los precios que ingresan sus vendedores, sitios de afiliados que mantienen sus listados honestos y equipos de finanzas que siguen los costos de proveedores chocan con el mismo muro: los precios cambian todo el tiempo y revisarlos a mano no escala. Este endpoint reemplaza a la persona que abría cuarenta pestañas cada mañana por una sola llamada a la API que se puede programar con la frecuencia que el negocio necesite.
Una nota breve sobre el desorden de los precios
En la práctica, buena parte de las tiendas omite ese marcado, lo publica mal o lo sobrescribe visualmente con precios de promoción que los metadatos nunca reflejan, por lo que confiar solo en el marcado deja huecos que un renderizado completo de la página cierra. El marcado estructurado de precios existe desde hace años gracias a schema.org y las etiquetas Open Graph, y cuando una página lo publica correctamente la extracción es rápida y precisa.
Cómo encaja en un flujo automatizado
Como cada solicitud se cobra únicamente cuando tiene éxito —tres reintentos automáticos y luego un error claro sin cargo— se puede integrar este endpoint en un monitoreo nocturno o en una consulta de precio bajo demanda sin preocuparse por pagar páginas que no cargan. Combinado con un receptor de webhooks, todo el ciclo de seguimiento de precios corre sin intervención humana.
Preguntas técnicas
¿Existe un plan gratuito para la API de extracción de precios?
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 precios?
Cuesta 0.046 dólares por solicitud más 0.015 dólares por URL procesada, y solo se cobra cuando la tarea se completa con éxito.
¿Cómo recibo el resultado, por webhook o consultando?
El resultado llega por webhook firmado, que es lo recomendado, o mediante un enlace firmado válido durante 24 horas.