API de precios de libros
Para tiendas online, sistemas de gestión y catálogos · Actualizado el 10 de octubre de 2026
Tu sistema manda una lista de ISBN y recibe, para cada libro, el mismo precio de referencia que se ve en la web: el que declara la editorial o la importadora, o el que repiten las tiendas, con el criterio con el que se eligió y dónde está publicado. Hasta 1.000 ISBN por pedido.
Planes
20.000 precios por día. Para mantener al día el catálogo de una librería.
100.000 precios por día. Para catálogos grandes y distribuidoras.
Pagando el año de una vez son $499.000 y $999.000 (dos meses gratis). La primera suscripción de cada cuenta tiene 7 días gratis. Los dos planes incluyen todo lo del plan Pro en la web. ¿Necesitás más? Escribinos a contacto@preciolibros.com.ar.
Cómo empezar
- Entrá con tu cuenta y contratá un plan API en Planes.
- En la pestaña API, creá una clave. Se muestra una sola vez: copiala y guardala.
- Mandala en el header
X-Api-Keyde cada pedido (también se aceptaAuthorization: Bearer).
Usá la clave sólo desde tu servidor: nunca en el código de una página web ni de una app, donde cualquiera la puede leer. Si se filtra, revocala desde la misma pestaña y creá otra: deja de andar en el momento. Podés tener hasta 5 activas, por ejemplo una por sistema.
Precios de una lista de ISBN
POST https://preciolibros.com.ar/api/v1/integration/prices
curl https://preciolibros.com.ar/api/v1/integration/prices \
-H "X-Api-Key: $PRECIOLIBROS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"isbns": ["978-950-49-9825-9", "9788433950994", "rayuela"]}'
Hasta 1.000 ISBN por pedido, de 10 o 13 dígitos, con o sin guiones. Los repetidos se cuentan una sola vez. La respuesta:
{
"books": [
{
"isbn13": "9789504998259",
"title": "LA DESLUMBRADORA",
"authors": ["ROCHA, SILVINA"],
"publisher": "PLANETA",
"price": {
"amount": 35900.00,
"min": null,
"max": null,
"currency": "ARS",
"criterion": "coinciden al menos dos tiendas",
"since": "2026-10-08T13:00:00Z"
},
"published_at": [
{ "source": "cuspide", "url": "https://cuspide.com/..." },
{ "source": "sbs", "url": "https://www.sbs.com.ar/..." }
]
}
],
"not_found": ["9788433950994"],
"invalid": ["rayuela"],
"remaining_today": 19998
}
Precio de un ISBN
GET https://preciolibros.com.ar/api/v1/integration/prices/{isbn}
curl https://preciolibros.com.ar/api/v1/integration/prices/9789504998259 \
-H "X-Api-Key: $PRECIOLIBROS_API_KEY"
Responde lo mismo que el pedido por lista, con un solo libro. Para muchos libros conviene la lista: es un solo pedido.
La respuesta
| Campo | Qué es |
|---|---|
books | Los libros que están en el catálogo, en el orden en que los pediste. |
isbn13 | El ISBN de 13 dígitos, sin guiones, aunque lo hayas mandado de 10 o con guiones. |
price | null si ninguna fuente informa un precio para ese libro. |
price.amount | El precio de referencia en pesos. |
price.min, price.max | En un importado en el que cada importador fija su precio y las tiendas no coinciden, amount viene en null y se informa el rango. |
price.criterion | Cómo se eligió el precio, en un texto para mostrar a una persona. |
price.since | Desde cuándo rige ese precio. |
published_at | Las tiendas que lo publican, con el enlace. |
not_found | ISBN válidos que no están en el catálogo. |
invalid | Lo que mandaste que no es un ISBN, tal como llegó. No consume cupo. |
remaining_today | Los precios que te quedan hoy. |
La API responde con lo que ya está en el catálogo, que se actualiza todos los días consultando librerías y distribuidoras: no sale a las tiendas en el momento de tu pedido. Con pedir cada libro una vez por día alcanza.
El cupo diario
Cada ISBN válido distinto de un pedido consume un precio del cupo, lo encontremos o no. Si un pedido no entra entero en lo que queda, se rechaza sin consumir nada. El cupo vuelve a cero a la medianoche, hora argentina. Cada respuesta trae el estado en dos headers:
X-RateLimit-Limit | Los precios por día de tu plan. |
X-RateLimit-Remaining | Los que te quedan hoy. |
Errores
Los errores vienen en formato application/problem+json (RFC 9457), con el motivo en
detail:
{
"status": 429,
"title": "Too Many Requests",
"detail": "Tu plan incluye 20000 precios por día por API y este pedido de 1000 no entra en lo que te queda hoy. Mañana se renuevan."
}
| Código | Cuándo |
|---|---|
400 | El pedido no trae ISBN, trae más de 1.000 o el JSON está mal formado. |
401 | Falta la clave, no existe o fue revocada. |
429 | El pedido no entra en el cupo de hoy, o tu plan ya no incluye la API (por ejemplo, porque se dio de baja). |
502 | El catálogo no respondió. No se consume cupo: reintentá en un rato. |
Qué podés hacer con los precios
Podés mostrarlos en tu tienda, tu sistema o tu catálogo, y usarlos para fijar o controlar tus precios. No podés revender ni redistribuir los datos en forma masiva, por ejemplo como otra base de precios. Los precios son informativos: salen de lo que publican las tiendas. Los detalles están en las condiciones.
¿Dudas o algo que no funciona como dice acá? Escribinos a contacto@preciolibros.com.ar.