> For the complete documentation index, see [llms.txt](https://knovel-protocol.gitbook.io/knovel/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knovel-protocol.gitbook.io/knovel/technical-reference/technical-reference.md).

# For Developers

This section is for developers who want to build on top of Knovel — pull content into their own apps, build reading tools, surface book recommendations, or create anything else that uses Knovel's catalog and author data.

You don't need to know anything about blockchain or Web3 to use the Knovel API. The platform handles all of that internally.

***

## What You Can Build

A few examples of what the API makes possible:

* A reading tracker or personal library app that syncs with Knovel
* A recommendation engine that surfaces books by genre, license type, or engagement
* A dashboard for authors to visualize their readership data
* A tool that aggregates independent publishing data across platforms
* An integration that pulls new Knovel releases into a newsletter or feed

***

## Tech Stack Overview

Knovel is a full-stack web application built on:

* **Frontend:** Next.js (React), TipTap editor, custom epub.js reader
* **Backend:** Node.js / Express, PostgreSQL
* **Storage:** IPFS via Pinata (content and metadata), S3-compatible storage (cover images)

IP registration and rights management are handled internally through Story Protocol. As a developer consuming the API, you don't interact with any of that directly — license terms and rights data are exposed as standard fields in API responses.

***

## API Endpoints

> **Note: The Knovel API is not yet publicly available.** This section documents the planned API for developers who want to build integrations when it launches. If you're interested in early API access, reach out at <dev@knovel.co>.

**Base URL:** `https://api.knovel.co/v1`

**Authentication:**

```
Authorization: Bearer <api_key>
```

API keys will be generated from the developer settings in your Knovel account.

***

### Books

**GET /books** Returns a paginated list of published books.

Query parameters:

* `genre` — filter by genre tag
* `status` — `complete` or `ongoing`
* `license` — `non-commercial`, `commercial`, `all-rights-reserved`
* `page` — page number (default: 1)
* `limit` — results per page (default: 20, max: 100)

**GET /books/:id** Returns full metadata for a single book, including title, description, genre tags, cover image URL, publication status, and license type.

**GET /books/:id/chapters** Returns the chapter list for a book — titles and publication dates. Does not return chapter content.

**GET /books/:id/chapters/:chapter\_id** Returns the content of a specific chapter.

**GET /books/:id/derivatives** Returns all derivative works linked to a book (fanfiction, translations, adaptations).

***

### Authors

**GET /authors/:id** Returns profile data for an author — display name, bio, avatar, and follower count.

**GET /authors/:id/books** Returns all published books for an author.

***

### Earnings (authenticated, author only)

**GET /authors/me/earnings** Returns a summary of total earnings for the authenticated author.

**GET /authors/me/earnings/books** Returns a per-book earnings breakdown.

***

## Rate Limits

* 100 requests per minute per API key
* Bulk content requests (full chapter content at scale) require a separate data access agreement — contact <dev@knovel.co>

***

## Contributing / Questions

Knovel's codebase is not currently open source. For API access, integration questions, or partnership inquiries, reach out at <dev@knovel.co>.
