# Alibris — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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 for books and retrieve seller listings from Alibris. Access detailed book information including title, author, condition, pricing, and seller data across the platform.

**Category:** Marketplaces | **Website:** [alibris.com/](https://alibris.com/) | **Docs:** [parse.bot/marketplace/7241e77b-7edb-45fe-81b9-96f9c8520519/alibris-com-api](https://parse.bot/marketplace/7241e77b-7edb-45fe-81b9-96f9c8520519/alibris-com-api)

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

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/alibris/`
**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 book listings

Retrieves all seller listings for a specific book identified by work_id and slug. Returns book metadata, available editions with ISBNs, and individual seller offers with pricing, condition, and seller rating. The slug and work_id come from search_books results (URL path and work_id field respectively).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | URL slug of the book (from search_books results URL path, e.g. 'Python-Programming-An-Introduction-to-Computer-Science-John-M-Zelle'). |
| `work_id` | string | Yes | Alibris work ID (from search_books results[*].work_id). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/alibris/get-book-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>","work_id":"<string>"}'
```

### Get item details

Retrieves detailed information for a single seller listing identified by inventory ID (alibris_id from get_book_listings) and work_id. Returns title with edition info, ISBN-13, publisher, language, and seller description of the item's condition.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `invid` | string | Yes | Inventory ID (from get_book_listings results[*].alibris_id). |
| `work_id` | string | Yes | Work ID (from search_books results[*].work_id or get_book_listings book_info.work_id). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/alibris/get-item-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"invid":"<string>","work_id":"<string>"}'
```

### Search books

Full-text keyword search over Alibris book listings. Returns paginated results with basic book metadata (title, author, price, work_id). Supports sorting and filtering by binding type, price range, and free shipping eligibility. Each result carries a work_id usable with get_book_listings for seller-level detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `binding` | string | No | Filter by binding type (e.g. 'Hardcover', 'Softcover'). |
| `free_shipping` | boolean | No | Filter for free shipping eligible items only. |
| `page` | integer | No | Page number for pagination. |
| `price_range` | string | No | Price range filter (e.g. 'Under 5', '5 - 15', '15 - 30', '30 - 50', 'Over 50'). |
| `query` | string | Yes | Search keyword (e.g. 'python programming', 'stephen king'). |
| `sort` | string | No | Sort order for results. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/alibris/search-books \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"binding":"<string>","free_shipping":"<boolean>","page":"<integer>","price_range":"<string>","query":"<string>","sort":"<string>"}'
```

### Search books advanced

Advanced multi-field search over Alibris book listings. Accepts title, author, ISBN, publisher, subject, language, year range, price range, and condition filters. At least one search parameter should be provided. Returns the same paginated listing format as search_books.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `author` | string | No | Author name to search for. |
| `binding` | string | No | Book binding type (e.g. 'Hardcover', 'Softcover'). |
| `first_edition` | boolean | No | Filter for first editions only. |
| `free_shipping` | boolean | No | Filter for free shipping eligible items only. |
| `isbn` | string | No | ISBN number to search for. |
| `keyword` | string | No | General keyword search term. |
| `language` | string | No | Language to filter by (e.g. 'English', 'Spanish'). |
| `page` | integer | No | Page number for pagination. |
| `price_high` | string | No | Maximum price in dollars (e.g. '50'). |
| `price_low` | string | No | Minimum price in dollars (e.g. '5'). |
| `publisher` | string | No | Publisher name to filter by. |
| `signed` | boolean | No | Filter for signed copies only. |
| `sort` | string | No | Sort order for results. |
| `subject` | string | No | Subject or genre to filter by. |
| `title` | string | No | Book title to search for. |
| `year_high` | string | No | Maximum publication year (e.g. '2024'). |
| `year_low` | string | No | Minimum publication year (e.g. '2000'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/alibris/search-books-advanced \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"author":"<string>","binding":"<string>","first_edition":"<boolean>","free_shipping":"<boolean>","isbn":"<string>","keyword":"<string>","language":"<string>","page":"<integer>","price_high":"<string>","price_low":"<string>","publisher":"<string>","signed":"<boolean>","sort":"<string>","subject":"<string>","title":"<string>","year_high":"<string>","year_low":"<string>"}'
```

## Next steps

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