Live · 1M+ requests last month

Book covers,
on demand.

A dead-simple REST API that returns high-quality book cover images from Goodreads — searchable by title, author, or ISBN.

Explore the API ★ Star on GitHub
1M requests / month
231 GitHub stars
2 endpoints
The Pale Blue Dot — Carl Sagan Dune — Frank Herbert Sapiens — Yuval Noah Harari 1984 — George Orwell The Great Gatsby — F. Scott Fitzgerald Meditations — Marcus Aurelius Thinking Fast and Slow — Kahneman The Pale Blue Dot — Carl Sagan Dune — Frank Herbert Sapiens — Yuval Noah Harari 1984 — George Orwell The Great Gatsby — F. Scott Fitzgerald Meditations — Marcus Aurelius Thinking Fast and Slow — Kahneman

Quick Start

One request.
Instant cover.

No API key. No auth. Just a GET request and you'll have a cover image URL back in milliseconds.

REQUEST
# Search by title + author curl -X GET \ "https://bookcover.longitood.com/bookcover?book_title=Dune\ &author_name=Frank+Herbert"
OR BY ISBN
# Search by ISBN-13 curl -X GET \ "https://bookcover.longitood.com/bookcover?isbn=978-0441013593"
RESPONSE 200 OK
{ "url": "https://i.gr-assets.com/ images/S/compressed.photo. goodreads.com/books/ 1555447414i/44767458.jpg" }
NOT FOUND 404
{ "message": "book not found" }

Features

Everything you need,
nothing you don't.

🔍
Dual search modes
Find covers by book title + author name, or directly by ISBN-13. Both approaches resolve to Goodreads' high-res images.
Cached results
Successful lookups are cached so repeat queries return instantly without hitting upstream sources again.
🔓
No auth required
Zero API keys, zero sign-ups. Send a GET request and receive a cover URL. That's the entire integration.
🌐
CORS-ready for browsers
All responses include appropriate CORS headers, meaning you can call the API directly from frontend JavaScript without a proxy. Build reading lists, book apps, or library tools without setting up a backend.
📦
Self-hostable
Written in Go. Docker-ready. Deploy on your own infra with docker-compose up.
🛡️
Rate limited
Fair-use throttling keeps the public instance healthy for everyone. Response 429 when quota is met.
🔗
Clean JSON responses
Just a url field on success. Human-readable message on error. No bloat.
📖
MIT Licensed
Fully open source. Fork it, extend it, or just inspect how it works. 231 stars and growing.

Reference

API endpoints

The full public API surface. Base URL: https://bookcover.longitood.com

GET /bookcover?book_title=&author_name= Search by title & author
Parameter Type Required Description
book_title string required The title of the book to search for
author_name string required The name of the book's author
GET /bookcover?isbn={isbn13} Search by ISBN-13
Parameter Type Required Description
isbn string required ISBN-13 number, e.g. 978-0345376596
GET /bookcover/:isbn deprecated — use query param

HTTP Status Codes

200
Cover URL found and returned
400
Missing params or invalid ISBN
404
No matching cover found
429
Rate limit quota exceeded

Start fetching covers
right now.

No setup. No keys. No waiting.
The API is live and ready for your next project.

Try a live request → View source on GitHub