# 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. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-shpock-com-api-d58a21fb/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## 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/parse-shpock-com-api-d58a21fb/get_all_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-shpock-com-api-d58a21fb/get_listing_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-shpock-com-api-d58a21fb/get_seller_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-shpock-com-api-d58a21fb/get_seller_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-shpock-com-api-d58a21fb/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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>"}'
```
