> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.getoutprice.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.getoutprice.com/_mcp/server.

# Quickstart

### Create an API key

Sign in to the [dashboard](https://getoutprice.com/app) and create a key as
[Authentication](/guides/get-started/authentication#creating-keys) shows. API access is on the
Growth and Business plans. The key is shown once: store it somewhere safe,
such as your secrets manager.

### Check the key works

```bash
curl https://getoutprice.com/v1/tracked-items \
  -H "X-API-Key: $OUTPRICE_API_KEY"
```

You get back the listings you already track (an empty list on a new account).

### Track a competitor's listing

```bash
curl https://getoutprice.com/v1/tracked-items \
  -H "X-API-Key: $OUTPRICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "source_url": "https://www.daraz.pk/products/example-i123456789.html",
        "category_tags": ["headphones"],
        "acknowledge_tos": true
      }'
```

`acknowledge_tos` confirms that monitoring the listing is your decision; a
listing is never tracked without it. The first price check runs within a
few minutes.

### Read its price history

```bash
curl https://getoutprice.com/v1/tracked-items/42/history \
  -H "X-API-Key: $OUTPRICE_API_KEY"
```

## In code

**`Python`**

```python Python
import os
import requests

API = "https://getoutprice.com/v1"
session = requests.Session()
session.headers["X-API-Key"] = os.environ["OUTPRICE_API_KEY"]

items = session.get(f"{API}/tracked-items", timeout=30)
items.raise_for_status()
for item in items.json():
    print(item["id"], item["title"], item["status"])
```

**`TypeScript`**

```typescript TypeScript
const API = "https://getoutprice.com/v1";

const response = await fetch(`${API}/tracked-items`, {
  headers: { "X-API-Key": process.env.OUTPRICE_API_KEY! },
});
if (!response.ok) throw new Error(`Outprice API: ${response.status}`);
const items = await response.json();
for (const item of items) console.log(item.id, item.title, item.status);
```