# Google Books API

> Google Books returns book search results, book details, ratings, and ebook offers as a workflow and API.

Google Books Search, also called Google Book Search, finds books by words, title, author, subject, or ISBN and can filter by language or free access. Get book returns details and reader ratings for a title or ISBN, with ebook availability and local pricing based on the selected country.

- Page: https://fous.com/tools/google-books
- Handle: `@google-books`
- Category: [Education](https://fous.com/tools/category/education)
- Source website: https://books.google.com
- Last verified: Sep 29, 2026

## Methods

### Get book

Operation `get_book`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a Google Books book’s details, reader ratings and ebook offer in a country from its title or ISBN. An ebook price is shown only when Google Play Books lists a local offer; some books or countries have no offer.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `book` | string | yes | `"9780399590511"` | Book title or ISBN, for example Educated or 9780399590511. |
| `author` | string | no | `"Tara Westover"` | Author to narrow down the book, for example Tara Westover. |
| `country` | string | no | `"United States"` | Country for ebook sale and price, such as United States or US. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "book"
  ],
  "properties": {
    "book": {
      "type": "string",
      "description": "Book title or ISBN, for example Educated or 9780399590511.",
      "examples": [
        "9780399590511",
        "Educated"
      ]
    },
    "author": {
      "type": "string",
      "default": "",
      "description": "Author to narrow down the book, for example Tara Westover.",
      "examples": [
        "Tara Westover"
      ]
    },
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Country for ebook sale and price, such as United States or US.",
      "examples": [
        "United States",
        "United Kingdom"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "book": "9780399590511",
      "country": "United States"
    },
    {
      "book": "Educated",
      "author": "Tara Westover",
      "country": "United States"
    },
    {
      "book": "Educated",
      "author": "Tara Westover",
      "country": "United Kingdom"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `title` | string or null | `"Educated"` | Book title. |
| `authors` | array or null |  | Book authors. |
| `isbn_10` | string or null | `"039959051X"` | Ten-digit ISBN, if listed. |
| `isbn_13` | string or null | `"9780399590511"` | Thirteen-digit ISBN, if listed. |
| `buy_link` | string or null | `"https://play.google.com/store/books/details?id=2ObWDgAAQBAJ&gl=US"` | Link to the Google Play ebook offer, if for sale. |
| `language` | string or null | `"English"` | Language of the book, if listed. |
| `subtitle` | string or null | `"A Memoir"` | Book subtitle, if listed. |
| `publisher` | string or null | `"Random House Publishing Group"` | Publisher name. |
| `volume_id` | string or null | `"2ObWDgAAQBAJ"` | Google Books volume ID. |
| `categories` | array or null |  | Book subjects or categories. |
| `page_count` | integer or null | `352` | Number of pages. |
| `description` | string or null |  | Full listed book description as plain text. |
| `ebook_price` | object or null |  | Local ebook price and currency, or null if not for sale. |
| `ebook_price.amount` | number | `9.99` | Price as a number. |
| `ebook_price.currency_code` | string | `"USD"` | ISO currency code. |
| `ratings_count` | integer or null | `548` | Number of reader ratings, if available. |
| `average_rating` | number or null | `4.72` | Average reader rating out of five, if available. |
| `ebook_for_sale` | boolean or null | `true` | Whether Google Play Books offers the ebook in the selected country. |
| `published_date` | string or null | `"2018-02-20"` | Publication date in YYYY-MM-DD, when a full date is listed. |
| `cover_image_link` | string or null | `"https://books.google.com/books/publisher/content?id=2ObWDgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&imgtk=AFLRE` | Cover image link, if available. |
| `google_books_link` | string or null | `"https://books.google.com/books?id=2ObWDgAAQBAJ"` | Google Books page link. |
| `preview_availability` | string or null | `"Limited preview"` | Preview availability in words. |

**Example input**

```json
{
  "book": "9780399590511",
  "country": "United States"
}
```

**Example output**

```json
{
  "title": "Educated",
  "authors": [
    "Tara Westover"
  ],
  "isbn_10": "039959051X",
  "isbn_13": "9780399590511",
  "buy_link": "https://play.google.com/store/books/details?id=2ObWDgAAQBAJ&gl=US",
  "language": "English",
  "subtitle": "A Memoir",
  "publisher": "Random House Publishing Group",
  "volume_id": "2ObWDgAAQBAJ",
  "categories": [
    "Biography & Autobiography",
    "Women",
    "Biography & Autobiography / Memoirs"
  ],
  "page_count": 352,
  "description": "#1 NEW YORK TIMES BESTSELLER WITH FOUR MILLION COPIES SOLD • “A heartbreaking, heartwarming, best-in-years memoir about striding beyond the limitations of birth and environment into a better life.”— U…",
  "ebook_price": {
    "amount": 9.99,
    "currency_code": "USD"
  },
  "ratings_count": 548,
  "average_rating": 4.72,
  "ebook_for_sale": true,
  "published_date": "2018-02-20",
  "cover_image_link": "https://books.google.com/books/publisher/content?id=2ObWDgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&imgtk=AFLRE705tDsztAn5PXJ5nRm-iapAJYEnM7WUpNZRfgae3y3LguwIN57LV4uNHU64CNLfmKnNyLfCoMGv-50M_P…",
  "google_books_link": "https://books.google.com/books?id=2ObWDgAAQBAJ",
  "preview_availability": "Limited preview"
}
```

### Search books

Operation `search_books`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Search Google Books by words, author, subject, or ISBN, with language, free-ebook, and publication-order options. Ratings counts are not shown by the public book feed; newest sorts the available matches by publication date.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `order` | string | no | `"newest"` | Order matching books by relevance or newest publication. Example: relevance |
| `query` | string | yes | `"9780735211292"` | Search words, a book title, author name, subject, or ISBN. Example: Atomic Habits |
| `author` | string | no | `"James Clear"` | Limit results to an author. Example: James Clear |
| `subject` | string | no | `"cooking"` | Limit results to a subject. Example: cooking |
| `language` | string | no | `"English"` | Book language as a name or two-letter code, or any. Example: English |
| `max_results` | integer | no | `3` | Maximum number of books to return, up to 40. Example: 10 |
| `free_ebooks_only` | boolean | no | `true` | Only return books available to read in full with free access. Example: false |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "order": {
      "enum": [
        "relevance",
        "newest"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Order matching books by relevance or newest publication. Example: relevance",
      "examples": [
        "newest"
      ]
    },
    "query": {
      "type": "string",
      "description": "Search words, a book title, author name, subject, or ISBN. Example: Atomic Habits",
      "examples": [
        "9780735211292",
        "Atomic Habits",
        "zzzxxyy123456789notabook"
      ]
    },
    "author": {
      "type": "string",
      "default": "",
      "description": "Limit results to an author. Example: James Clear",
      "examples": [
        "James Clear"
      ]
    },
    "subject": {
      "type": "string",
      "default": "",
      "description": "Limit results to a subject. Example: cooking",
      "examples": [
        "cooking"
      ]
    },
    "language": {
      "type": "string",
      "default": "any",
      "description": "Book language as a name or two-letter code, or any. Example: English",
      "examples": [
        "English"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 10,
      "maximum": 40,
      "minimum": 1,
      "description": "Maximum number of books to return, up to 40. Example: 10",
      "x-fous-developer": true,
      "examples": [
        3,
        10,
        4
      ]
    },
    "free_ebooks_only": {
      "type": "boolean",
      "default": false,
      "description": "Only return books available to read in full with free access. Example: false",
      "examples": [
        true
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "9780735211292",
      "max_results": 3
    },
    {
      "query": "Atomic Habits",
      "author": "James Clear",
      "max_results": 10
    },
    {
      "query": "zzzxxyy123456789notabook",
      "max_results": 4
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `books` | array |  |  |
| `books[].title` | string | `"Atomic Habits"` |  |
| `books[].authors` | array |  |  |
| `books[].isbn_10` | string or null | `"0735211299"` |  |
| `books[].isbn_13` | string or null | `"9780735211292"` |  |
| `books[].subtitle` | string or null | `"An Easy & Proven Way to Build Good Habits & Break Bad Ones"` |  |
| `books[].publisher` | string or null | `"Penguin"` |  |
| `books[].volume_id` | string | `"XfFvDwAAQBAJ"` |  |
| `books[].categories` | array |  |  |
| `books[].page_count` | integer or null | `321` |  |
| `books[].ratings_count` | integer or null |  | Null when the source does not report a ratings count. |
| `books[].average_rating` | number or null | `3.86` |  |
| `books[].published_date` | string or null | `"2018-10-16"` | Publication date, as a year or full date. |
| `books[].cover_image_link` | string or null | `"https://books.google.com/books/content?id=XfFvDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_gdata"` |  |
| `books[].google_books_link` | string | `"https://books.google.com/books?id=XfFvDwAAQBAJ"` |  |
| `books[].short_description` | string or null | `"Atomic Habits will reshape the way you think about progress and success, and give you the tools and strategies you need` |  |
| `books[].preview_availability` | string | `"partial preview"` |  |

**Example input**

```json
{
  "query": "9780735211292",
  "max_results": 3
}
```

**Example output**

```json
{
  "books": [
    {
      "title": "Atomic Habits",
      "authors": [
        "James Clear"
      ],
      "isbn_10": "0735211299",
      "isbn_13": "9780735211292",
      "subtitle": "An Easy & Proven Way to Build Good Habits & Break Bad Ones",
      "publisher": "Penguin",
      "volume_id": "XfFvDwAAQBAJ",
      "categories": [
        "Business & Economics"
      ],
      "page_count": 321,
      "ratings_count": null,
      "average_rating": 3.86,
      "published_date": "2018-10-16",
      "cover_image_link": "https://books.google.com/books/content?id=XfFvDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_gdata",
      "google_books_link": "https://books.google.com/books?id=XfFvDwAAQBAJ",
      "short_description": "Atomic Habits will reshape the way you think about progress and success, and give you the tools and strategies you need to transform your habits--whether you are a team looking to win a championship, …",
      "preview_availability": "partial preview"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@google-books",
  "visibility": "public",
  "operation": "get_book",
  "version": 1,
  "input": {
    "book": "9780399590511",
    "country": "United States"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@google-books\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_book\",\n  \"version\": 1,\n  \"input\": {\n    \"book\": \"9780399590511\",\n    \"country\": \"United States\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@google-books",
  "visibility": "public",
  "operation": "get_book",
  "version": 1,
  "input": {
    "book": "9780399590511",
    "country": "United States"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/google-books`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_book`: Get book. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_books`: Search books. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-google-books https://api.fous.com/mcp/tools/google-books --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find books by title, author, subject, or ISBN
- Build a reading list from matching titles and authors
- Compare book publication dates, categories, and page counts
- Check reader ratings for a specific book
- Check ebook availability and local prices by country

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Google Books tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Google Books account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from books.google.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### How can I find books by author or subject?

Use Search books with a required query and optional author or subject filters.

### How can I get a book’s details and ratings?

Use Get book with a title or ISBN; add an author to narrow down the match.

### Can I check ebook prices by country?

Use Get book and provide a country. Prices appear only when a local Google Play Books offer is listed.

## Related

- [Goodreads API](https://fous.com/tools/goodreads.md): Goodreads returns public book searches, matched-book details with variable editions, popular or newest reviews, author books by popularity or date, and up to 100 quotes.
- [Project Gutenberg API](https://fous.com/tools/project-gutenberg.md): Project Gutenberg offers free public-domain ebooks and reading materials, with searchable book details and plain text from the most-downloaded matching edition available.
- [Open Library API](https://fous.com/tools/open-library.md): Open Library returns book search results, catalog details, and author works; availability reflects listed editions, not current loan availability, and catalog details may be missing.
- [Google Search API](https://fous.com/tools/google-search.md): Google Search returns public web, image, job, event, related-question, and autocomplete results in Google’s order, with answers and details when available; results may be fewer, omit information, or be empty.
- [Audible API](https://fous.com/tools/audible.md): Audible offers audiobooks, podcasts, and audio entertainment, with public book details and current bestselling audiobook charts; availability and categories vary by store.
- [Google Shopping API](https://fous.com/tools/google-shopping.md): Google Shopping shows product offers, prices, ratings, delivery and store links; results vary by country and listings, totals need shown shipping, and typical ranges may be missing.
- [OverDrive API](https://fous.com/tools/overdrive.md): Find ebooks and audiobooks at public libraries.
- [Google Patents API](https://fous.com/tools/google-patents.md): Google Patents searches public records and provides patent details and company summaries; legal status is estimated, and citations, claims, and company breakdowns have record limits.
- [All Education tools](https://fous.com/tools/category/education)
