# Shpock — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://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.

> Search and browse products listed on Shpock.com, view detailed listing information and seller profiles, and explore all available marketplace categories. Find what you're looking for by searching inventory, checking seller histories, and discovering related items from individual merchants.

**Category:** Marketplaces | **Website:** [shpock.com/](https://shpock.com/) | **Docs:** [parse.bot/marketplace/d58a21fb-4b86-4965-8dee-b372359cf292/shpock-com-api](https://parse.bot/marketplace/d58a21fb-4b86-4965-8dee-b372359cf292/shpock-com-api)

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

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/shpock/`
**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 all categories

Get list of top-level categories available on Shpock. Returns a static list of category IDs and names useful for filtering search results.

**Estimated cost:** Metered

_No parameters required._

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

### Get listing detail

Get full details for a single product listing including seller info, location, extra properties, and metadata. Returns the listing result directly or raises input_not_found if the listing does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `item_id` | string | Yes | The listing item ID (from search_listings results[*].id) |

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

### Get seller listings

Retrieve active listings for a specific seller. Supports offset-based pagination. Returns the seller's items array along with total count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results per page |
| `offset` | integer | No | Pagination offset |
| `user_id` | string | Yes | The seller's user ID (from get_listing_detail user.id) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/shpock/get-seller-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","user_id":"<string>"}'
```

### Get seller profile

Retrieve public profile information for a seller including ratings, item counts, follower counts, and optional shop details. Returns the seller result directly or raises input_not_found if the user does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `user_id` | string | Yes | The seller's user ID (from get_listing_detail user.id) |

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

### Search listings

Search for product listings with keywords, categories, and filters. Shpock is a location-based marketplace (primarily UK/EU). Keyword search results depend on the user's detected geolocation. Browsing by category or without a query typically returns more results. Paginates via an opaque cursor.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category ID to filter by |
| `condition` | string | No | Item condition filter |
| `cursor` | string | No | Pagination cursor from next_cursor in previous response |
| `is_free` | boolean | No | Filter for free items only |
| `is_on_sale` | boolean | No | Filter for items on sale |
| `limit` | integer | No | Max results per page |
| `max_price` | number | No | Maximum price filter |
| `min_price` | number | No | Minimum price filter |
| `query` | string | No | Search keyword (results are geo-dependent) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/shpock/search-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","condition":"<string>","cursor":"<string>","is_free":"<boolean>","is_on_sale":"<boolean>","limit":"<integer>","max_price":"<number>","min_price":"<number>","query":"<string>"}'
```

## Next steps

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