<!-- https://pricto.dev/docs/api · versión en inglés: https://pricto.dev/docs/api.en.md -->

# Referencia de la API

Generada del [OpenAPI 3.1](/openapi.yaml) (también en [JSON](/openapi.json)). URL base: `https://pricto.dev/v1`. Autenticación: `Authorization: Bearer <key>` (ver [Autenticación](/docs/autenticacion)). Las descripciones de cada operación y campo están en inglés, como en el contrato.

## Productos

| | Ruta | Qué hace | Créditos |
|---|---|---|---|
| `GET` | [`/v1/products/search`](/docs/api/search-products) | Buscar productos por texto | 1 per page of up to 20 results; 0 when nothing is found |
| `GET` | [`/v1/products`](/docs/api/list-products) | Listar productos con filtros exactos | 1 per 20 products returned |
| `GET` | [`/v1/products/{product_id}`](/docs/api/get-product) | Obtener un producto | 1 |

## Precios

| | Ruta | Qué hace | Créditos |
|---|---|---|---|
| `GET` | [`/v1/products/{product_id}/prices`](/docs/api/get-product-prices) | Precios actuales de un producto en cada tienda | 1 per retailer offer returned |
| `GET` | [`/v1/products/{product_id}/history`](/docs/api/get-product-history) | Historial de precios de un producto | 1 per 30 points per series (minimum 1 per series) |
| `POST` | [`/v1/prices/compare`](/docs/api/compare-prices) | Comparar una canasta entre tiendas | 1 per price in the matrix (product × retailer with data) |
| `POST` | [`/v1/prices/batch`](/docs/api/batch-prices) | Precios de muchos productos u ofertas en una llamada | 1 per offer price returned; items not found cost 0 |
| `POST` | [`/v1/live-checks`](/docs/api/create-live-check) | Pedir una revisión de precio en vivo (planificado) | 10 per offer refreshed |

## Ofertas

| | Ruta | Qué hace | Créditos |
|---|---|---|---|
| `GET` | [`/v1/offers`](/docs/api/list-offers) | Listar ofertas de las tiendas | 1 per offer returned |
| `GET` | [`/v1/offers/{offer_id}`](/docs/api/get-offer) | Obtener una oferta con su precio actual | 1 |
| `GET` | [`/v1/offers/{offer_id}/history`](/docs/api/get-offer-history) | Observaciones de una oferta | 1 per 30 points (minimum 1) |

## Referencia y cobertura

| | Ruta | Qué hace | Créditos |
|---|---|---|---|
| `GET` | [`/v1/retailers`](/docs/api/list-retailers) | Listar tiendas | 0 |
| `GET` | [`/v1/retailers/{retailer_id}`](/docs/api/get-retailer) | Obtener una tienda | 0 |
| `GET` | [`/v1/stores`](/docs/api/list-stores) | Listar locales físicos y puntos de retiro | 0 |
| `GET` | [`/v1/categories`](/docs/api/list-categories) | Taxonomía de categorías | 0 |
| `GET` | [`/v1/brands`](/docs/api/list-brands) | Listar marcas | 0 |
| `GET` | [`/v1/coverage`](/docs/api/get-coverage) | Qué datos hay disponibles | 0 |
| `GET` | [`/v1/countries`](/docs/api/list-countries) | Países, monedas e idiomas | 0 |
| `GET` | [`/v1/fx`](/docs/api/get-fx-rate) | Tipo de cambio usado en las conversiones | 0 |
| `GET` | [`/v1/status`](/docs/api/get-status) | Estado del servicio y frescura de los datos | 0 |
| `GET` | [`/v1/public/coverage`](/docs/api/get-public-coverage) | Cobertura agregada, sin key y sin precios | 0 |

## Cuenta

| | Ruta | Qué hace | Créditos |
|---|---|---|---|
| `GET` | [`/v1/account`](/docs/api/get-account) | Plan y saldo de la key | 0 |
| `GET` | [`/v1/usage`](/docs/api/get-usage) | Créditos consumidos | 0 |
| `POST` | [`/v1/data-requests`](/docs/api/create-data-request) | Pedir cobertura o datos que no existen | 0 |

## Exportaciones

| | Ruta | Qué hace | Créditos |
|---|---|---|---|
| `POST` | [`/v1/exports`](/docs/api/create-export) | Crear una exportación masiva (planificado) | 1 per 10 rows |
| `GET` | [`/v1/exports/{export_id}`](/docs/api/get-export) | Obtener una exportación (planificado) | 0 |
