Seguir un precio
Los precios cambian más rápido de lo que cualquier persona puede vigilar mirando una página, sobre todo cuando un competidor lanza descuentos relámpago o un proveedor ajusta costos de un día para otro.
Esta api para monitorear precios de la competencia lee el precio de una página al intervalo que elija y avisa apenas cambia, para que las decisiones comerciales se basen en datos del momento y no en una captura de ayer.
El problema detrás de la etiqueta
Tiendas que ajustan precios frente a la competencia, vendedores de marketplace que siguen el costo de un proveedor y equipos de compras que vigilan la lista de precios de un proveedor comparten el mismo dolor de cabeza: el número que necesitan vive en una página que nadie tiene tiempo de revisar a mano, varias veces al día, en decenas o cientos de productos. Revisar manualmente no escala, y un precio desactualizado alimentando una regla de reprecio puede costar margen sin que nadie lo note.
Cómo funciona la extracción
Una llamada a POST /web/monitor-price recibe una URL. La tarea obtiene la página, lee el precio y la moneda actuales como los vería un comprador —resolviendo las páginas que muestran varios precios a la vez, como un original tachado junto a un precio de oferta, por comprensión de la página y no por una posición fija en el HTML— y los compara contra el último valor registrado para esa URL, marcando un cambio cuando el número se movió.
De caminar el pasillo con libreta al reprecio algorítmico
Vigilar precios es tan antiguo como el comercio mismo: mandar a alguien a caminar el pasillo de la competencia con una libreta. El comercio electrónico convirtió eso en un problema técnico, porque los precios ahora cambian por algoritmo, a veces en minutos, y la única forma de seguirles el ritmo es vigilar de forma programática a la misma velocidad del mercado.
Encaja en un flujo de precios
Cada solicitud es asíncrona. Recibe un task_id de inmediato y el precio extraído llega después mediante un webhook firmado, la opción natural si alimenta un motor de reprecio o una hoja de cálculo de forma automática, o un enlace firmado válido por 24 horas para revisión manual. La frecuencia de las verificaciones la decide usted, sea cada hora para categorías volátiles o cada día para las más estables.
Lo que cuesta y lo que no
El costo base es de $0.040 por solicitud más $0.001 por comprobación, publicado sin unidades ocultas. No hay plan gratuito ni período de prueba: el acceso requiere saldo prepago, lo que mantiene el servicio rápido y libre de abuso. Las extracciones fallidas se reintentan automáticamente hasta tres veces y nunca se cobran si la tarea termina fallando.
Qué puede hacer con ella
Alimentar el reprecio frente a la competencia
Extraiga el precio de un rival para un producto equivalente cada pocas horas y aliméntelo directo en sus propias reglas de reprecio.
Seguimiento del costo de un proveedor
Vigile la página pública de precios de un proveedor para detectar un cambio en el costo mayorista antes de que llegue en su próxima factura.
Verificación de precio mínimo autorizado
Confirme que sus revendedores no publiquen por debajo de un precio mínimo acordado revisando sus listados de forma programada.
Alertas de ofertas y descuentos
Reciba un aviso en el instante en que un producto vigilado cae dentro de un rango de precio objetivo para su lista o la de un cliente.
Preguntas frecuentes
¿Con qué frecuencia puedo verificar un precio con esta API?
Con la frecuencia que su propio programador defina; no hay un límite fijo, solo su saldo prepago, ya que cada comprobación se factura individualmente.
¿La api para monitorear precios de la competencia funciona con varias monedas?
Sí, el precio extraído incluye la moneda tal como aparece en la página, así que las conversiones o comparaciones entre regiones se manejan de su lado con datos de origen precisos.
¿Hay una prueba gratuita antes de contratar el monitoreo 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.
¿Qué pasa si la página muestra un precio de oferta junto al original tachado?
La extracción lee la página como lo haría un comprador, así que toma el precio principal anunciado y no un original tachado ni otro número presente en la página; no hay selector CSS que configurar.
¿Cómo recibo los cambios de precio automáticamente?
Configure un webhook firmado y se dispara en cuanto una comprobación detecta un precio distinto al último registrado; también hay un enlace firmado válido por 24 horas para revisiones manuales.
¿Puedo monitorear precios en volumen sobre muchos productos?
Sí, cada URL de producto es una tarea asíncrona independiente, así que puede disparar comprobaciones de monitor-price sobre un catálogo completo desde su propio programador o pipeline.
¿Qué ocurre si la estructura de la página cambia y no se encuentra el precio?
La tarea se reintenta automáticamente hasta tres veces; si la extracción sigue fallando, recibe un error claro en lugar de un precio incorrecto o silencioso, y el intento fallido no se cobra.
¿Se guardan los datos de precio monitoreados a largo plazo?
No, los resultados se conservan solo durante el período de retención antes de eliminarse, y nunca se usan para entrenar modelos; existen únicamente para entregar su comparación.
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
Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. Esta capacidad está disponible actualmente mediante la API, no como herramienta interactiva en la Web.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/monitor-price \
-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/monitor-price", {
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/monitor-price",
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/monitor-price", 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/monitor-price", 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.monitor_price",
"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. |