# Books API API

> Books API API on Apizie: 51 endpoints (Retrieves metadata for a specific bookshelf for the specified user., Retrieves a list of public bookshelves for the specified user., Retrieves volumes in a specific bookshelf for the specified user., Add a user-upload volume and triggers processing., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-books/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-books`
- Category: Analytics
- Status: byok
- Source: https://code.google.com/apis/books/docs/v1/getting_started.html
- Page: https://zieapi.vercel.app/api/analytics/googleapis-books
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-books/openapi.json

The Google Books API allows clients to access the Google Books repository.

## Endpoints

### Retrieves metadata for a specific bookshelf for the specified user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-bookshelves-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| shelf | string | yes | ID of bookshelf to retrieve. |
| source | string | no | String to identify the originator of this request. |
| userId | string | yes | ID of user for whom to retrieve bookshelves. |

### Retrieves a list of public bookshelves for the specified user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-bookshelves-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| source | string | no | String to identify the originator of this request. |
| userId | string | yes | ID of user for whom to retrieve bookshelves. |

### Retrieves volumes in a specific bookshelf for the specified user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-bookshelves-volumes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| maxResults | integer | no | Maximum number of results to return |
| shelf | string | yes | ID of bookshelf to retrieve volumes. |
| showPreorders | boolean | no | Set to true to show pre-ordered books. Defaults to false. |
| source | string | no | String to identify the originator of this request. |
| startIndex | integer | no | Index of the first element to return (starts at 0) |
| userId | string | yes | ID of user for whom to retrieve bookshelf volumes. |

### Add a user-upload volume and triggers processing.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-cloudloading-add-book` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| drive_document_id | string | no | A drive document id. The upload_client_token must not be set. |
| mime_type | string | no | The document MIME type. It can be set only if the drive_document_id is set. |
| name | string | no | The document name. It can be set only if the drive_document_id is set. |
| upload_client_token | string | no | Scotty upload token. |

### Remove the book and its contents
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-cloudloading-delete-book` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| volumeId | string | yes | The id of the book to be removed. |

### Updates a user-upload volume.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-cloudloading-update-book` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Returns a list of offline dictionary metadata available
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-dictionary-list-offline-metadata` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cpksver | string | yes | The device/version ID from which to request the data. |

### Gets information regarding the family that the user is part of.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-familysharing-get-family-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| source | string | no | String to identify the originator of this request. |

### Initiates sharing of the content with the user's family. Empty response indicates success.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-familysharing-share` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| docId | string | no | The docid to share. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | no | The volume to share. |

### Initiates revoking content that has already been shared with the user's family. Empty response indicates…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-familysharing-unshare` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| docId | string | no | The docid to unshare. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | no | The volume to unshare. |

### Gets the layer summary for a volume.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-layers-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contentVersion | string | no | The content version for the requested volume. |
| source | string | no | String to identify the originator of this request. |
| summaryId | string | yes | The ID for the layer to get the summary for. |
| volumeId | string | yes | The volume to retrieve layers for. |

### List the layer summaries for a volume.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-layers-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contentVersion | string | no | The content version for the requested volume. |
| maxResults | integer | no | Maximum number of results to return |
| pageToken | string | no | The value of the nextToken from the previous page. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | The volume to retrieve layers for. |

### Gets the annotation data.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-layers-annotation-data-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| allowWebDefinitions | boolean | no | For the dictionary layer. Whether or not to allow web definitions. |
| annotationDataId | string | yes | The ID of the annotation data to retrieve. |
| contentVersion | string | yes | The content version for the volume you are trying to retrieve. |
| h | integer | no | The requested pixel height for any images. If height is provided width must also be provided. |
| layerId | string | yes | The ID for the layer to get the annotations. |
| locale | string | no | The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. |
| scale | integer | no | The requested scale for the image. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | The volume to retrieve annotations for. |
| w | integer | no | The requested pixel width for any images. If width is provided height must also be provided. |

### Gets the annotation data for a volume and layer.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-layers-annotation-data-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| annotationDataId | string | no | The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set. |
| contentVersion | string | yes | The content version for the requested volume. |
| h | integer | no | The requested pixel height for any images. If height is provided width must also be provided. |
| layerId | string | yes | The ID for the layer to get the annotation data. |
| locale | string | no | The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. |
| maxResults | integer | no | Maximum number of results to return |
| pageToken | string | no | The value of the nextToken from the previous page. |
| scale | integer | no | The requested scale for the image. |
| source | string | no | String to identify the originator of this request. |
| updatedMax | string | no | RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). |
| updatedMin | string | no | RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). |
| volumeId | string | yes | The volume to retrieve annotation data for. |
| w | integer | no | The requested pixel width for any images. If width is provided height must also be provided. |

### Gets the volume annotation.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-layers-volume-annotations-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| annotationId | string | yes | The ID of the volume annotation to retrieve. |
| layerId | string | yes | The ID for the layer to get the annotations. |
| locale | string | no | The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | The volume to retrieve annotations for. |

### Gets the volume annotations for a volume and layer.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-layers-volume-annotations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contentVersion | string | yes | The content version for the requested volume. |
| endOffset | string | no | The end offset to end retrieving data from. |
| endPosition | string | no | The end position to end retrieving data from. |
| layerId | string | yes | The ID for the layer to get the annotations. |
| locale | string | no | The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. |
| maxResults | integer | no | Maximum number of results to return |
| pageToken | string | no | The value of the nextToken from the previous page. |
| showDeleted | boolean | no | Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false. |
| source | string | no | String to identify the originator of this request. |
| startOffset | string | no | The start offset to start retrieving data from. |
| startPosition | string | no | The start position to start retrieving data from. |
| updatedMax | string | no | RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). |
| updatedMin | string | no | RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). |
| volumeAnnotationsVersion | string | no | The version of the volume annotations that you are requesting. |
| volumeId | string | yes | The volume to retrieve annotations for. |

### Gets the current settings for the user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-myconfig-get-user-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | no | Unused. Added only to workaround TEX mandatory request template requirement |

### Release downloaded content access restriction.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-myconfig-release-download-access` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cpksver | string | yes | The device/version ID from which to release the restriction. |
| locale | string | no | ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. |
| source | string | no | String to identify the originator of this request. |
| volumeIds | string | yes | The volume(s) to release restrictions for. |

### Request concurrent and download access restrictions.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-myconfig-request-access` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cpksver | string | yes | The device/version ID from which to request the restrictions. |
| licenseTypes | string | no | The type of access license to request. If not specified, the default is BOTH. |
| locale | string | no | ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. |
| nonce | string | yes | The client nonce value. |
| source | string | yes | String to identify the originator of this request. |
| volumeId | string | yes | The volume to request concurrent/download restrictions for. |

### Request downloaded content access for specified volumes on the My eBooks shelf.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-myconfig-sync-volume-licenses` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cpksver | string | yes | The device/version ID from which to release the restriction. |
| features | string | no | List of features supported by the client, i.e., 'RENTALS' |
| includeNonComicsSeries | boolean | no | Set to true to include non-comics series. Defaults to false. |
| locale | string | no | ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. |
| nonce | string | yes | The client nonce value. |
| showPreorders | boolean | no | Set to true to show pre-ordered books. Defaults to false. |
| source | string | yes | String to identify the originator of this request. |
| volumeIds | string | no | The volume(s) to request download restrictions for. |

### Sets the settings for the user. If a sub-object is specified, it will overwrite the existing sub-object…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-myconfig-update-user-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Updates an existing annotation.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-annotations-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| annotationId | string | yes | The ID for the annotation to update. |
| source | string | no | String to identify the originator of this request. |
| body | object | yes | JSON request body |

### Deletes an annotation.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-annotations-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| annotationId | string | yes | The ID for the annotation to delete. |
| source | string | no | String to identify the originator of this request. |

### Retrieves a list of annotations, possibly filtered.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-annotations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contentVersion | string | no | The content version for the requested volume. |
| layerId | string | no | The layer ID to limit annotation by. |
| layerIds | string | no | The layer ID(s) to limit annotation by. |
| maxResults | integer | no | Maximum number of results to return |
| pageToken | string | no | The value of the nextToken from the previous page. |
| showDeleted | boolean | no | Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false. |
| source | string | no | String to identify the originator of this request. |
| updatedMax | string | no | RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). |
| updatedMin | string | no | RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). |
| volumeId | string | no | The volume to restrict annotations to. |

### Inserts a new annotation.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-annotations-insert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| annotationId | string | no | The ID for the annotation to insert. |
| country | string | no | ISO-3166-1 code to override the IP-based location. |
| showOnlySummaryInResponse | boolean | no | Requests that only the summary of the specified layer be provided in the response. |
| source | string | no | String to identify the originator of this request. |
| body | object | yes | JSON request body |

### Gets the summary of specified layers.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-annotations-summary` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| layerIds | string | yes | Array of layer IDs to get the summary for. |
| source | string | no | Optional. String to identify the originator of this request. |
| volumeId | string | yes | Volume id to get the summary for. |

### Adds a volume to a bookshelf.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-add-volume` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| reason | string | no | The reason for which the book is added to the library. |
| shelf | string | yes | ID of bookshelf to which to add a volume. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | ID of volume to add. |

### Clears all volumes from a bookshelf.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-clear-volumes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| shelf | string | yes | ID of bookshelf from which to remove a volume. |
| source | string | no | String to identify the originator of this request. |

### Retrieves metadata for a specific bookshelf belonging to the authenticated user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| shelf | string | yes | ID of bookshelf to retrieve. |
| source | string | no | String to identify the originator of this request. |

### Retrieves a list of bookshelves belonging to the authenticated user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| source | string | no | String to identify the originator of this request. |

### Moves a volume within a bookshelf.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-move-volume` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| shelf | string | yes | ID of bookshelf with the volume. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | ID of volume to move. |
| volumePosition | integer | yes | Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.) |

### Removes a volume from a bookshelf.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-remove-volume` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| reason | string | no | The reason for which the book is removed from the library. |
| shelf | string | yes | ID of bookshelf from which to remove a volume. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | ID of volume to remove. |

### Gets volume information for volumes on a bookshelf.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-bookshelves-volumes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | no | ISO-3166-1 code to override the IP-based location. |
| maxResults | integer | no | Maximum number of results to return |
| projection | string | no | Restrict information returned to a set of selected fields. |
| q | string | no | Full-text search query string in this bookshelf. |
| shelf | string | yes | The bookshelf ID or name retrieve volumes for. |
| showPreorders | boolean | no | Set to true to show pre-ordered books. Defaults to false. |
| source | string | no | String to identify the originator of this request. |
| startIndex | integer | no | Index of the first element to return (starts at 0) |

### Retrieves my reading position information for a volume.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-readingpositions-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contentVersion | string | no | Volume content version for which this reading position is requested. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | ID of volume for which to retrieve a reading position. |

### Sets my reading position information for a volume.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-mylibrary-readingpositions-set-position` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | no | Action that caused this reading position to be set. |
| contentVersion | string | no | Volume content version for which this reading position applies. |
| deviceCookie | string | no | Random persistent device cookie optional on set position. |
| position | string | yes | Position string for the new volume reading position. |
| source | string | no | String to identify the originator of this request. |
| timestamp | string | yes | RFC 3339 UTC format timestamp associated with this reading position. |
| volumeId | string | yes | ID of volume for which to update the reading position. |

### Returns notification details for a given notification id.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-notification-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body. |
| notification_id | string | yes | String to identify the notification. |
| source | string | no | String to identify the originator of this request. |

### List categories for onboarding experience.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-onboarding-list-categories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset. |

### List available volumes under categories for onboarding experience.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-onboarding-list-category-volumes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| categoryId | string | no | List of category ids requested. |
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset. |
| maxAllowedMaturityRating | string | no | The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out. |
| pageSize | integer | no | Number of maximum results per page to be included in the response. |
| pageToken | string | no | The value of the nextToken from the previous page. |

### Returns a stream of personalized book clusters
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-personalizedstream-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. |
| maxAllowedMaturityRating | string | no | The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. |
| source | string | no | String to identify the originator of this request. |

### Accepts the promo offer.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-promooffer-accept` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| androidId | string | no | device android_id |
| device | string | no | device device |
| manufacturer | string | no | device manufacturer |
| model | string | no | device model |
| offerId | string | no |  |
| product | string | no | device product |
| serial | string | no | device serial |
| volumeId | string | no | Volume id to exercise the offer |

### Marks the promo offer as dismissed.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-promooffer-dismiss` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| androidId | string | no | device android_id |
| device | string | no | device device |
| manufacturer | string | no | device manufacturer |
| model | string | no | device model |
| offerId | string | no | Offer to dimiss |
| product | string | no | device product |
| serial | string | no | device serial |

### Returns a list of promo offers available to the user
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-promooffer-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| androidId | string | no | device android_id |
| device | string | no | device device |
| manufacturer | string | no | device manufacturer |
| model | string | no | device model |
| product | string | no | device product |
| serial | string | no | device serial |

### Returns Series metadata for the given series ids.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-series-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| series_id | string | yes | String that identifies the series |

### Returns Series membership data given the series id.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-series-membership-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page_size | integer | no | Number of maximum results per page to be included in the response. |
| page_token | string | no | The value of the nextToken from the previous page. |
| series_id | string | yes | String that identifies the series |

### Gets volume information for a single volume.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | no | ISO-3166-1 code to override the IP-based location. |
| includeNonComicsSeries | boolean | no | Set to true to include non-comics series. Defaults to false. |
| partner | string | no | Brand results for partner ID. |
| projection | string | no | Restrict information returned to a set of selected fields. |
| source | string | no | string to identify the originator of this request. |
| user_library_consistent_read | boolean | no |  |
| volumeId | string | yes | ID of volume to retrieve. |

### Performs a book search.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| download | string | no | Restrict to volumes by download availability. |
| filter | string | no | Filter search results. |
| langRestrict | string | no | Restrict results to books with this language code. |
| libraryRestrict | string | no | Restrict search to this user's library. |
| maxAllowedMaturityRating | string | no | The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. |
| maxResults | integer | no | Maximum number of results to return. |
| orderBy | string | no | Sort search results. |
| partner | string | no | Restrict and brand results for partner ID. |
| printType | string | no | Restrict to books or magazines. |
| projection | string | no | Restrict information returned to a set of selected fields. |
| q | string | yes | Full-text search query string. |
| showPreorders | boolean | no | Set to true to show books available for preorder. Defaults to false. |
| source | string | no | String to identify the originator of this request. |
| startIndex | integer | no | Index of the first result to return (starts at 0) |

### Return a list of associated books.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-associated-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| association | string | no | Association type. |
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. |
| maxAllowedMaturityRating | string | no | The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | ID of the source volume. |

### Return a list of books in My Library.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-mybooks-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| acquireMethod | string | no | How the book was acquired |
| country | string | no | ISO-3166-1 code to override the IP-based location. |
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations. |
| maxResults | integer | no | Maximum number of results to return. |
| processingState | string | no | The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod. |
| source | string | no | String to identify the originator of this request. |
| startIndex | integer | no | Index of the first result to return (starts at 0) |

### Return a list of recommended books for the current user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-recommended-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. |
| maxAllowedMaturityRating | string | no | The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. |
| source | string | no | String to identify the originator of this request. |

### Rate a recommended book for the current user.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-recommended-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. |
| rating | string | yes | Rating to be given to the volume. |
| source | string | no | String to identify the originator of this request. |
| volumeId | string | yes | ID of the source volume. |

### Return a list of books uploaded by the current user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-volumes-useruploaded-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | string | no | ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. |
| maxResults | integer | no | Maximum number of results to return. |
| processingState | string | no | The processing state of the user uploaded volumes to be returned. |
| source | string | no | String to identify the originator of this request. |
| startIndex | integer | no | Index of the first result to return (starts at 0) |
| volumeId | string | no | The ids of the volumes to be returned. If not specified all that match the processingState are returned. |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-books/books-bookshelves-get" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Books API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/analytics:googleapis-books/books-bookshelves-get with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Books API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Books API itself also needs your own key from googleapis.com.

### Can AI agents use the Books API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-books.

### What is the status of the Books API API?
Needs your own provider key (bring your own key)
