Google Books Volumes API

The Volumes API from Google Books — 2 operation(s) for volumes.

OpenAPI Specification

google-books-volumes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Books Mylibrary Volumes API
  description: The Google Books API allows you to perform full-text searches and retrieve book information, viewability, and eBook availability. You can also manage personal bookshelves, access volume metadata, and work with user library data.
  version: v1
  contact:
    name: Google
    url: https://developers.google.com/books
servers:
- url: https://www.googleapis.com/books/v1
security:
- oauth2: []
- apiKey: []
tags:
- name: Volumes
paths:
  /volumes:
    get:
      operationId: listVolumes
      summary: Search for volumes
      description: Performs a book search.
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
        description: Full-text search query string.
      - name: maxResults
        in: query
        schema:
          type: integer
          maximum: 40
      - name: startIndex
        in: query
        schema:
          type: integer
      - name: orderBy
        in: query
        schema:
          type: string
          enum:
          - relevance
          - newest
      - name: printType
        in: query
        schema:
          type: string
          enum:
          - all
          - books
          - magazines
      - name: filter
        in: query
        schema:
          type: string
          enum:
          - ebooks
          - free-ebooks
          - full
          - paid-ebooks
          - partial
      - name: langRestrict
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeListResponse'
      tags:
      - Volumes
  /volumes/{volumeId}:
    get:
      operationId: getVolume
      summary: Get a volume
      description: Gets volume information for a single volume.
      parameters:
      - name: volumeId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Volume'
      tags:
      - Volumes
components:
  schemas:
    VolumeListResponse:
      type: object
      properties:
        kind:
          type: string
        totalItems:
          type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/Volume'
    Volume:
      type: object
      properties:
        kind:
          type: string
          const: books#volume
        id:
          type: string
        etag:
          type: string
        selfLink:
          type: string
          format: uri
        volumeInfo:
          type: object
          properties:
            title:
              type: string
            subtitle:
              type: string
            authors:
              type: array
              items:
                type: string
            publisher:
              type: string
            publishedDate:
              type: string
            description:
              type: string
            industryIdentifiers:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - ISBN_10
                    - ISBN_13
                    - ISSN
                    - OTHER
                  identifier:
                    type: string
            pageCount:
              type: integer
            categories:
              type: array
              items:
                type: string
            averageRating:
              type: number
            ratingsCount:
              type: integer
            imageLinks:
              type: object
              properties:
                smallThumbnail:
                  type: string
                  format: uri
                thumbnail:
                  type: string
                  format: uri
            language:
              type: string
            previewLink:
              type: string
              format: uri
            infoLink:
              type: string
              format: uri
        saleInfo:
          type: object
          properties:
            country:
              type: string
            saleability:
              type: string
              enum:
              - FOR_SALE
              - FREE
              - NOT_FOR_SALE
              - FOR_PREORDER
            isEbook:
              type: boolean
            listPrice:
              type: object
              properties:
                amount:
                  type: number
                currencyCode:
                  type: string
        accessInfo:
          type: object
          properties:
            country:
              type: string
            viewability:
              type: string
              enum:
              - PARTIAL
              - ALL_PAGES
              - NO_PAGES
              - UNKNOWN
            embeddable:
              type: boolean
            publicDomain:
              type: boolean
            epub:
              type: object
              properties:
                isAvailable:
                  type: boolean
            pdf:
              type: object
              properties:
                isAvailable:
                  type: boolean
  securitySchemes:
    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
    apiKey:
      type: apiKey
      in: query
      name: key