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 y, cuando hace falta, un selector o pista de dónde vive el precio en la página, útil para sitios que muestran varios precios a la vez, como un original tachado junto a un precio de oferta. La tarea obtiene la página, extrae el precio y la moneda actuales, y los compara contra el último valor registrado para esa URL, marcando un cambio solo cuando el número realmente 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 el saldo de su suscripción, 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?
Puede indicar un selector o una pista que apunte al elemento de precio específico que necesita, para que la extracción tome el valor de oferta y no otro número presente en la página.
¿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
¿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/monitor-price \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'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({
"input": "…"
})
});
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={
"input": "…"
},
)
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" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
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
{
"input": "…"
}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. |