rpo.library.utoronto.ca APIrpo.library.utoronto.ca ↗
Access thousands of poems, poet biographies, glossary terms, timelines, and awards from Representative Poetry Online via 15 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/9b664bef-3066-4f73-bc1a-f68bf21744ec/list_poems?page=0' \ -H 'X-API-Key: $PARSE_API_KEY'
List poems in the RPO database alphabetically. Supports pagination via zero-indexed page numbers.
| Param | Type | Description |
|---|---|---|
| page | string | Zero-indexed page number for pagination. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"poems": "array of poem summary objects, each containing title, url, path, and poet"
},
"sample": {
"data": {
"page": 0,
"poems": [
{
"url": "https://rpo.library.utoronto.ca/node/78791",
"path": "/node/78791",
"poet": "Brooks, Shirley",
"title": "&"
}
]
},
"status": "success"
}
}About the rpo.library.utoronto.ca API
The RPO API exposes 15 endpoints covering the full contents of Representative Poetry Online, including poem full-text with line numbers, poet biographies, a chronological poetry timeline, a glossary, bibliography, and honours records. The get_poem endpoint returns structured line objects, rhyme scheme, poetic form, publication year, and citation data. The advanced_search_poems endpoint filters by literary period, movement, nationality, poetic form, rhyme scheme, and publication year.
Poem Data
The get_poem endpoint accepts a poem slug, node ID, or full path and returns the complete poem text as an array of line objects — each with line_number and line_text — alongside structured metadata fields including rhyme_scheme, poetic_form, publication_year, editors, and edition. Citation data comes back as a separate object with source_book, publisher, and library_call_number where available. The get_random_poem endpoint returns the same structure without requiring any input.
Poet Data
The get_poet endpoint returns a full poet profile: biography, birth_date, death_date, nationality, literary_period, literary_movement, honours, occupations, and a bibliography array. The poems field lists every poem in the RPO database attributed to that poet, each with title, slug, url, and path. The advanced_search_poets endpoint filters across birth_year, death_year, nationality, period, and movement taxonomy IDs, all paginated with zero-indexed page parameters.
Reference Data
The get_timeline endpoint returns a chronological array of events covering English poetry from ancient to modern times, each with a year and event description. The get_glossary endpoint supports filtering by letter or query, returning term, definition, and url for each entry. The get_bibliography endpoint similarly supports letter- and keyword-based browsing, returning structured fields including author, title, edition, place, publisher, and year.
Honours and Collections
The get_poet_honours endpoint returns a paginated list of named poetry awards, each with a recipients array containing year, poet name, and poet slug. The list_collections endpoint returns poem sequences and collections with title, slug, url, and poet, paginated via the page parameter.
- Build a poetry reader app that displays full poem text with line numbers using get_poem
- Populate a literary database with poet biographies, nationalities, and dates from get_poet
- Drive a poetry discovery feature using get_random_poem or get_random_poet
- Filter poems by rhyme scheme or poetic form using advanced_search_poems for classroom tools
- Display a chronological timeline of English poetry using get_timeline event objects
- Look up definitions for poetic terms with the get_glossary letter and keyword filters
- Track poetry award history by poet and year using get_poet_honours recipient data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Representative Poetry Online have an official developer API?+
What does advanced_search_poems accept for the rhyme, form, period, movement, and nationality parameters?+
year_op parameter accepts '=', '<', '>', or 'between' to control how the year value is applied.Does the API expose individual poem annotations or line-level notes beyond line number and text?+
text field in get_poem returns line objects with line_number and line_text only. Supplementary editorial notes or annotations are not included in the response. You can fork this API on Parse and revise it to add an endpoint targeting annotated content if RPO exposes it on specific poem pages.Is there a way to retrieve all poems by a specific poet directly?+
get_poet endpoint returns a poems array listing every poem attributed to that poet, each with title, slug, url, and path. You can then pass any poem's slug to get_poem for full text and metadata.Does the API cover full bibliography entries for individual poets, or only the general RPO bibliography?+
get_poet returns a bibliography array scoped to that individual poet. get_bibliography returns the site's general bibliography, browsable by letter (a–z) or keyword query, with structured author, title, edition, place, publisher, and year fields.