# Google Books API

> Search Google Books by keyword and get titles, authors, snippets, publication info and preview links.

Source: https://www.sandbase.ai/apis/google/books
API reference: https://www.sandbase.ai/apis/google/books#api

## Facts

- Provider: Google
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/google/books`
- Price: $0.01 per call
- Capabilities: api, google, books, serp
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/google/books` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `q` | string | yes |  |
| `google_domain` | string | no |  |
| `gl` | string | no |  |
| `hl` | string | no |  |
| `view` | string | no |  |
| `document_type` | string | no |  |
| `start_date` | string | no |  |
| `end_date` | string | no |  |
| `nfpr` | string | no |  |
| `tbs` | string | no |  |
| `start` | string | no |  |
| `device` | string | no |  |
| `json_restrictor` | string | no |  |

## FAQ

### How do I use the Google Books API?

Send a POST request to https://api.sandbase.ai/v1/api/google/books with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the Google Books API cost?

$0.01 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.

### What parameters does the Google Books API accept?

Required: q (string). Optional: google_domain (string), gl (string), hl (string), view (string), document_type (string) and start_date (string) and 6 more. The Parameters table and the Playground on this page list every field.

### What does the Google Books API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a Google developer account or API key?

No. Google Books runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Google API access separately.

## README

### Google Books

Search Google Books by keyword and get titles, authors, snippets, publication info and preview links.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/google/books" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "machine learning"}'
```

The result is returned in `outputs[0].data` as structured JSON.

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `q` | string | Yes | Parameter defines the query you want to search. You can use anything that you would use in a regular Google Books search: a title, an author, a subject, or a quote. Search operators such as `intitle:`, `inauthor:`, `inpublisher:`, `subject: |
| `google_domain` | string | No | Parameter defines the Google domain to use. It defaults to `google.com`. Head to the Google domains page for a full list of supported Google domains. |
| `gl` | string | No | Parameter defines the country to use for the Google Books search. It's a two-letter country code. (e.g., `us` for the United States, `uk` for United Kingdom, or `fr` for France). It defaults to `us`. Head to the Google countries page for a  |
| `hl` | string | No | Parameter defines the language to use for the Google Books search. It's a two-letter language code. (e.g., `en` for English, `es` for Spanish, or `fr` for French). It defaults to `en`. Head to the Google languages page for a full list of su |
| `view` | string | No | Parameter defines how much of the books must be viewable on Google Books. It defaults to any view. Available options: `preview` - Preview and full view `full` - Full view |
| `document_type` | string | No | Parameter defines the type of documents to search. It defaults to any document. Available options: `books` - Books `magazines` - Magazines `newspapers` - Newspapers Newspapers are the scanned newspapers of the Google News Archive. |
| `start_date` | string | No | Parameter defines the earliest publication date of the results. The format is `YYYYMMDD` (e.g., `19690701`). This parameter overrides `cdr` and `cd_min` components of `tbs` parameter. |
| `end_date` | string | No | Parameter defines the latest publication date of the results. The format is `YYYYMMDD` (e.g., `19690731`). This parameter overrides `cdr` and `cd_max` components of `tbs` parameter. |
| `nfpr` | string | No | Parameter defines the exclusion of results from an auto-corrected query when the original query is spelled wrong. It can be set to `1` to exclude these results, or `0` to include them (default). Note that this parameter may not prevent Goog |
| `tbs` | string | No | (to be searched) parameter defines advanced search parameters that aren't possible in the regular query field. `view`, `document_type`, `start_date`, and `end_date` override the corresponding components (e.g., `bkt:s` for newspapers). |
| `start` | string | No | Parameter defines the result offset. It skips the given number of results. It's used for pagination. (e.g., `0` (default) is the first page of results, `10` is the 2nd page of results, `20` is the 3rd page of results, etc.). |
| `device` | string | No | Parameter defines the device to use to get the results. It can be set to `desktop` (default) to use a regular browser, `tablet` to use a tablet browser (currently using iPads), or `mobile` to use a mobile browser. |
| `json_restrictor` | string | No | Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details. |

#### Pricing

$0.010 per successful call. Failed calls are not charged.
