ReadingRate

ReadingRate for Developers

Book intelligence — difficulty scores, literary regard, reading-time estimates — for your apps and agents. Catalog reads are free and need no API key. Personal reading data flows through the MCP server behind OAuth.

Public API

Two read-only endpoints, no authentication, CORS-open. The contract is the OpenAPI 3.1 spec at /openapi.json.

Get one book

curl https://readingrate.com/api/v1/books/blood-meridian

Returns title, authors, difficulty (0–100 composite with per-dimension breakdown), literary regard, word count, reading time, genres, and edition facts. Unknown slugs are a real HTTP 404.

Search the catalog

curl "https://readingrate.com/api/v1/search?q=in+search+of+lost+time&limit=5"

Fuzzy title/author search; results carry the slugs to feed into the book endpoint. Start at /api/v1 for a machine-readable index.

MCP server

The Model Context Protocol server at https://mcp.readingrate.com/mcp serves the same book intelligence as tools, plus — after OAuth sign-in — personal tools: log reading sessions, save quotes, query your own analytics. Install guide: mcp.readingrate.com/install.

Authorization is OAuth 2.0 with PKCE and dynamic client registration. Discovery documents: authorization server metadata · protected resource metadata (RFC 9728).

ScopeGrants
catalog:readPublic book intelligence: difficulty, regard, metadata, awards
user:readThe signed-in reader's library, logs, quotes, analytics
user:writeLog reading, save quotes, update the reader's library

Content for agents

Rate limits

The public API allows approximately 120 requests per minute per IP. Every /api/v1 response carries the standard fields — RateLimit-Policy: 120;w=60, plus RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset — so agents can self-throttle in real time. Past the limit you get a 429 with Retry-After in seconds. Counters are approximate ("about 120"): enforcement is per-IP with an eventually-consistent store, tuned to stop accidental hammering, not to shave legitimate use.

Versioning and deprecation

The API is versioned in the URL path (/api/v1). Within a version, changes are additive only — new fields may appear, existing fields keep their names, types, and meaning. Breaking changes ship as a new path (/api/v2), never in place.

If a version is ever retired: it keeps working for at least six months after its replacement ships, its responses carry Deprecation and Sunset headers with the removal date for that whole period, and the timeline is announced here and in llms.txt. No version has ever been deprecated; there is currently no sunset planned for v1.

Fair use

The read endpoints are a free tier, self-serve, no sign-up. Cache responses (they carry cache headers), keep request rates polite, and attribute scores to ReadingRate with a link to the book page. For anything heavier, talk to us.