# Quod Lib Umich — 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 millions of digitized items from the University of Michigan Library, including books, manuscripts, photographs, and more, while retrieving detailed metadata, full-text content, and image information for each collection and item. Access organized collections, view item details, and discover historical and scholarly materials across the library's comprehensive digital repository.

**Category:** Education | **Website:** [quod.lib.umich.edu/](https://quod.lib.umich.edu/) | **Docs:** [parse.bot/marketplace/07cdc5ea-9f99-43e6-a2c0-b7ca0ce61f62/quod-lib-umich-edu-api](https://parse.bot/marketplace/07cdc5ea-9f99-43e6-a2c0-b7ca0ce61f62/quod-lib-umich-edu-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-quod-lib-umich-edu-api-07cdc5ea/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_collection_detail

Get details about a specific collection including its title, description, browse/search options, and item count statistics.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `collection_id` | string | Yes | Unique ID of the collection (e.g. 'alajournals', 'apis', 'umhistmath'). Obtainable from list_collections results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/get_collection_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"collection_id":"<string>"}'
```

### get_image_metadata

Retrieve IIIF Image API metadata (info.json) for a specific page image within an item. Returns image dimensions, tile sizes, and scale factors.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `collection_id` | string | Yes | Collection ID (e.g. 'alajournals') |
| `image_id` | string | Yes | Image identifier, zero-padded 8-digit page number (e.g. '00000001' for page 1). |
| `item_id` | string | Yes | Item identifier (e.g. '0064218.1910.001') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/get_image_metadata \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"collection_id":"<string>","image_id":"<string>","item_id":"<string>"}'
```

### get_item_detail

Get full metadata and table of contents for a specific item within a collection. Returns bibliographic metadata and page-level TOC links.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `collection_id` | string | Yes | Collection ID (e.g. 'alajournals') |
| `item_id` | string | Yes | Item identifier (e.g. '0064218.1910.001'). Obtainable from search_collection or search_all_collections results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/get_item_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"collection_id":"<string>","item_id":"<string>"}'
```

### get_item_fulltext

Get the full text view for a text item. Returns extracted OCR text content from the item's pages.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `collection_id` | string | Yes | Collection ID (e.g. 'alajournals') |
| `item_id` | string | Yes | Item identifier (e.g. '0064218.1910.001') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/get_item_fulltext \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"collection_id":"<string>","item_id":"<string>"}'
```

### list_collections

List all digital collections from the University of Michigan Library. Returns an array of collections with titles, descriptions, and IDs. Supports optional filtering by format, access level, or subject. No pagination - all matching collections are returned in a single response.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `access_filter` | string | No | Filter by access level (passed as byAccess query param to the upstream site) |
| `format_filter` | string | No | Filter by format type (passed as byFormat query param to the upstream site) |
| `subject_filter` | string | No | Filter by subject area (passed as bySubject query param to the upstream site) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/list_collections \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"access_filter":"<string>","format_filter":"<string>","subject_filter":"<string>"}'
```

### search_all_collections

Cross-collection full-text search across all available text collections. Returns paginated results (up to 50 per page) from multiple collections.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (starts at 1). Each page returns up to 50 results. |
| `query` | string | Yes | Search query keywords |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/search_all_collections \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```

### search_collection

Search for items within a specific collection by keyword. Returns paginated results (up to 50 per page) with item titles, IDs, URLs, and metadata. Total result count is included.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `collection_id` | string | Yes | Unique ID of the collection to search within (e.g. 'alajournals') |
| `page` | integer | No | Page number (starts at 1). Each page returns up to 50 results. |
| `query` | string | Yes | Search query keywords |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quod-lib-umich-edu-api-07cdc5ea/search_collection \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"collection_id":"<string>","page":"<integer>","query":"<string>"}'
```
