# Pepper — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Browse deals, coupons, and product categories from Pepper.pl, a popular Polish community marketplace, with the ability to search specific offers and read community comments. Filter deals by category, view detailed information about each offer, and discover the latest coupon codes available.

**Category:** Marketplaces | **Website:** [pepper.pl/](https://pepper.pl/) | **Docs:** [parse.bot/marketplace/bce1f3d7-b032-4c10-9352-dc090b28e082/pepper-pl-api](https://parse.bot/marketplace/bce1f3d7-b032-4c10-9352-dc090b28e082/pepper-pl-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get categories

Retrieve the list of deal categories (groups) available on pepper.pl. Each category has a display name and a URL slug usable with get_deals_by_category. Returns all categories in a single response without pagination.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/get-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get coupons

Fetch current coupons and voucher codes from the pepper.pl coupons page. Returns active and recently expired promotional codes with merchant, discount amount, code, and expiration information. Single-page response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/get-coupons \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get deal comments

Fetch comments for a specific deal by its numeric thread ID. Returns paginated user comments with usernames, text, relative timestamps, and reply counts. The thread_id is available as the id field from get_deals or search_deals results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `thread_id` | string | Yes | Numeric thread/deal ID, e.g. 1295062. Available from get_deals results as the id field. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/get-deal-comments \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","thread_id":"<string>"}'
```

### Get deal detail

Fetch full details of a single deal by its slug. The slug includes the deal name and numeric ID suffix (e.g. deal-name-123456). Returns the deal's complete description, pricing, store, temperature, and metadata. Returns input_not_found if the deal no longer exists.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Deal slug including numeric ID suffix, e.g. bianchi-arcadex-al-1295321. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/get-deal-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get deals

Fetch a paginated list of deals from the pepper.pl homepage. Supports sorting by tab: popularne (popular, default), najgoretsze (hottest ever), gorace (hot now), nowe (new). Each page returns up to ~20 deals. Paginate by incrementing the page number until an empty array is returned.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `tab` | string | No | Sort tab for the deal listing. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/get-deals \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","tab":"<string>"}'
```

### Get deals by category

Fetch deals filtered by a specific category slug. Use get_categories to discover available slugs. Returns paginated results; increment page until empty.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `slug` | string | Yes | Category slug from get_categories, e.g. elektronika, klocki-lego, sport. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/get-deals-by-category \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>"}'
```

### Search deals

Search for deals using a keyword query. Returns paginated results matching the search term across deal titles and descriptions. Paginate by incrementing page until an empty array is returned.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword or phrase. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pepper/search-deals \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.