Google API: Search Google Books
Searches Google Books by words, author, subject or ISBN, with language, free-ebook and newest-first options. Ratings counts are not shown by the public book feed; newest sorts the available matches by publication date.
Unofficial. Not affiliated with or endorsed by Google.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Order optional
order Order matching books by relevance or newest publication. Example: relevance
relevance (default)
One of
relevance,newest.- Query, required
query Search words, a book title, author name, subject, or ISBN. Example: Atomic Habits
Atomic Habits
- Author optional
author Limit results to an author. Example: James Clear
James Clear
Default
.- Subject optional
subject Limit results to a subject. Example: cooking
(default)
- Language optional
language Book language as a name or two-letter code, or any. Example: English
any (default)
- Max Results optional
max_results Maximum number of books to return, up to 40. Example: 10
10
Whole number from 1 to 40. Default
10.- Free Ebooks Only optional
free_ebooks_only Only return books available to read in full with free access. Example: false
false (default)
True or false.
Input as JSON
{ "query": "Atomic Habits", "author": "James Clear", "max_results": 10}Output
{ "books": [ { "title": "Atomic Habits (Tamil)", "authors": [ "James Clear" ], "isbn_10": "9388241908", "isbn_13": "9789388241908", "subtitle": null, "publisher": "Manjul Publishing", "volume_id": "WmqyDwAAQBAJ", "categories": [ "Self-Help" ], "page_count": 306, "ratings_count": null, "average_rating": null, "published_date": "2023-07-14", "cover_image_link": "https://books.google.com/books/content?id=WmqyDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_gdata" , "google_books_link": "https://books.google.com/books?id=WmqyDwAAQBAJ" , "short_description": "நீங்கள் உங்கள் வாழ்க்கையை மாற்ற விரும்பினால், நீங்கள் பிரம்மாண்டமாக சிந்திக்க வேண்டும் ...", "preview_availability": "partial preview" }, { "title": "Atomic Habits", "authors": [ "James Clear" ], "isbn_10": "1473537800", "isbn_13": "9781473537804", "subtitle": "The life-changing million-copy #1 bestseller", "publisher": "Random House", "volume_id": "fFCjDQAAQBAJ", "categories": [ "Self-Help" ], "page_count": 216, "ratings_count": null, "average_rating": 4, "published_date": "2018-10-18", "cover_image_link": "https://books.google.com/books/content?id=fFCjDQAAQBAJ&printsec=frontcover&img=1&zoom=5&source=gbs_gdata" , "google_books_link": "https://books.google.com/books?id=fFCjDQAAQBAJ" , "short_description": "He calls them atomic habits. In this ground-breaking book, Clears reveals exactly how these minuscule changes can grow into such life-altering outcomes.", "preview_availability": "no preview" }, { "title": "Atomic Habits", "authors": [ "James Clear" ], "isbn_10": "1847941842", "isbn_13": "9781847941848", "subtitle": "An Easy and Proven Way to Build Good Habits and Break Bad Ones", "publisher": "Random House Business Books", "volume_id": "-a5puQEACAAJ", "categories": [], "page_count": 288, "ratings_count": null, "average_rating": null, "published_date": "2019-04-04", "cover_image_link": null, "google_books_link": "https://books.google.com/books?id=-a5puQEACAAJ" , "short_description": "A supremely practical and useful book. James Clear distils the most fundamental information about habit formation, so you can accomplish more by focusing on less.", "preview_availability": "no preview" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"books.google.com/search_books","input":{"query":"Atomic Habits","author":"James Clear","max_results":10}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "books.google.com/search_books" , "input": { "query": "Atomic Habits", "author": "James Clear", "max_results": 10 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "books.google.com/search_books" , "input": { "query": "Atomic Habits", "author": "James Clear", "max_results": 10 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run books.google.com/search_books# with {"query":"Atomic Habits","author":"James Clear","max_results":10}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "order": { "enum": [ "relevance", "newest" ], "type": "string", "default": "relevance", "description": "Order matching books by relevance or newest publication. Example: relevance" }, "query": { "type": "string", "description": "Search words, a book title, author name, subject, or ISBN. Example: Atomic Habits" }, "author": { "type": "string", "default": "", "description": "Limit results to an author. Example: James Clear" }, "subject": { "type": "string", "default": "", "description": "Limit results to a subject. Example: cooking" }, "language": { "type": "string", "default": "any", "description": "Book language as a name or two-letter code, or any. Example: English" }, "max_results": { "type": "integer", "default": 10, "maximum": 40, "minimum": 1, "description": "Maximum number of books to return, up to 40. Example: 10" }, "free_ebooks_only": { "type": "boolean", "default": false, "description": "Only return books available to read in full with free access. Example: false" } }}Output schema
{ "type": "object", "required": [ "books" ], "properties": { "books": { "type": "array", "items": { "type": "object", "required": [ "title", "subtitle", "authors", "publisher", "published_date", "short_description", "page_count", "categories", "average_rating", "ratings_count", "isbn_13", "isbn_10", "preview_availability", "cover_image_link", "google_books_link", "volume_id" ], "properties": { "title": { "type": "string" }, "authors": { "type": "array", "items": { "type": "string" } }, "isbn_10": { "type": [ "string", "null" ] }, "isbn_13": { "type": [ "string", "null" ] }, "subtitle": { "type": [ "string", "null" ] }, "publisher": { "type": [ "string", "null" ] }, "volume_id": { "type": "string" }, "categories": { "type": "array", "items": { "type": "string" } }, "page_count": { "type": [ "integer", "null" ] }, "ratings_count": { "type": [ "integer", "null" ], "description": "Null when the source does not report a ratings count." }, "average_rating": { "type": [ "number", "null" ] }, "published_date": { "type": [ "string", "null" ], "description": "Publication date, as a year or full date." }, "cover_image_link": { "type": [ "string", "null" ] }, "google_books_link": { "type": "string" }, "short_description": { "type": [ "string", "null" ] }, "preview_availability": { "enum": [ "full view", "partial preview", "no preview" ], "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
books.google.com/search_books- Returns
- title, subtitle, authors, publisher, date, description, pages, categories, rating, ISBNs, preview, cover, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method books.google.com/search_books with the inputs above.
Ask your agent
- Find the newest books on machine learning written in Spanish, show me up to 15 with publisher and page count
- What book has ISBN 9780143127741? I need the title, authors, and a cover image
- Search Google Books for free ebooks by Jane Austen that I can read in full
- List 20 cookbooks about Korean cuisine with their descriptions, ratings and preview links
- Use Google to pull up books by Yuval Noah Harari in French, sorted by most recent publication date
See more
All Google methodsLooks up a Google Books book by title or ISBN. Returns its details, reader ratings and the Google Play ebook offer in a chosen country.
books.google.com/get_bookFinds recent Google News articles about a company, person or topic for a country and language, in Google News order, optionally within a time window, with each article's publisher link resolved.
news.google.com/search_newsFinds Google Patents about an invention. Optional filters: inventor, assignee, country, filing date and publication stage. Legal status is the site's estimate.
patents.google.com/search_patentsFinds a place on Google Maps by name and location and returns its public reviews in the chosen order.
google.com/get_place_reviewsFinds places to stay in a city or area for given dates on Google Hotels, with nightly and total prices, hotel class, guest ratings, amenities, address and cheapest booking site. Optional filters for price, stars and rating; vacation rentals are left out. Prices and availability can change.
google.com/search_hotelsFinds Chrome Web Store extensions by keywords in store order, with each listing's developer, users, rating, rating count, short description and store link. Some listings omit developer, users or ratings.
chromewebstore.google.com/search_extensionsFinds Android apps on Google Play by keywords, in Play search order, with each listing's developer, star rating, price and currency for the chosen country, download range and link. Results are limited to apps shown on the public search page.
play.google.com/search_appsFinds a hotel on Google Hotels by name and city and returns its guest reviews in the chosen order, its Google rating and review count, and topic ratings averaged from the returned reviews that rate each topic.
google.com/get_hotel_reviews