Open Library trending books API

Open Library publishes a daily trending books list on the web, but there is no official JSON endpoint for agents. Trends MCP returns that leaderboard as structured data through one POST call.

Book newsletters, indie publisher lists, and creator channels often watch Open Library's trending page by hand. The site surfaces what readers are checking out today, but there is no supported JSON mirror for cron jobs or AI agents.

Trends MCP exposes the feed as ranked JSON through the same top_trends endpoint used for IMDb MOVIEmeter and GitHub Trending Repos.

Endpoint

POST https://api.trendsmcp.ai/api
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Get today's trending books

{
  "mode": "top_trends",
  "type": "Open Library Trending Books",
  "limit": 25
}

Response shape (Trends MCP API snapshot, June 18 2026):

{
  "as_of_ts": "2026-06-18T04:01:42Z",
  "type": "Open Library Trending Books",
  "limit": 5,
  "offset": 0,
  "count": 5,
  "data": [
    [1, "Atomic Habits — James Clear"],
    [2, "The psychology of money — Henry Clay Lindgren"],
    [3, "All a Woman Wants — Patricia Rice"],
    [4, "Thinking, fast and slow — Daniel Kahneman, Daniel Kahneman"],
    [5, "Rich Dad, Poor Dad — Robert T. Kiyosaki, Sharon L. Lechter"]
  ]
}

Each data row is [rank, title_and_author]. Set limit up to 200. Use offset for pagination.

Code examples

Python

import requests

res = requests.post(
    "https://api.trendsmcp.ai/api",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"mode": "top_trends", "type": "Open Library Trending Books", "limit": 25}
)
books = res.json()
for rank, title in books["data"]:
    print(f"{rank}. {title}")

JavaScript

const res = await fetch("https://api.trendsmcp.ai/api", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    mode: "top_trends",
    type: "Open Library Trending Books",
    limit: 25
  })
});
const books = await res.json();

cURL

curl -s -X POST https://api.trendsmcp.ai/api \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"top_trends","type":"Open Library Trending Books","limit":25}'

Cross-reference with search and Wikipedia signals

A title on Open Library's trending list shows checkout momentum inside that ecosystem. It does not by itself prove broader cultural demand.

After fetching the leaderboard, query Google Search or Wikipedia for the same topic:

import requests

headers = {"Authorization": "Bearer YOUR_API_KEY"}
base = "https://api.trendsmcp.ai/api"

trending = requests.post(base, headers=headers, json={
    "mode": "top_trends",
    "type": "Open Library Trending Books",
    "limit": 10
}).json()

top_title = trending["data"][0][1].split("\u2014")[0].strip()

growth = requests.post(base, headers=headers, json={
    "source": "google search",
    "keyword": top_title,
    "percent_growth": ["3M", "12M"]
}).json()

If Google Search interest is flat while Open Library ranks spike, the story may be library-specific discovery rather than a mainstream breakout. If both move together, editorial teams can treat the title as cross-platform signal.

For entertainment feeds in the same workflow, see the IMDb MOVIEmeter API and the broader culture trend feeds page.

MCP access

In Cursor, Claude, or other MCP clients connected to Trends MCP, ask:

"Using TrendsMCP, show me the Open Library trending books today."

The MCP tool get_top_trends with type: "Open Library Trending Books" returns the same feed.

Request counting

Get Top Trends calls count as one request per feed type per page. A call with limit: 25 and offset: 0 is one request. See pricing for monthly quotas on each plan.

Common questions

Open Library exposes trending books on its website but does not publish a documented JSON API for programmatic access. Trends MCP aggregates that daily leaderboard into the same top_trends response shape used for IMDb MOVIEmeter, GitHub Trending Repos, and other live feeds.
The feed reflects the current daily trending books list at the time of the request. Polling once per day is usually enough for newsletter and editorial workflows.
Yes. After pulling the ranked list, run separate Get Trends calls on Google Search or Wikipedia for the same title or author name. That shows whether library checkout buzz aligns with broader search interest.
Each entry is a rank and title string formatted as book title and author, for example rank 1 might read Atomic Habits followed by the author name. Parse the string or pass it directly to downstream summarization.