# Rpo Library Utoronto — 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.

> Browse thousands of poems and poet profiles, search by title or author, explore poetry timelines and glossaries, and discover random poems to expand your literary knowledge. Access detailed poet biographies, collections, honours, and bibliographies to deepen your understanding of poetry history and literature.

**Category:** Education | **Website:** [rpo.library.utoronto.ca/](https://rpo.library.utoronto.ca/) | **Docs:** [parse.bot/marketplace/ded87668-914c-4ee0-97e2-4f8ac8415cd2/rpo-library-utoronto-ca-api](https://parse.bot/marketplace/ded87668-914c-4ee0-97e2-4f8ac8415cd2/rpo-library-utoronto-ca-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-rpo-library-utoronto-ca-api-ded87668/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### advanced_search_poems

Advanced search for poems with multiple filters including title/poet keyword, line text, publication year, rhyme scheme, poetic form, nationality, literary period, and literary movement. Filter values for rhyme, form, nationality, period, and movement use site-specific taxonomy IDs; set to 'All' to skip filtering.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `combine` | string | No | Keyword to search poem titles and poet names. |
| `form` | string | No | Poetic form taxonomy ID, or 'All' to skip filtering. |
| `line_text` | string | No | Keyword to search within poem line text. |
| `movement` | string | No | Literary movement taxonomy ID, or 'All' to skip filtering. |
| `nationality` | string | No | Poet nationality taxonomy ID, or 'All' to skip filtering. |
| `page` | integer | No | Zero-indexed page number for pagination. |
| `period` | string | No | Literary period taxonomy ID, or 'All' to skip filtering. |
| `rhyme` | string | No | Rhyme scheme taxonomy ID, or 'All' to skip filtering. |
| `year` | string | No | Publication year value for exact match. |
| `year_max` | string | No | Maximum year when year_op is 'between'. |
| `year_min` | string | No | Minimum year when year_op is 'between'. |
| `year_op` | string | No | Operator for year comparison: '=', '<', '>', 'between'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/advanced_search_poems \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"combine":"<string>","form":"<string>","line_text":"<string>","movement":"<string>","nationality":"<string>","page":"<integer>","period":"<string>","rhyme":"<string>","year":"<string>","year_max":"<string>","year_min":"<string>","year_op":"<string>"}'
```

### advanced_search_poets

Advanced search for poets with filters including name keyword, literary period, literary movement, nationality, birth year, and death year.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `birth_year` | string | No | Filter by birth year. |
| `combine` | string | No | Keyword to search poet names. |
| `death_year` | string | No | Filter by death year. |
| `movement` | string | No | Literary movement taxonomy ID, or 'All' to skip filtering. |
| `nationality` | string | No | Poet nationality taxonomy ID, or 'All' to skip filtering. |
| `page` | integer | No | Zero-indexed page number for pagination. |
| `period` | string | No | Literary period taxonomy ID, or 'All' to skip filtering. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/advanced_search_poets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"birth_year":"<string>","combine":"<string>","death_year":"<string>","movement":"<string>","nationality":"<string>","page":"<integer>","period":"<string>"}'
```

### get_bibliography

Retrieve the RPO general bibliography filtered by letter. Returns structured bibliography entries with author, title, edition, place, publisher, and year.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `letter` | string | No | Letter to browse bibliography entries by (a-z). |
| `query` | string | No | Search keyword to filter bibliography entries by author, title, publisher, or date. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_bibliography \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"letter":"<string>","query":"<string>"}'
```

### get_glossary

Retrieve the RPO poetry glossary. Returns glossary terms with definitions. Optionally filter by search keyword or starting letter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `letter` | string | No | Starting letter to filter glossary entries (e.g. 'A', 'B'). |
| `query` | string | No | Search keyword to filter glossary entries. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_glossary \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"letter":"<string>","query":"<string>"}'
```

### get_poem

Retrieve full details of a single poem by its slug or path. Returns title, poet info, full text with line numbers, metadata (rhyme scheme, form, publication year), and citation information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Poem identifier: a slug (e.g. 'after-long-silence'), node ID, or full path starting with '/'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_poem \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_poet

Retrieve full details for a single poet by their slug. Returns biography, birth/death dates, nationality, literary metadata, bibliography, and list of poems.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Poet slug identifier (e.g. 'yeats-william-butler'). Available from list_poets or search_poets results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_poet \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_poet_honours

Retrieve the list of poetry honours and awards with their recipients. Each honour includes a list of recipients with year and poet information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_poet_honours \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_random_poem

Retrieve a randomly selected poem from the RPO database. Returns the same structure as get_poem.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_random_poem \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_random_poet

Retrieve a randomly selected poet from the RPO database. Returns the same structure as get_poet.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_random_poet \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_timeline

Retrieve the RPO timeline of poetry in English. Returns a chronological list of events from ancient to modern times.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/get_timeline \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_collections

List poem collections and sequences available in RPO. Returns collection titles with slugs and URLs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/list_collections \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### list_poems

List poems in the RPO database alphabetically. Returns paginated poem summaries. Each page contains approximately 40 poems. Use page=0 for the first page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/list_poems \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### list_poets

List poets in the RPO database alphabetically, optionally filtered by literary period. Supports pagination.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. |
| `period` | string | No | Literary period taxonomy ID to filter by, or 'All' for no filtering. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/list_poets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","period":"<string>"}'
```

### search_poems

Search for poems by title or poet name keyword. Returns matching poems with basic metadata, paginated.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. |
| `query` | string | Yes | Search keyword to match against poem titles and poet names. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/search_poems \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```

### search_poets

Search for poets by name keyword. Returns matching poets with biography snippets.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. |
| `period` | string | No | Literary period taxonomy ID to filter by, or 'All' for no filtering. |
| `query` | string | Yes | Search keyword to match against poet names. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rpo-library-utoronto-ca-api-ded87668/search_poets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","period":"<string>","query":"<string>"}'
```
