Google Books Onboarding API

The Onboarding API from Google Books — 2 operation(s) for onboarding.

GitHub OpenAPI

Operations 2

GET /books/v1/onboarding/listCategories List categories onboarding #
GET /books/v1/onboarding/listCategoryVolumes List category volumes onboarding #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-books:google-books-onboarding-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-books-onboarding-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Books API Onboarding API
  version: v1
  description: Generated from Google's published Discovery document for Books API (books v1, revision 20261105). 2 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
externalDocs:
  url: https://code.google.com/apis/books/docs/v1/getting_started.html
servers:
- url: https://books.googleapis.com
paths:
  /books/v1/onboarding/listCategories:
    get:
      operationId: books.onboarding.listCategories
      summary: List categories onboarding
      description: List categories for onboarding experience.
      parameters:
      - name: locale
        in: query
        required: false
        description: ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
        4XX:
          content: &id001
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id001
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/books
      - apiKey: []
      tags:
      - Onboarding
  /books/v1/onboarding/listCategoryVolumes:
    get:
      operationId: books.onboarding.listCategoryVolumes
      summary: List category volumes onboarding
      description: List available volumes under categories for onboarding experience.
      parameters:
      - name: categoryId
        in: query
        required: false
        description: List of category ids requested.
        schema:
          type: array
          items:
            type: string
      - name: locale
        in: query
        required: false
        description: ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.
        schema:
          type: string
      - name: maxAllowedMaturityRating
        in: query
        required: false
        description: The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered
          out.
        schema:
          type: string
          enum:
          - MAX_ALLOWED_MATURITY_RATING_UNDEFINED
          - MATURE
          - not-mature
      - name: pageSize
        in: query
        required: false
        description: Number of maximum results per page to be included in the response.
        schema:
          type: integer
          format: uint32
      - name: pageToken
        in: query
        required: false
        description: The value of the nextToken from the previous page.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Volume2'
        4XX:
          content: &id002
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id002
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/books
      - apiKey: []
      tags:
      - Onboarding
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: API key; accepted by methods that do not need user data.
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/books: Manage your books
  schemas:
    Category:
      properties:
        items:
          items:
            type: object
            properties:
              badgeUrl:
                type: string
              categoryId:
                type: string
              name:
                type: string
          description: A list of onboarding categories.
          type: array
        kind:
          description: Resource type.
          type: string
      type: object
    DownloadAccessRestriction:
      type: object
      properties:
        restricted:
          type: boolean
          description: Whether this volume has any download access restrictions.
        deviceAllowed:
          type: boolean
          description: If restricted, whether access is granted for this (user, device, volume).
        nonce:
          description: Client nonce for verification. Download access and client-validation only.
          type: string
        source:
          description: Client app identifier for verification. Download access and client-validation only.
          type: string
        maxDownloadDevices:
          description: If restricted, the maximum number of content download licenses for this volume.
          type: integer
          format: int32
        volumeId:
          description: Identifies the volume for which this entry applies.
          type: string
        reasonCode:
          description: Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT
            101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
          type: string
        downloadsAcquired:
          format: int32
          description: If restricted, the number of content download licenses already acquired (including the requesting client,
            if licensed).
          type: integer
        justAcquired:
          description: If deviceAllowed, whether access was just acquired with this request.
          type: boolean
        kind:
          description: Resource type.
          type: string
        signature:
          description: Response signature.
          type: string
        message:
          type: string
          description: Error/warning message.
    GoogleRpcError:
      type: object
      description: The error envelope every Google API returns.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            status:
              type: string
            details:
              type: array
              items:
                type: object
    ReadingPosition:
      type: object
      properties:
        gbTextPosition:
          type: string
          description: Position in a volume for text-based content.
        volumeId:
          description: Volume id associated with this reading position.
          type: string
        gbImagePosition:
          type: string
          description: Position in a volume for image-based content.
        updated:
          description: Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
          type: string
        pdfPosition:
          type: string
          description: Position in a PDF file.
        epubCfiPosition:
          description: Position in an EPUB as a CFI.
          type: string
        kind:
          description: Resource type for a reading position.
          type: string
    Review:
      properties:
        author:
          type: object
          properties:
            displayName:
              type: string
              description: Name of this person.
          description: Author of this review.
        kind:
          description: Resource type for a review.
          type: string
        content:
          description: Review text.
          type: string
        type:
          description: Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
          type: string
        volumeId:
          description: Volume that this review is for.
          type: string
        source:
          description: Information regarding the source of this review, when the review is not from a Google Books user.
          properties:
            description:
              type: string
              description: Name of the source.
            url:
              description: URL of the source of the review.
              type: string
            extraDescription:
              type: string
              description: Extra text about the source of the review.
          type: object
        fullTextUrl:
          description: URL for the full review text, for reviews gathered from the web.
          type: string
        title:
          type: string
          description: Title for this review.
        date:
          type: string
          description: Date of this review.
        rating:
          description: Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
          type: string
      type: object
    Volume:
      type: object
      properties:
        kind:
          description: Resource type for a volume. (In LITE projection.)
          type: string
        userInfo:
          properties:
            isPurchased:
              description: Whether or not this volume was purchased by the authenticated user making the request. (In LITE
                projection.)
              type: boolean
            isFamilySharingDisabledByFop:
              description: 'Deprecated: Replaced by familySharing.'
              type: boolean
            isFamilySharingAllowed:
              description: 'Deprecated: Replaced by familySharing.'
              type: boolean
            copy:
              properties:
                updated:
                  type: string
                allowedCharacterCount:
                  type: integer
                  format: int32
                limitType:
                  type: string
                remainingCharacterCount:
                  format: int32
                  type: integer
              type: object
              description: Copy/Paste accounting information.
            isUploaded:
              type: boolean
              description: Whether or not this volume was user uploaded.
            acquisitionType:
              description: How this volume was acquired.
              type: integer
              format: int32
            isInMyBooks:
              type: boolean
              description: Whether or not this volume is currently in "my books."
            review:
              $ref: '#/components/schemas/Review'
              description: This user's review of this volume, if one exists.
            entitlementType:
              type: integer
              description: Whether this volume is purchased, sample, pd download etc.
              format: int32
            readingPosition:
              $ref: '#/components/schemas/ReadingPosition'
              description: The user's current reading position in the volume, if one is available. (In LITE projection.)
            acquiredTime:
              description: Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring
                includes purchase, user upload, receiving family sharing, etc.
              type: string
            isFamilySharedToUser:
              description: Whether or not the user received this volume through family sharing.
              type: boolean
            isPreordered:
              type: boolean
              description: Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE
                projection.)
            updated:
              type: string
              description: Timestamp when this volume was last modified by a user action, such as a reading position update,
                volume purchase or writing a review. (RFC 3339 UTC date-time format).
            userUploadedVolumeInfo:
              properties:
                processingState:
                  type: string
              type: object
            rentalPeriod:
              description: Period during this book is/was a valid rental.
              properties:
                endUtcSec:
                  type: string
                  format: int64
                startUtcSec:
                  type: string
                  format: int64
              type: object
            familySharing:
              type: object
              properties:
                isSharingDisabledByFop:
                  type: boolean
                  description: Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.
                familyRole:
                  description: The role of the user in the family.
                  type: string
                isSharingAllowed:
                  description: Whether or not this volume can be shared with the family by the user. This includes sharing
                    eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing
                    action.
                  type: boolean
              description: Information on the ability to share with the family.
            rentalState:
              description: Whether this book is an active or an expired rental.
              type: string
            isFamilySharedFromUser:
              type: boolean
              description: Whether or not the user shared this volume with the family.
          description: User specific information related to this volume. (e.g. page this user last read or whether they purchased
            this book)
          type: object
        layerInfo:
          description: What layers exist in this volume and high level information about them.
          type: object
          properties:
            layers:
              description: A layer should appear here if and only if the layer exists for this book.
              type: array
              items:
                type: object
                properties:
                  volumeAnnotationsVersion:
                    description: The current version of this layer's volume annotations. Note that this version applies only
                      to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned
                      separately.
                    type: string
                  layerId:
                    description: The layer id of this layer (e.g. "geo").
                    type: string
        accessInfo:
          description: Any information about a volume related to reading or obtaining that volume text. This information can
            depend on country (books may be public domain in one country but not in another, e.g.).
          type: object
          properties:
            downloadAccess:
              $ref: '#/components/schemas/DownloadAccessRestriction'
              description: Information about a volume's download license access restrictions.
            pdf:
              properties:
                acsTokenLink:
                  type: string
                  description: URL to retrieve ACS token for pdf download. (In LITE projection.)
                downloadLink:
                  description: URL to download pdf. (In LITE projection.)
                  type: string
                isAvailable:
                  description: Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
                  type: boolean
              type: object
              description: Information about pdf content. (In LITE projection.)
            accessViewStatus:
              description: Combines the access and viewability of this volume into a single status field for this user. Values
                can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
              type: string
            quoteSharingAllowed:
              description: Whether quote sharing is allowed for this volume.
              type: boolean
            webReaderLink:
              description: URL to read this volume on the Google Books site. Link will not allow users to read non-viewable
                volumes.
              type: string
            publicDomain:
              type: boolean
              description: Whether or not this book is public domain in the country listed above.
            viewOrderUrl:
              description: For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate
                Google Wallet page.
              type: string
            embeddable:
              description: Whether this volume can be embedded in a viewport using the Embedded Viewer API.
              type: boolean
            viewability:
              description: The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This
                value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion
                of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public
                domain books will always have a value of ALL_PAGES.
              type: string
            textToSpeechPermission:
              type: string
              description: Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY,
                or NOT_ALLOWED.
            epub:
              properties:
                isAvailable:
                  description: Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
                  type: boolean
                downloadLink:
                  type: string
                  description: URL to download epub. (In LITE projection.)
                acsTokenLink:
                  description: URL to retrieve ACS token for epub download. (In LITE projection.)
                  type: string
              description: Information about epub content. (In LITE projection.)
              type: object
            driveImportedContentLink:
              description: URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from
                Google Drive.
              type: string
            explicitOfflineLicenseManagement:
              type: boolean
              description: Whether this volume requires that the client explicitly request offline download license rather
                than have it done automatically when loading the content, if the client supports it.
            country:
              type: string
              description: The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
        recommendedInfo:
          type: object
          properties:
            explanation:
              description: A text explaining why this volume is recommended.
              type: string
          description: Recommendation related information for this volume.
        searchInfo:
          properties:
            textSnippet:
              description: A text snippet containing the search query.
              type: string
          description: Search result information related to this volume.
          type: object
        id:
          description: Unique identifier for a volume. (In LITE projection.)
          type: string
        volumeInfo:
          properties:
            canonicalVolumeLink:
              description: Canonical URL for a volume. (In LITE projection.)
              type: string
            publishedDate:
              description: Date of publication. (In LITE projection.)
              type: string
            categories:
              items:
                type: string
              description: A list of subject categories, such as "Fiction", "Suspense", etc.
              type: array
            title:
              description: Volume title. (In LITE projection.)
              type: string
            panelizationSummary:
              description: A top-level summary of the panelization info in this volume.
              properties:
                imageBubbleVersion:
                  type: string
                containsImageBubbles:
                  type: boolean
                containsEpubBubbles:
                  type: boolean
                epubBubbleVersion:
                  type: string
              type: object
            publisher:
              type: string
              description: Publisher of this volume. (In LITE projection.)
            infoLink:
              description: URL to view information about this volume on the Google Books site. (In LITE projection)
              type: string
            seriesInfo:
              $ref: '#/components/schemas/Volumeseriesinfo'
            readingModes:
              description: The reading modes available for this volume.
              properties:
                text:
                  type: boolean
                image:
                  type: boolean
              type: object
            pageCount:
              type: integer
              format: int32
              description: Total number of pages as per publisher metadata.
            printedPageCount:
              type: integer
              description: Total number of printed pages in generated pdf representation.
              format: int32
            maturityRating:
              type: string
            subtitle:
              description: Volume subtitle. (In LITE projection.)
              type: string
            language:
              description: Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr',
                'en', etc.
              type: string
            contentVersion:
              type: string
              description: An identifier for the version of the volume content (text & images). (In LITE projection)
            mainCategory:
              type: string
              description: The main category to which this volume belongs. It will be the category from the categories list
                returned below that has the highest weight.
            dimensions:
              description: Physical dimensions of this volume.
              type: object
              properties:
                height:
                  description: Height or length of this volume (in cm).
                  type: string
                thickness:
                  description: Thickness of this volume (in cm).
                  type: string
                width:
                  description: Width of this volume (in cm).
                  type: string
            allowAnonLogging:
              type: boolean
              description: Whether anonymous logging should be allowed.
            printType:
              type: string
              description: Type of publication of this volume. Possible values are BOOK or MAGAZINE.
            comicsContent:
              description: Whether the volume has comics content.
              type: boolean
            samplePageCount:
              type: integer
              format: int32
              description: Total number of sample pages as per publisher metadata.
            ratingsCount:
              type: integer
              description: The number of review ratings for this volume.
              format: int32
            authors:
              description: The names of the authors and/or editors for this volume. (In LITE projection)
              type: array
              items:
                type: string
            previewLink:
              description: URL to preview this volume on the Google Books site.
              type: string
            imageLinks:
              description: A list of image links for all the sizes that are available. (In LITE projection.)
              type: object
              properties:
                small:
                  type: string
                  description: Image link for small size (width of ~300 pixels). (In LITE projection)
                large:
                  description: Image link for large size (width of ~800 pixels). (In LITE projection)
                  type: string
                thumbnail:
                  description: Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
                  type: string
                extraLarge:
                  description: Image link for extra large size (width of ~1280 pixels). (In LITE projection)
                  type: string
                medium:
                  description: Image link for medium size (width of ~575 pixels). (In LITE projection)
                  type: string
                smallThumbnail:
                  type: string
                  description: Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
            averageRating:
              description: The mean review rating for this volume. (min = 1.0, max = 5.0)
              type: number
              format: double
            industryIdentifiers:
              type: array
              items:
                type: object
                properties:
                  identifier:
                    type: string
                    description: Industry specific volume identifier.
                  type:
                    description: Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
                    type: string
              description: Industry standard identifiers for this volume.
            description:
              type: string
              description: A synopsis of the volume. The text of the description is formatted in HTML and includes simple
                formatting elements, such as b, i, and br tags. (In LITE projection.)
          description: General volume information.
          type: object
        selfLink:
          description: URL to this resource. (In LITE projection.)
          type: string
        saleInfo:
          description: Any information about a volume related to the eBookstore and/or purchaseability. This information can
            depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
          properties:
            buyLink:
              type: string
              description: URL to purchase this volume on the Google Books site. (In LITE projection)
            country:
              description: The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
              type: string
            offers:
              items:
                type: object
                properties:
                  retailPrice:
                    description: Offer retail (=discounted) price in Micros
                    type: object
                    properties:
                      currencyCode:
                        type: string
                      amountInMicros:
                        format: double
                        type: number
                  listPrice:
                    description: Offer list (=undiscounted) price in Micros.
                    type: object
                    properties:
                      amountInMicros:
                        type: number
                        format: double
                      currencyCode:
                        type: string
                  finskyOfferType:
                    description: The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
                    format: int32
                    type: integer
                  rentalDuration:
                    description: The rental duration (for rental offers only).
                    type: object
                    properties:
                      count:
                        type: number
                        format: double
                      unit:
                        type: string
                  giftable:
                    description: Indicates whether the offer is giftable.
                    type: boolean
              description: Offers available for this volume (sales and rentals).
              type: array
            saleability:
              description: Whether or not this book is available for sale or offered for free in the Google eBookstore for
                the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE,
                or FOR_PREORDER.
              type: string
            onSaleDate:
              type: string
              description: The date on which this book is available for sale.
            isEbook:
              type: boolean
              description: Whether or not this volume is an eBook (can be added to the My eBooks shelf).
            retailPrice:
              description: The actual selling price of the book. This is the same as the suggested retail or list price unless
                there are offers or discounts on this volume. (In LITE projection.)
              properties:
                amount:
                  description: Amount in the currency listed below. (In LITE projection.)
                  type: number
                  format: double
                currencyCode:
                  type: string
                  description: An ISO 4217, three-letter currency code. (In LITE projection.)
              type: object
            listPrice:
              properties:
                amount:
                  type: number
                  format: double
                  description: Amount in the currency listed below. (In LITE projection.)
                currencyCode:
                  type: string
                  description: An ISO 4217, three-letter currency code. (In LITE projection.)
              type: object
              description: Suggested retail price. (In LITE projection.)
          type: object
        etag:
          description: Opaque identifier for a specific version of a volume resource. (In LITE projection)
          type: string
    Volume2:
      properties:
        kind:
          type: string
          description: Resource type.
        items:
          items:
            $ref: '#/components/schemas/Volume'
          description: A list of volumes.
          type: array
        nextPageToken:
          type: string
      type: object
    Volumeseriesinfo:
      properties:
        shortSeriesBookTitle:
          type: string
          description: Short book title in the context of the series.
        kind:
          type: string
          description: Resource type.
        volumeSeries:
          type: array
          items:
            type: object
            properties:
              orderNumber:
                format: int32
                type: integer
                description: The book order number in the series.
              issue:
                description: List of issues. Applicable only for Collection Edition and Omnibus.
                items:
                  properties:
                    issueOrderNumber:
                      format: int32
                      type: integer
                    issueDisplayNumber:
                      type: string
                  type: object
                type: array
              seriesBookType:
                description: The book type in the context of series. Examples - Single Issue, Collection Edition, etc.
                type: string
              seriesId:
                type: string
                description: The series id.
        bookDisplayNumber:
          description: The display number string. This should be used only for display purposes and the actual sequence should
            be inferred from the below orderNumber.
          type: string
      type: object
x-provenance:
  method: harvested
  publisher: Google
  source: https://books.googleapis.com/$discovery/rest?version=v1
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261105)