canonical: https://jentic.com/apis/poetrydb.org/poetrydb

# PoetryDB API

PoetryDB is a free API for internet encyclopaedia of poetry. Search and retrieve poems by author, title, lines, and linecount. The API exposes 9 endpoints.

## For AI agents

Programmatically list all authors, get poems by author (partial match). Covers 9 operations.

## Scope

Does not handle payments, communications, or crm - use for identity and authentication only.

## Capabilities

- List all authors
- Get poems by author (partial match)
- Search poems by title (partial match)

## Use cases

### Identity and Authentication Operations

Use the PoetryDB API to perform identity auth operations programmatically. The API provides 9 endpoints covering core functionality including list all authors, get poems by author (partial match), get specific fields from poems by author.

Example prompt: Call GET /author to list all authors

### Automated Author Management

Automate author operations by combining multiple PoetryDB API endpoints. Agents can get poems by author (partial match) and then get specific fields from poems by author in a single workflow.

Example prompt: Call GET `/author/{author}` to get poems by author (partial match), then verify the result

### AI Agent Integration via Jentic

AI agents discover and call PoetryDB API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle none tokens manually.

Example prompt: Search Jentic for 'list all authors', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/author` | List all authors |
| GET | `/author/{author}` | Get poems by author (partial match) |
| GET | `/author/{author}/{outputFields}` | Get specific fields from poems by author |
| GET | `/title` | List all poem titles |
| GET | `/title/{title}` | Search poems by title (partial match) |
| GET | `/lines/{lines}` | Search poems by line content |
| GET | `/linecount/{linecount}` | Get poems with exact line count |
| GET | `/random` | Get a random poem |

## Key resources

- **Author** — Operations for author
- **Linecount** — Operations for linecount
- **Lines** — Operations for lines
- **Random** — Operations for random
- **Title** — Operations for title

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 68 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 48 / 100
  - Agent Usability: 94 / 100
  - Security: 100 / 100
  - AI Discoverability: 54 / 100
- **View full report:** https://jentic.com/apis/poetrydb.org/poetrydb/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the PoetryDB API by hand still means coding against its poetrydb.org paths and assembling author, title, and line queries yourself even though it needs no auth. Through Jentic you install once, import the PoetryDB API from the API Directory, and your agent calls it with no credential to manage.
- **Permission scoping:** PoetryDB puts the author, title, and line selectors in the URL path (`/author/{author}`, `/title/{title}`), so a rule can pin your agent to lookups for one author. Every operation here is read-only, so the agent's allowed set is simply the queries you grant it.
- **Credential handling:** This API needs no credential, so there is nothing for the agent to hold; if you later add a secret, your own Jentic One instance stores it encrypted and injects it at execution time. Nothing sensitive enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list all authors' or 'get a random poem', and Jentic returns the matching PoetryDB operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Auth0** — Alternative identity auth API
- **Okta** — Alternative identity auth API

## FAQ

### What authentication does the PoetryDB API use?

The PoetryDB API uses no authentication. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I list all authors with the PoetryDB API?

Yes. Use the GET /author endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the PoetryDB API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I list all authors through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'list all authors'. Jentic returns the matching PoetryDB API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the PoetryDB API have?

The PoetryDB API exposes 9 endpoints covering author, linecount, lines operations.

### Can I limit what my agent is allowed to do with the PoetryDB API?

Yes. Because you run Jentic One yourself, your own rules decide which PoetryDB operations the agent may call, and every endpoint here is read-only, so the agent's allowed set is simply the queries you grant it. PoetryDB puts the author, title, and line selectors in the URL path, such as `/author/{author}` and `/title/{title}`, so a rule can pin the agent to lookups for a single author or restrict it to title searches while blocking the broad /author or /title listings. You control this scope entirely from your self-hosted instance.
