API pública · JSON
Comparador de Precios — API
Busca un producto y obtén su precio en las farmacias y supermercados de Venezuela, convertido a dólares con la tasa BCV. Sin llaves ni autenticación.
GET
https://bygjmb.com/precios/api.php?q=harina&tienda=todas
Parámetros
| Parámetro | Obligatorio | Descripción |
|---|---|---|
q |
Sí | Término de búsqueda (mínimo 2 caracteres). Ej.: harina, harina pan. |
tienda |
No |
Tienda(s) a consultar. Varias separadas por coma o todas (default).
Valores válidos: tuzonamarket, farmatodo, kalea, farmaciassaas, farmanselmo, kromi, mercafarma, epa.
|
Ejemplos
GET /precios/api.php?q=harina
GET /precios/api.php?q=harina&tienda=farmatodo
GET /precios/api.php?q=harina&tienda=farmatodo,tuzonamarket
Respuesta (fragmento)
{
"ok": true,
"q": "harina",
"tienda": "farmatodo,tuzonamarket",
"tasa_bcv": { "monto": 772.54, "fecha": "2026-08-15" },
"fuentes": {
"farmatodo": { "nombre": "Farmatodo", "ok": true, "respaldo": false, "items": 13 },
"tuzonamarket": { "nombre": "TuZonaMarket", "ok": true, "respaldo": false, "items": 30 }
},
"items": [
{
"tienda_id": "farmatodo",
"tienda": "Farmatodo",
"producto": "Harina Pan De Maiz Blanco Y Arroz 1Kg",
"marca": "PAN",
"precio_usd": 1.20,
"precio_bs": 927.05,
"precio_unitario": 1.20,
"unidad_base": "g",
"cantidad_base": 1000,
"disponible": true,
"url": "https://www.farmatodo.com.ve/producto/...",
"imagen": "https://...",
"oferta": false
}
],
"total": 43,
"timestamp": 1755350000
}
Campos de cada item
| Campo | Tipo | Descripción |
|---|---|---|
tienda_id | string | Identificador de la tienda (ver tabla de tiendas). |
tienda | string | Nombre mostrado de la tienda. |
producto | string | Nombre del producto. |
marca | string | Marca (vacío si la tienda no la expone). |
precio_usd | number|null | Precio final en USD (conversión con tasa BCV). null si no se pudo convertir. |
precio_bs | number|null | Precio en bolívares. |
precio_unitario | number|null | Precio USD por kg, litro o unidad (para comparar presentaciones). |
unidad_base | string|null | Base de precio_unitario: g, l o und. |
cantidad_base | number|null | Cantidad de la presentación en la unidad base: gramos (g), litros (l) o número de unidades (und). |
disponible | boolean | Si la tienda reporta stock. |
oferta | boolean | Si el precio refleja una oferta. |
url | string | Enlace al producto en la tienda. |
imagen | string|null | URL de la imagen del producto. |
Orden
- Primero los que emparejan más términos del query (exactitud).
- Luego los disponibles.
- Luego por precio USD ascendente (el más barato primero); la relevancia solo desempata precios iguales.
- Los items sin precio quedan al final.
Errores
| Código | Caso | Respuesta |
|---|---|---|
400 | Falta q o es muy corto. | {"ok":false,"error":"..."} |
400 | tienda inválido. | {"ok":false,"error":"...","tiendas":["...","..."]} |
La respuesta se guarda en caché por búsqueda y tienda durante 5 minutos; una misma consulta repetida no vuelve a golpear las tiendas.