When to use this skill
When the user asks about an author — their real name, pseudonyms, birth date, most popular work, work count, or what subjects their books fall under. Reach for this when the question is "who is this author?" or "what other names does X publish under?". For book-level metadata (ISBN lookups, edition lists, cover images), use the book-by-ISBN skill instead. For browsing books by subject, this is the wrong skill.
Your best first call
curl "https://openlibrary.org/search/authors.json?q=robert+galbraith"
No auth. No key. The q parameter accepts any keyword — author name, pseudonym, or partial name. Searching by a known pseudonym is the most useful pattern: it resolves pen names back to the real author record, which is something most book APIs do not do.
Returns a JSON object with numFound and a docs array. Each doc contains:
name — canonical author name (e.g. "J. K. Rowling")
key — Open Library author ID (e.g. "OL23919A"), used for follow-up calls
alternate_names — array of pseudonyms, alternate spellings, and fictional in-universe author names
birth_date — author's birth date
top_work — title of their most-published work
work_count — total works attributed in the catalog
top_subjects — subject categories the author's works cluster under
Use the key to fetch a paginated works list from /authors/{key}/works.json.
Fallbacks (when the best call isn't enough)
- Full works list for an author →
/authors/{key}/works.json returns paginated works. Use when top_work is not enough and you need the complete catalog.
- Author photo →
/authors/{key}.json returns a photos array of numeric IDs. Build URLs as https://covers.openlibrary.org/a/id/{id}-S.jpg. Filter out -1 entries before constructing URLs.
Pitfalls
alternate_names mixes real pseudonyms with fictional in-universe author names. J.K. Rowling's list includes "Newt Scamander" and "Kennilworthy Whisp" — characters from her fictional world whose companion books carry real ISBNs. Open Library records them as legitimate alternate names. Filter these if the user needs real-world author names only.
work_count is inflated by fictional pseudonyms' works. Rowling's 425 includes books attributed to in-universe characters. For a strict count of books the human actually wrote, filter the /authors/{olid}/works.json results.
- Photo IDs of
-1 mean "no image available." Constructing a cover URL from them will fail — filter before building image links.
One-line summary for the user
I can search Open Library for any author by name or keyword — including resolving pseudonyms back to the real author — but alternate names may include fictional in-universe authors alongside real pen names.
Open Library provides free access to metadata about millions of books, including title, author, publisher, and cover images. The API allows searching for books, retrieving book details by ISBN or Open Library ID, and browsing by subject.
SKILL.md source (frontmatter + body)
---
name: search-open-library-authors
description: When the user asks about an author — their real name, pseudonyms, pen names, birth date, top work, or work count — reach for Open Library's author search. Keyword-based lookup via one unauthenticated GET.
---
## When to use this skill
When the user asks about an author — their real name, pseudonyms, birth date, most popular work, work count, or what subjects their books fall under. Reach for this when the question is "who is this author?" or "what other names does X publish under?". For book-level metadata (ISBN lookups, edition lists, cover images), use the book-by-ISBN skill instead. For browsing books by subject, this is the wrong skill.
## Your best first call
```bash
curl "https://openlibrary.org/search/authors.json?q=robert+galbraith"
```
No auth. No key. The `q` parameter accepts any keyword — author name, pseudonym, or partial name. Searching by a known pseudonym is the most useful pattern: it resolves pen names back to the real author record, which is something most book APIs do not do.
Returns a JSON object with `numFound` and a `docs` array. Each doc contains:
- `name` — canonical author name (e.g. "J. K. Rowling")
- `key` — Open Library author ID (e.g. "OL23919A"), used for follow-up calls
- `alternate_names` — array of pseudonyms, alternate spellings, and fictional in-universe author names
- `birth_date` — author's birth date
- `top_work` — title of their most-published work
- `work_count` — total works attributed in the catalog
- `top_subjects` — subject categories the author's works cluster under
Use the `key` to fetch a paginated works list from `/authors/{key}/works.json`.
## Fallbacks (when the best call isn't enough)
- **Full works list for an author** → `/authors/{key}/works.json` returns paginated works. Use when `top_work` is not enough and you need the complete catalog.
- **Author photo** → `/authors/{key}.json` returns a `photos` array of numeric IDs. Build URLs as `https://covers.openlibrary.org/a/id/{id}-S.jpg`. Filter out `-1` entries before constructing URLs.
## Pitfalls
- `alternate_names` mixes real pseudonyms with fictional in-universe author names. J.K. Rowling's list includes "Newt Scamander" and "Kennilworthy Whisp" — characters from her fictional world whose companion books carry real ISBNs. Open Library records them as legitimate alternate names. Filter these if the user needs real-world author names only.
- `work_count` is inflated by fictional pseudonyms' works. Rowling's 425 includes books attributed to in-universe characters. For a strict count of books the human actually wrote, filter the `/authors/{olid}/works.json` results.
- Photo IDs of `-1` mean "no image available." Constructing a cover URL from them will fail — filter before building image links.
## One-line summary for the user
I can search Open Library for any author by name or keyword — including resolving pseudonyms back to the real author — but alternate names may include fictional in-universe authors alongside real pen names.