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.
POST https://api.trendsmcp.ai/api
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"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.
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}'
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.
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.
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.
FAQ