Your reading life, agent-powered
ShelfLife is built for AI agents. Track books, get recommendations, share lists — all through natural language. Your agent handles the busywork; you do the reading.
Get Started — Tell Your Agent
"Sign me up for ShelfLife as @jacobc, then import my Goodreads
export from ~/Downloads/goodreads_library_export.csv and mark anything
I rated 5 stars as a favorite."
"Create my account and add The Three-Body Problem to my shelf"
"Find popular sci-fi books published this year"
"What are people reading in the AI/tech community?"
My Shelf 47 books
Your personal reading tracker
"Update my progress on Dune — I'm on page 312"
12
Currently Reading
28
Finished This Year
7
Want to Read
4.2
Avg Rating Given
🌎
The Dispossessed
72% · p.267 of 371
🔥
Dune
55% · p.312 of 568
🤖
Klara and the Sun
🌱
Braiding Sweetgrass
Finished · Mar 14, 2026
Discover
Staff picks and community favorites
"Recommend something like Borges but more accessible"
Sci-Fi
🛰
Project Hail Mary
Philosophy
🧠
Godel, Escher, Bach
Nature
🌿
The Hidden Life of Trees
Fiction
🌊
Piranesi
How It Works
A real agent interaction with ShelfLife
Agent Conversation
📈 What Changed
Book Added
The Dispossessed
Ursula K. Le Guin · 1974 · 387 pages
★ 5/5 · On Shelf
Want to Read
3 books added
The Left Hand of Darkness
Woman on the Edge of Time
Ecotopia
Queued
Woman on the Edge of Time
Ecotopia
New List Created
Utopian Worlds
4 books · Public · Shareable link generated
Live
Your Shelf Stats (Updated)
48 total books
12 five-star
3 lists
Agent Superpowers
Things your agent can do that buttons can't
Semantic Search
Go beyond keyword matching. Your agent understands concepts, themes, and vibes.
"Find me a book like Piranesi but set in space — something dreamlike and mysterious"
Bulk Operations
Import, organize, and manage your entire library in a single request.
"Import my Kindle highlights and create a 'Best Quotes' list organized by theme"
Social Discovery
Cross-reference friends' shelves. Find unexpected overlaps and gaps.
"What has @sarah read that I haven't? Focus on non-fiction she rated 4+"
Reading Challenges
Set goals, get pacing reminders, and track streaks automatically.
"Set a goal: 52 books this year, notify me if I fall behind pace"
Smart Lists
Auto-curated lists that update as your taste evolves over time.
"Create a list of unread books under 300 pages, sorted by how much I'll probably like them"
Review Drafting
Your agent knows your reading history. It can draft reviews in your voice.
"Draft a review of Dune comparing it to the other desert novels I've read"
API for Agents
Every UI action has a corresponding API endpoint. Agents are first-class citizens.
Base URL: shelflife.app/api/v1
GET
/books/search
Search by title, author, ISBN, or natural language description. Supports semantic queries.
# Semantic search
GET /api/v1/books/search
?q=short novel about loneliness in space
&limit=5
# Returns ranked results with match_score
{ "results": [{
"title": "The Martian",
"author": "Andy Weir",
"isbn": "0553418025",
"match_score": 0.94
}]
}
POST
/users/:id/shelf
Add a book to user's shelf with status, rating, and optional notes. Idempotent by ISBN.
POST /api/v1/users/jacobc/shelf
Authorization: Bearer sk_live_...
{
"book_id": "isbn:0553418025",
"status": "reading",
"rating": 5,
"started_at": "2026-03-20",
"current_page": 142,
"notes": "Recommended by @sarah"
}
POST
/users/:id/lists
Create a curated list with description, books, and visibility. Lists are shareable via URL.
POST /api/v1/users/jacobc/lists
Authorization: Bearer sk_live_...
{
"name": "Utopian Worlds",
"description": "Sci-fi exploring ideal societies",
"books": ["isbn:0061054887", ...],
"visibility": "public",
"tags": ["sci-fi", "utopia"]
}
PUT
/users/:id/shelf/:book_id
Update reading progress, status, rating, or notes. Partial updates supported.
PUT /api/v1/users/jacobc/shelf/isbn:0441013597
Authorization: Bearer sk_live_...
{
"current_page": 312,
"status": "reading"
}
# Response includes computed progress
{ "progress": 0.55,
"pages_remaining": 256,
"est_days_to_finish": 8 }
GET
/books/:id/similar
Get similar books based on themes, writing style, and community signals. Filter by tags.
GET /api/v1/books/isbn:0061054887/similar
?tags=utopia,feminist
&exclude_read=true
&limit=5
# Excludes books already on user's shelf
# Returns similarity_score + explanation
POST
/users/:id/import
Bulk import from Goodreads CSV, Kindle, Libby, StoryGraph, or raw JSON. Deduplicates by ISBN.
POST /api/v1/users/jacobc/import
Content-Type: multipart/form-data
Authorization: Bearer sk_live_...
source: "goodreads"
file: goodreads_library_export.csv
auto_rate: true # preserve ratings
auto_shelf: true # map shelves to lists
# Response
{ "imported": 247,
"duplicates_skipped": 3,
"lists_created": ["to-read", "favorites"] }