# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/allsurplus/`
**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 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/credits/allsurplus/get-asset-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/allsurplus/get-auction-event-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/allsurplus/list-auction-events \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/allsurplus/list-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/allsurplus/list-locations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/allsurplus/search-assets \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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>"}'
```

## 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.