# Allsurplus — 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 industrial assets and surplus inventory across B2B auctions, view detailed asset information, and explore upcoming auction events filtered by category and location. Find the specific equipment, machinery, and surplus items you need by browsing comprehensive product details and auction schedules.

**Category:** Marketplaces | **Website:** [allsurplus.com/](https://allsurplus.com/) | **Docs:** [parse.bot/marketplace/3d3ce764-c506-4c03-89af-0250e17c02ea/allsurplus-com-api](https://parse.bot/marketplace/3d3ce764-c506-4c03-89af-0250e17c02ea/allsurplus-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-allsurplus-com-api-3d3ce764/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_asset_detail

Fetch full details for a specific auction lot including long description, photos, location coordinates, seller info, payment and removal instructions, and attribute groups. Requires both asset_id and account_id from a prior search_assets result.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `account_id` | string | Yes | Numeric account ID of the asset owner (from search_assets results). |
| `asset_id` | string | Yes | Numeric asset ID (from search_assets results). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-allsurplus-com-api-3d3ce764/get_asset_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"account_id":"<string>","asset_id":"<string>"}'
```

### get_auction_event_detail

Fetch full details for a specific auction event including HTML description, schedule, contact details, important notices for bidders, and partner logos. Requires the saleEventId from list_auction_events.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `event_id` | string | Yes | Numeric sale event ID (from list_auction_events results). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-allsurplus-com-api-3d3ce764/get_auction_event_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"event_id":"<string>"}'
```

### list_auction_events

List upcoming and current auction events sorted by close date ascending. Returns paginated event summaries including title, description, open/close dates, and asset counts. Use get_auction_event_detail with the saleEventId for full event info.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `facets_filter` | string | No | JSON array of facet filter strings. |
| `limit` | integer | No | Number of results per page. |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-allsurplus-com-api-3d3ce764/list_auction_events \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"facets_filter":"<string>","limit":"<integer>","page":"<integer>"}'
```

### list_categories

Retrieve the full product category hierarchy (L0 > L1 > L2). Each category node includes a menuId usable as category_ids in search_assets, a human-readable description, and a count of available assets. No input parameters required.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-allsurplus-com-api-3d3ce764/list_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_locations

Retrieve the full location hierarchy (Region > Country > State). Each location node includes a menuId usable for facet filtering in search_assets, a human-readable description, and a count of available assets. No input parameters required.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-allsurplus-com-api-3d3ce764/list_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_assets

Search and browse auction lots with keyword, category, seller, event, and time-based filters. Returns paginated asset summaries with bid info and facets for further narrowing. Each result carries the assetId and accountId needed to fetch its full detail via get_asset_detail. Sorted by relevance by default; closedatetime and currentbid are alternatives.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `account_ids` | string | No | Comma-separated list of numeric account IDs to filter by seller. |
| `category_ids` | string | No | Category ID to filter results (from list_categories endpoint). |
| `event_id` | string | No | Event ID to filter results by a specific auction event. |
| `facets_filter` | string | No | JSON array of facet filter strings (e.g. '["region:\"Americas\""]'). |
| `limit` | integer | No | Number of results per page. |
| `page` | integer | No | Page number for pagination. |
| `query` | string | No | Search keyword. Use '*' for all results. |
| `sort_field` | string | No | Field to sort results by. |
| `sort_order` | string | No | Sort direction. |
| `time_type` | string | No | Time-based filter such as 'closingToday' or 'newListings'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-allsurplus-com-api-3d3ce764/search_assets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"account_ids":"<string>","category_ids":"<string>","event_id":"<string>","facets_filter":"<string>","limit":"<integer>","page":"<integer>","query":"<string>","sort_field":"<string>","sort_order":"<string>","time_type":"<string>"}'
```
