Greenlit Books Books API

The Books API from Greenlit Books — 2 operation(s) for books.

GitHub OpenAPI

Operations 2

GET /books/{slug} One book in full #
GET /books All live books, with optional series and audience filters #

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/greenlitbooks-com:greenlitbooks-com-books-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

greenlitbooks-com-books-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Greenlitbooks Com Books API
  version: 1.2.0
  contact:
    name: Greenlit Books
    url: https://greenlitbooks.com
  description: 'Operations tagged Books across 2 of this provider''s published API definitions: greenlitbooks-com-openapi-gpt.json, greenlitbooks-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://greenlitbooks.com/api/v1
security: []
tags:
- name: Books
paths:
  /books/{slug}:
    get:
      operationId: getBook
      summary: One book in full
      description: 'One book in full: chapters, free chapter one link, Amazon Kindle and paperback links, price, Kindle Unlimited status.'
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
        example: claude-code-in-action
      responses:
        '200':
          description: The book
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookDetail'
        '404':
          description: Unknown slug
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Books
    servers:
    - url: https://greenlitbooks.com/api/v1
  /books:
    get:
      operationId: listBooks
      summary: All live books, with optional series and audience filters
      description: Every live book as structured JSON, in curated series order and reading order within each series. Small enough (fewer than 100 records) that there is no pagination. Optional series and audience parameters filter the list in the same call.
      parameters:
      - name: series
        in: query
        required: false
        schema:
          type: string
          enum:
          - the-operators-ai-library
          - the-ai-native-builder-canon
          - understand-and-trust-ai
          - build-agents-you-can-trust
          - lead-govern-and-apply-ai
          - ai-and-agentic-engineering
          - the-claude-code-ladder
          - the-agent-builders-workshop
          - the-two-doors
          - forward-deployed-engineering-handbooks
          - the-complete-grok-bot-guide
          - the-omarchy-books
          - the-personal-ai-computer
        description: Restrict the list to one series (by slug).
      - name: audience
        in: query
        required: false
        schema:
          type: string
          enum:
          - beginner
          - operator
          - engineer
          - leader
        description: Restrict the list to one reader level.
      responses:
        '200':
          description: The book list, filtered when parameters are given
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta'
                  query:
                    type: object
                    properties:
                      series:
                        type:
                        - string
                        - 'null'
                      audience:
                        type:
                        - string
                        - 'null'
                  count:
                    type: integer
                  books:
                    type: array
                    items:
                      $ref: '#/components/schemas/Book'
        '400':
          description: Unknown series or audience value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Books
    servers:
    - url: https://greenlitbooks.com/api/v1
components:
  schemas:
    Price:
      type:
      - object
      - 'null'
      description: Price for one format. amount is parsed from the display string.
      properties:
        display:
          type: string
          examples:
          - $12.99
        amount:
          type:
          - number
          - 'null'
          examples:
          - 12.99
        currency:
          type:
          - string
          - 'null'
          examples:
          - USD
    BookDetail:
      type: object
      description: The /books/{slug} response body.
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        book:
          $ref: '#/components/schemas/Book'
        chapters:
          type: array
          items:
            type: object
            properties:
              number:
                type: integer
              title:
                type: string
        totalWords:
          type:
          - integer
          - 'null'
        claims:
          type:
          - object
          - 'null'
          description: 'Quotable claims from the book with the sources behind them, or null for a book with no ledger yet. Each item''s `url` is an anchor on the book page that resolves to that exact claim: quote `claim`, cite `url`.'
          properties:
            lastReviewed:
              type: string
              format: date
            items:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  chapter:
                    type: integer
                  claim:
                    type: string
                  verbatim:
                    type: boolean
                    description: True when `claim` is the book's own sentence, word for word.
                  basis:
                    type: string
                    enum:
                    - external
                    - argument
                    - method
                    - author-experience
                    description: What kind of statement this is. A published result, a position the book argues, a method you run yourself, or something the author reports happening on his own system. They are not interchangeable and should not be quoted as if they were.
                  basisLabel:
                    type: string
                  howToQuote:
                    type: string
                  basisNote:
                    type:
                    - string
                    - 'null'
                  anchor:
                    type: string
                  url:
                    type: string
                    format: uri
                  sources:
                    type: array
                    items:
                      type: object
                      properties:
                        title:
                          type: string
                        authors:
                          type:
                          - string
                          - 'null'
                        publisher:
                          type:
                          - string
                          - 'null'
                        date:
                          type:
                          - string
                          - 'null'
                        url:
                          type: string
                          format: uri
                        establishes:
                          type: string
                        doesNotEstablish:
                          type: string
                          description: What the claim would be overreaching to draw from this source. Read it before leaning on the citation.
                        lastChecked:
                          type: string
                          format: date
                        checkNote:
                          type:
                          - string
                          - 'null'
        excerpt:
          type: object
          description: The free chapter-one excerpt, when published.
          properties:
            available:
              type: boolean
            chapterTitle:
              type:
              - string
              - 'null'
            words:
              type:
              - integer
              - 'null'
            minutes:
              type:
              - integer
              - 'null'
            url:
              type:
              - string
              - 'null'
              format: uri
            markdownUrl:
              type:
              - string
              - 'null'
              format: uri
        related:
          type: object
          properties:
            guide:
              type:
              - object
              - 'null'
              properties:
                title:
                  type: string
                slug:
                  type: string
                url:
                  type: string
                  format: uri
            fieldNotes:
              type: array
              items:
                type: object
                properties:
                  title:
                    type: string
                  slug:
                    type: string
                  description:
                    type: string
                  url:
                    type: string
                    format: uri
            compares:
              type: array
              items:
                type: object
                properties:
                  title:
                    type: string
                  slug:
                    type: string
                  url:
                    type: string
                    format: uri
            seriesNeighbors:
              type: object
              properties:
                previous:
                  oneOf:
                  - $ref: '#/components/schemas/BookLink'
                  - type: 'null'
                next:
                  oneOf:
                  - $ref: '#/components/schemas/BookLink'
                  - type: 'null'
    Meta:
      type: object
      description: Envelope on every response.
      properties:
        version:
          type: string
          const: v1
        generatedAt:
          type: string
          format: date-time
          description: When this snapshot was produced. Static endpoints stamp it at deploy; search stamps it per request.
        source:
          type: string
          format: uri
        docs:
          type: string
          format: uri
        openapi:
          type: string
          format: uri
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              examples:
              - not_found
              - missing_query
            message:
              type: string
        meta:
          $ref: '#/components/schemas/Meta'
    Book:
      type: object
      description: 'One book. No publication date, page count, or ISBN: the catalog carries no verified source for them and nothing is invented. Amazon URLs are clean /dp/ links; every listed book is buyable there and free to read with Kindle Unlimited when kindleUnlimited is true.'
      properties:
        slug:
          type: string
        title:
          type: string
        subtitle:
          type:
          - string
          - 'null'
        author:
          type:
          - string
          - 'null'
        series:
          type:
          - object
          - 'null'
          properties:
            name:
              type: string
            slug:
              type: string
            position:
              type: integer
              description: 1-based reading order within the series.
        imprint:
          type:
          - string
          - 'null'
        readerLevel:
          type: string
          enum:
          - beginner
          - operator
          - engineer
          - leader
        flagship:
          type: boolean
        descriptions:
          type: object
          properties:
            hook:
              type:
              - string
              - 'null'
              description: A quotable opening line.
            oneLiner:
              type:
              - string
              - 'null'
              description: Short description.
            targetReader:
              type:
              - string
              - 'null'
              description: Who the book is for.
            namedConcept:
              type:
              - string
              - 'null'
              description: The named idea the book teaches.
        concept:
          type:
          - object
          - 'null'
          description: The question-shaped concept page for this book.
          properties:
            name:
              type: string
            slug:
              type: string
            question:
              type: string
            url:
              type: string
              format: uri
        amazon:
          type: object
          properties:
            kindleAsin:
              type:
              - string
              - 'null'
            paperbackAsin:
              type:
              - string
              - 'null'
            kindleUrl:
              type:
              - string
              - 'null'
              format: uri
            paperbackUrl:
              type:
              - string
              - 'null'
              format: uri
        prices:
          type: object
          properties:
            ebook:
              $ref: '#/components/schemas/Price'
            paperback:
              $ref: '#/components/schemas/Price'
        kindleUnlimited:
          type: boolean
        coverImage:
          type:
          - string
          - 'null'
          format: uri
        url:
          type: string
          format: uri
          description: Canonical book page.
        apiUrl:
          type: string
          format: uri
        markdownUrl:
          type: string
          format: uri
          description: Plain-markdown twin of the book page.
        readUrl:
          type:
          - string
          - 'null'
          format: uri
          description: Free chapter one, when available.
        categories:
          type: array
          items:
            type: string
        companionRepo:
          type:
          - string
          - 'null'
          format: uri
          description: Public companion code repository, when the book ships code.
    BookLink:
      type: object
      description: Compact pointer to a book, with its reading-order position in its series.
      properties:
        slug:
          type: string
        title:
          type: string
        position:
          type: integer
          description: 1-based reading order within the series.
        url:
          type: string
          format: uri
        apiUrl:
          type: string
          format: uri
externalDocs:
  description: Human documentation, the MCP server, and the markdown surfaces for agents
  url: https://greenlitbooks.com/developers
x-refined-from:
- greenlitbooks-com-openapi-gpt.json
- greenlitbooks-com-openapi.json