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

> Access Standard Ebooks' curated collection of free public domain ebooks. Search and filter by subject, retrieve full book details, and get direct download links in multiple formats including EPUB, AZW3, and KEPUB.

**Category:** Education | **Website:** [standardebooks.org/](https://standardebooks.org/) | **Docs:** [parse.bot/marketplace/b0b74d1e-d79c-4140-9cb3-c358ce607361/standardebooks-org-api](https://parse.bot/marketplace/b0b74d1e-d79c-4140-9cb3-c358ce607361/standardebooks-org-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-standardebooks-org-api-b0b74d1e/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_azw3_list

Batch endpoint that iterates through ebook listing pages and fetches per-book details, returning download links for AZW3 format and Kindle cover thumbnail URLs. Makes one request per ebook so is slow for large page counts.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit_pages` | integer | No | Number of listing pages to process (48 books per page). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-standardebooks-org-api-b0b74d1e/get_azw3_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit_pages":"<integer>"}'
```

### get_ebook_details

Get full details for a specific ebook, including subjects and download links for all available formats (EPUB, AZW3, KEPUB, Advanced EPUB), plus a Kindle cover thumbnail. Requires the ebook's URL path (from list_ebooks results or manually constructed as /ebooks/<author>/<title>).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL or relative path of the ebook page (e.g. '/ebooks/william-shakespeare/othello' or the url field from list_ebooks results). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-standardebooks-org-api-b0b74d1e/get_ebook_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_ebook_subjects_list

Get the list of available subject filters that can be used with the subjects parameter in list_ebooks. Returns all subject categories offered by Standard Ebooks.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-standardebooks-org-api-b0b74d1e/get_ebook_subjects_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_ebooks

Search and browse ebooks with filters and pagination. Returns a paginated list of ebooks with title, author, URL, and cover image. Supports filtering by subject category and free-text query against title/author. Pagination via page number; per_page controls page size. Sort controls result ordering.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | integer | No | Number of results per page. |
| `query` | string | No | Search keyword to filter ebooks by title or author. |
| `sort` | string | No | Sort order for results. |
| `subjects` | string | No | Filter by subject. Use the value field from get_ebook_subjects_list (e.g. 'adventure', 'fiction', 'science-fiction'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-standardebooks-org-api-b0b74d1e/list_ebooks \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<integer>","query":"<string>","sort":"<string>","subjects":"<string>"}'
```
