<!-- https://pricto.dev/docs · Spanish version: https://pricto.dev/docs/index.md -->

# Quickstart

Pricto delivers price, sale, stock and history for products at Chilean stores, with the same product identified across chains and the source of every price. Use it over a REST API or from an agent with MCP. This guide gets you to your first response in a minute, without signing up: every example already carries the public sandbox key.

> **Sandbox.** `sk_test_sandbox` is a public, free key. It answers with sample data: store and brand names are real, prices are not. Every response has the same shape and credit cost as production, so when you get your key you only swap the key. Limits: 5 requests per second, 60 per minute and 5,000 per day.

## 1. Search a product

By name, brand or barcode. Costs 1 credit per page of results, and 0 if nothing is found.

```bash
curl "https://pricto.dev/v1/products/search?q=leche+entera&limit=2" \
  -H "Authorization: Bearer sk_test_sandbox"
```
```python
import requests

API_KEY = "sk_test_sandbox"

r = requests.get(
    "https://pricto.dev/v1/products/search",
    params={"q": "leche entera", "limit": 2},
    headers={"Authorization": f"Bearer {API_KEY}"},
)
print(r.status_code, r.json())
```
```js
const API_KEY = "sk_test_sandbox";

const res = await fetch(`https://pricto.dev/v1/products/search?${new URLSearchParams({"q":"leche entera","limit":"2"})}`, {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
console.log(res.status, await res.json());
```

Response (trimmed):

```json
{
  "data": [
    {
      "id": "prd_01colu",
      "name": "Leche entera Colun 1 L",
      "brand": {
        "id": "colun",
        "name": "Colun"
      },
      "category": {
        "id": "food.dairy.milk",
        "label": "Leche",
        "path": [
          "Alimentos y bebidas",
          "… 2 más / more"
        ]
      },
      "size": {
        "value": 1,
        "unit": "l",
        "pack_count": 1,
        "text": "1 L"
      },
      "gtin": [
        "2000070000007"
      ],
      "image_url": null,
      "price_summary": {
        "currency": "CLP",
        "min": 1090,
        "max": 1290,
        "median": 1190,
        "offers_count": 3,
        "retailers_count": 3,
        "best": {
          "retailer": {
            "id": "cl-unimarc",
            "name": "Unimarc"
          },
          "offer_id": "ofr_01nuni",
          "price": 1090
        },
        "observed_at": "2026-10-23T11:00:00Z"
      },
      "score": 1
    }
  ],
  "pagination": {
    "has_more": true,
    "next_cursor": "eyJvIjoyfQ"
  },
  "meta": {
    "credits_charged": 1,
    "attribution": {
      "text": "Fuente: Pricto · 23-10-2026 08:00 CLST"
    }
  }
}
```

## 2. Get its price at every store

With the `id` from the previous step or with the barcode. Costs 1 credit per store.

```bash
curl "https://pricto.dev/v1/products/2000070000007/prices" \
  -H "Authorization: Bearer sk_test_sandbox"
```
```python
import requests

API_KEY = "sk_test_sandbox"

r = requests.get(
    "https://pricto.dev/v1/products/2000070000007/prices",
    headers={"Authorization": f"Bearer {API_KEY}"},
)
print(r.status_code, r.json())
```
```js
const API_KEY = "sk_test_sandbox";

const res = await fetch("https://pricto.dev/v1/products/2000070000007/prices", {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
console.log(res.status, await res.json());
```

Response (trimmed):

```json
{
  "data": {
    "product": {
      "id": "prd_01colu",
      "name": "Leche entera Colun 1 L"
    },
    "prices": [
      {
        "retailer": {
          "id": "cl-unimarc",
          "name": "Unimarc"
        },
        "price": 1090,
        "list_price": 1090,
        "card_price": null,
        "unit_price": {
          "amount": 1090,
          "per": "l"
        },
        "availability": "in_stock",
        "url": "https://example.com/cl-unimarc/leche-entera-colun-1-l",
        "observed_at": "2026-10-23T11:00:00Z",
        "capture_method": "public_page"
      }
    ],
    "summary": {
      "currency": "CLP",
      "min": 1090,
      "max": 1290,
      "median": 1190,
      "offers_count": 3,
      "retailers_count": 3,
      "best": {
        "retailer": {
          "id": "cl-unimarc",
          "name": "Unimarc"
        },
        "offer_id": "ofr_01nuni",
        "price": 1090
      },
      "observed_at": "2026-10-23T11:00:00Z"
    }
  },
  "meta": {
    "credits_charged": 3,
    "credits_remaining": 14994
  }
}
```

`price` is what anyone pays, with no conditions; card prices and promotions come separately. `url`, `observed_at` and `capture_method` say where each price came from.

## 3. Connect your agent

The sandbox MCP server needs no login. Your agent sees seven tools (search, prices, compare, history, offers, coverage and data requests) and picks which to use.

```bash
claude mcp add --transport http pricto https://pricto.dev/mcp/sandbox
```
```json
{
  "mcpServers": {
    "pricto": { "url": "https://pricto.dev/mcp/sandbox" }
  }
}
```
```bash
code --add-mcp '{"name":"pricto","type":"http","url":"https://pricto.dev/mcp/sandbox"}'
```
```text
Customize → Connectors → Add → Custom connector
Name: Pricto
URL: https://pricto.dev/mcp/sandbox
Authentication: no sign-in
```
```text
Settings → Connectors → Advanced → Developer mode → Create
Name: Pricto
URL: https://pricto.dev/mcp/sandbox
Authentication: none
```

Then ask it: "where is paracetamol cheapest?". With your production key, the URL is `https://pricto.dev/mcp` with the header `Authorization: Bearer <key>`: Claude Code, Cursor, VS Code and Claude connectors accept headers. ChatGPT only accepts servers with no authentication or with OAuth, so with a production key you need to wait for OAuth (see [Authentication](/docs/autenticacion#oauth)).

## Next

- [Try without signing up](/docs/probar): every endpoint with a form that calls the sandbox.
- [Authentication](/docs/autenticacion): key types, headers and rotation.
- [Limits and costs](/docs/limites): credits per operation, limits per plan and what happens when you run out.
- [API reference](/docs/api): every endpoint, parameter and field.
- [MCP](/docs/mcp) and [For agents](/docs/agentes): tools, prompts, Markdown, OpenAPI and Postman.
