# 2ememain — 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 listings on 2ememain.be, view detailed product information and seller profiles, and explore what items specific sellers have available. Filter by category, price, condition, and location to find listings across the marketplace — all with full seller details in one place.

**Category:** Marketplaces | **Website:** [2ememain.be/](https://2ememain.be/) | **Docs:** [parse.bot/marketplace/6312335d-0beb-47e9-9d94-4679a3469842/2ememain-be-api](https://parse.bot/marketplace/6312335d-0beb-47e9-9d94-4679a3469842/2ememain-be-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-2ememain-be-api-6312335d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_categories

Get available instrument category IDs for the 2ememain.be marketplace. The returned categories can be used with the category parameter in search_listings.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-2ememain-be-api-6312335d/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_listing_detail

Get detailed information for a specific listing by its ID. Returns listing data from the search API enriched with schema.org Product structured data from the listing page when available. The item_id is obtained from search_listings results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `item_id` | string | Yes | Listing item ID (e.g. m2409165912), obtained from search_listings results' itemId field |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-2ememain-be-api-6312335d/get_listing_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"item_id":"<string>"}'
```

### get_seller_listings

Get all active listings for a specific seller. Returns paginated listing results. Pagination advances via offset. The seller_id is obtained from listing data (sellerInformation.sellerId).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results to return |
| `offset` | integer | No | Pagination offset (number of items to skip) |
| `seller_id` | string | Yes | Numeric seller ID, obtained from sellerInformation.sellerId in listing data |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-2ememain-be-api-6312335d/get_seller_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","seller_id":"<string>"}'
```

### get_seller_profile

Get profile information for a specific seller including verification status, payment methods, and review scores. The seller_id is obtained from listing data (sellerInformation.sellerId).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `seller_id` | string | Yes | Numeric seller ID, obtained from sellerInformation.sellerId in listing data |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-2ememain-be-api-6312335d/get_seller_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"seller_id":"<string>"}'
```

### search_listings

Search for listings on 2ememain.be with keywords, categories, and filters. Returns paginated results. Pagination advances via offset (items, not pages). Each listing carries seller info, price, location, and category. The category tree is rooted at instruments (728); sub-categories narrow the search.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category name (acoustic, electric, bass, amps, all_instruments) or numeric category ID. Use get_categories to retrieve available category IDs. |
| `condition` | string | No | Item condition filter |
| `distance` | integer | No | Distance in km from postcode (0 means no distance filter) |
| `limit` | integer | No | Max results per page |
| `offset` | integer | No | Pagination offset (number of items to skip) |
| `postcode` | string | No | Belgian postal code for location-based search |
| `price_max` | integer | No | Maximum price in euros |
| `price_min` | integer | No | Minimum price in euros |
| `query` | string | No | Search keyword |
| `sort_by` | string | No | Sort field |
| `sort_order` | string | No | Sort order |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-2ememain-be-api-6312335d/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","condition":"<string>","distance":"<integer>","limit":"<integer>","offset":"<integer>","postcode":"<string>","price_max":"<integer>","price_min":"<integer>","query":"<string>","sort_by":"<string>","sort_order":"<string>"}'
```
