API
Public read-only REST API. No auth required. Rate limited to 30 req/min.
Overview
https://daosearch.io/api/v1https://daosearch.io/api/mcpPagination
Paginated endpoints accept page and an optional limit parameter (1-50) to control how many items are returned per page. When limit is set, pagination metadata adjusts accordingly — for example,?page=2&limit=10 returns items 11-20.
Response Format
{
"data": { ... },
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Book not found"
}
}Books
/v1/booksFull library search with filters for genre, word count, status, and more.
| q | stringSearch by title (original or translated) |
| author | stringFilter by author name |
| genre | integerFilter by genre ID |
| subgenre | integerFilter by subgenre ID |
| sort | string[updated, newest, popularity, qq_score, community_score, word_count, favorites, fans, bookmarks]Sort field (default: updated) |
| order | string[asc, desc]Sort order (default: desc) |
| status | stringFilter by book status |
| gender | string[male, female]Filter by target audience |
| minWords | integerMinimum word count |
| maxWords | integerMaximum word count |
| page | integerPage number (max 200) |
| limit | integerItems per page (1-50, default: 50) |
curl "https://daosearch.io/api/v1/books?q=example&author=example"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}/v1/books/{id}Returns full book details including translated metadata and aggregate stats.
| id* | integerBook ID |
curl "https://daosearch.io/api/v1/books/161155"
{
"data": "..."
}/v1/books/{id}/chaptersPaginated list of chapters with translated titles.
| id* | integerBook ID |
| page | integerPage number |
curl "https://daosearch.io/api/v1/books/161155/chapters?page=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}/v1/books/{id}/commentsQidian user comments on a book, sorted by agree count.
| id* | integerBook ID |
| page | integerPage number |
curl "https://daosearch.io/api/v1/books/161155/comments?page=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}/v1/books/{id}/reviewsCommunity reviews written by DaoSearch users.
| id* | integerBook ID |
| page | integerPage number |
curl "https://daosearch.io/api/v1/books/161155/reviews?page=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}/v1/books/{id}/tagsCommunity-voted tags for a book.
| id* | integerBook ID |
curl "https://daosearch.io/api/v1/books/161155/tags"
{
"data": "..."
}/v1/books/{id}/recommendationsSimilar books recommended by Qidian for a given book, with stats.
| id* | integerBook ID |
curl "https://daosearch.io/api/v1/books/161155/recommendations"
{
"data": "..."
}Search
/v1/searchFast autocomplete search returning top 5 matching books.
| q* | stringSearch query (min 2 characters) |
curl "https://daosearch.io/api/v1/search?q=example"
{
"data": "..."
}Rankings
/v1/rankingsOfficial Qidian chart rankings by gender, type, and cycle.
| gender | string[male, female, publish]Target audience |
| type | string[popular, new, free, completed, hall_of_fame, knowledge]Ranking type |
| cycle | stringRanking cycle (e.g. cycle-1 through cycle-5) |
| genre | integerFilter by genre ID |
| page | integerPage number |
| limit | integerItems per page (1-50, default: 49) |
curl "https://daosearch.io/api/v1/rankings?gender=male&type=popular"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}/v1/community-rankingsRankings based on DaoSearch reader activity, by period.
| period | string[daily, weekly, monthly, all-time]Time period |
| genre | integerFilter by genre ID |
| page | integerPage number |
| limit | integerItems per page (1-50, default: 49) |
curl "https://daosearch.io/api/v1/community-rankings?period=all-time&genre=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}Genres
/v1/genresAll primary genres that have at least one book.
curl "https://daosearch.io/api/v1/genres"
{
"data": "..."
}Booklists
/v1/booklistsCurated booklists from Qidian with preview images.
| sort | string[popular, recent, largest]Sort order |
| page | integerPage number |
| limit | integerItems per page (1-50, default: 49) |
curl "https://daosearch.io/api/v1/booklists?sort=popular&page=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}/v1/booklists/{id}Single Qidian booklist with its books.
| id* | integerBooklist ID |
| page | integerPage number |
curl "https://daosearch.io/api/v1/booklists/161155?page=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}Feed
/v1/feedGlobal feed of Qidian comments or DaoSearch community activity.
| type | string[comments, activity]Feed type: 'comments' for Qidian comments, 'activity' for DaoSearch user activity |
| page | integerPage number |
| limit | integerItems per page (1-50, default: 49) |
curl "https://daosearch.io/api/v1/feed?type=comments&page=1"
{
"data": [
"..."
],
"pagination": {
"page": 1,
"totalPages": 10,
"total": 200
}
}Stats
/v1/statsAggregate statistics about books, chapters, translations, and community data.
curl "https://daosearch.io/api/v1/stats"
{
"data": "..."
}AI Integrations
MCP Server
DaoSearch exposes an MCP (Model Context Protocol) server for AI agents. It uses the Streamable HTTP transport and provides all 13 tools from the API above.
{
"mcpServers": {
"daosearch": {
"type": "streamable-http",
"url": "https://daosearch.io/api/mcp"
}
}
}