Ofertas debajo del PVP
Quién vende por debajo de tu precio sugerido (PVP) ese día. Los contadores del día y sólo las infracciones, de la más grave a la menos grave.
Contesta "¿hay algo mal hoy?" sin bajar la matriz entera. Devuelve los contadores del día y las ofertas que rompen el PVP, ordenadas de la peor a la menos grave y paginadas.
Una oferta rompe cuando su precio unitario está por debajo de la referencia, aunque sea por un peso. La API no aplica el margen de ruptura que cada persona puede configurar en la pantalla de Control de PVP.
Cada infracción dice contra qué se comparó en referenceSource:
sheet: el PVP cargado para ese producto.ownSite: el producto no tiene PVP cargado, así que se midió contra tu propio precio de ese día. No es un reclamo a nadie por el precio de la marca; filtralo si sólo te interesa el PVP.
page y limit paginan las infracciones, no los productos, y nunca cambian los
contadores. El default de limit es 200 y el máximo 1000, distinto del resto de la API.
Este endpoint necesita Control de PVP activo en el tablero. Si no lo está, responde 403: un 200 con cero infracciones diría que está todo bien cuando no se está midiendo nada.
apiKeyX-API-Key<token>Tu API key, que empieza con td_live_. Se crea en Configuración → API y se muestra
completa una sola vez.
clientId?stringEl tablero, con el id que devuelve /clients. Opcional si tu key alcanza un solo
tablero; obligatorio a partir del segundo.
uuidpage?integerPágina de infracciones, base 1. Cuántas hay lo dice pagination.totalPages.
1 <= value <= 1000001limit?integerInfracciones por página. Fuera de rango se recorta al límite más cercano. No afecta a los contadores.
1 <= value <= 1000200brand?stringMarca, coincidencia exacta. Varias con barra vertical, Samsung|LG. Los valores válidos salen de /filters.
category?stringCategoría, coincidencia exacta. Varias con barra vertical. Los valores válidos salen de /filters.
site?stringNombre del sitio, coincidencia parcial y sin distinguir mayúsculas: site=mercado
encuentra Mercado Libre. Acota las ofertas, no los productos.
seller?stringVendedor, por su nombre normalizado (el que devuelve /filters). Coincidencia exacta;
varios con barra vertical. Deja sólo los productos que ese vendedor ofrece ese día, y
sólo sus ofertas.
text?stringBúsqueda libre en nombre, marca, EAN y SKU. Todos los términos tienen que aparecer; los acentos y las mayúsculas no cuentan.
semaphore?stringColor del semáforo del producto. Cualquier otro valor se ignora.
"red""yellow""green"favorites?booleantrue deja sólo los productos marcados con estrella por alguien del equipo.
falsedate?stringDía a consultar, en YYYY-MM-DD. Sin él, el día del último relevamiento.
Los días disponibles salen de /dates.
dateLos contadores del día y una página de infracciones.
application/json- response
date*|El día que se midió.
dateproductsBreaching*integerProductos con al menos una oferta por debajo de su referencia.
offersBreaching*integerOfertas por debajo. Es el total de infracciones, antes de paginar.
offersCompared*integerOfertas comparadas, o sea las de productos que ese día tienen alguna referencia.
productsWithoutPrice*integerProductos sin PVP y sin precio propio ese día. No se comparan ni cuentan como cumplidos.
productsComparedToOwnPrice*integerDe los comparados, cuántos se midieron contra tu propio precio y no contra el PVP.
breaches*array<>Una página de infracciones, de la más grave a la menos grave.
pagination*curl "https://api.turbodato.com/v1/price-control" \ -H "X-API-Key: $TURBODATO_API_KEY"{ "date": "2026-10-16", "productsBreaching": 12, "offersBreaching": 23, "offersCompared": 340, "productsWithoutPrice": 4, "productsComparedToOwnPrice": 7, "breaches": [ { "anchorId": "5a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d", "identifier": "UN55DU7000GCZB", "product": "Smart TV Samsung 55\" Crystal UHD 4K DU7000", "brand": "Samsung", "suggestedPrice": 899999, "referenceSource": "sheet", "site": "Mercado Libre", "seller": "Electro del Sur", "price": 849999, "deltaPercent": -5.56, "url": "https://articulo.mercadolibre.com.ar/MLA-1428765432" }, { "anchorId": "7c8d9e0f-1a2b-4c3d-8e4f-5a6b7c8d9e0f", "identifier": "7791234000457", "product": "Pava eléctrica Atma 1,7 L acero", "brand": "Atma", "suggestedPrice": 54999, "referenceSource": "ownSite", "site": "Frávega", "seller": null, "price": 52499, "deltaPercent": -4.55, "url": "https://www.fravega.com/p/pava-electrica-atma-1-7-l-acero" } ], "pagination": { "page": 1, "limit": 200, "total": 23, "totalPages": 1 }}Exportar el catálogo GET
El catálogo entero en un archivo CSV, Excel o JSON, sin paginación. Una fila por producto y una columna de precio por sitio.
Turbodato en tu asistente de IA (MCP)
Preguntale a Claude o ChatGPT por tus precios contra la competencia. Qué responde el servidor MCP de Turbodato, qué no hace y qué datos ve.