NovelBin APInovelbin.me ↗
Access NovelBin data via API: search novels, fetch chapter content, browse by genre, get comments, and manage bookmarks. 15 endpoints, structured JSON.
What is the NovelBin API?
The NovelBin API exposes 15 endpoints covering every major surface of novelbin.me — from full-text novel search via search_novels to paginated genre browsing, chapter-by-chapter content retrieval, and reader comment threads. Response objects include fields like genres, rating, status, description, and full chapter content, giving developers structured access to the catalog without screen-parsing.
curl -X GET 'https://api.parse.bot/scraper/386a2968-f8d8-4fd3-b5da-8c640e6db70b/search_novels?query=shadow+slave' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace novelbin-me-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: NovelBin SDK — search, browse, and read novels."""
from parse_apis.novelbin_api import NovelBin, Genre, NovelNotFound
client = NovelBin()
# Search novels by keyword, capped at 3 results.
for novel in client.novels.search(query="shadow slave", limit=3):
print(novel.title, novel.author, novel.slug)
# Browse fantasy novels using the Genre enum.
for novel in client.novels.by_genre(genre=Genre.FANTASY, limit=5):
print(novel.title, novel.author)
# Get full details for a specific novel.
detail = client.novels.get(slug="shadow-slave")
print(detail.title, detail.status, detail.genres)
# Drill into a novel's chapter list and read the first chapter's content.
first_chapter = client.novel("shadow-slave").chapters.list(limit=1).first()
if first_chapter:
full_chapter = first_chapter.content()
print(full_chapter.title, full_chapter.content_[:80] if full_chapter.content_ else "")
# Navigate from a summary to full details with typed error handling.
top_hit = client.novels.search(query="cultivation", limit=1).first()
if top_hit:
try:
full = top_hit.details()
print(full.title, full.description[:80] if full.description else "")
except NovelNotFound as exc:
print(f"Novel not found: {exc.slug}")
# Discover related novels for an existing novel.
for related in client.novel("shadow-slave").related(limit=3):
print(related.title, related.slug)
print("exercised: novels.search / novels.by_genre / novels.get / chapters.list / chapter.content / details / related")
Full-text search over NovelBin's catalog by keyword. Returns matching novels with title, author, cover image, and latest chapter info. Results are not paginated — all matches for the keyword appear in a single response.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (e.g. 'shadow slave', 'cultivation') |
{
"type": "object",
"fields": {
"items": "array of novel objects with title, slug, author, image_url, and latest_chapter",
"query": "the search keyword used"
},
"sample": {
"data": {
"items": [
{
"slug": "shadow-slave",
"title": "Shadow Slave",
"author": "Guiltythree",
"image_url": "https://images.novelbin.me/novel_200_89/shadow-slave.jpg",
"latest_chapter": {
"slug": null,
"title": "Chapter 3034 Forlorn Battlefield"
}
}
],
"query": "shadow slave"
},
"status": "success"
}
}About the NovelBin API
Catalog Discovery
Four listing endpoints — get_latest_release_novels, get_hot_novels, get_most_popular_novels, and get_completed_novels — each return 20 novel objects per page with title, slug, author, and image_url. Pagination is controlled by the page integer parameter. get_genres_list returns the full array of genre name strings, which feed directly into get_novels_by_genre as the required genre parameter. search_novels accepts a free-text query and returns all matches in a single unpaginated response — suitable for autocomplete or discovery features.
Novel and Chapter Detail
get_novel_details accepts a slug and returns a complete novel record: title, author, genres (array), status, description, cover_image_url, and a rating object with score and count. get_novel_chapters returns the full ordered chapter list for a novel — potentially thousands of entries — each with a title and slug. Pass both novel_slug and chapter_slug to get_chapter_content to retrieve the full content text of any individual chapter. get_related_novels returns sidebar-sourced titles and slugs for novels in the same genre.
Comments and User Actions
get_novel_comments supports offset-based pagination via the skip parameter and a sort field accepting 'latest' or 'oldest'. Each comment object includes username, content, time, likes, and dislikes. Three authenticated endpoints — login, add_to_bookmark, and subscribe_to_novel — let you build user-facing features: add_to_bookmark accepts an optional status field (reading, plan_to_read, completed, dropped), and subscribe_to_novel opts a user into update notifications for a given slug.
The NovelBin API is a managed, monitored endpoint for novelbin.me — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when novelbin.me changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official novelbin.me API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a cross-platform novel reader app using
get_chapter_contentto stream full chapter text. - Create a recommendation engine seeded by
get_related_novelsand genre data fromget_novel_details. - Track reading progress by bookmarking novels with status labels via
add_to_bookmark. - Aggregate reader sentiment by collecting
likes,dislikes, andcontentfields fromget_novel_comments. - Populate a novel catalog database with cover images, ratings, and synopses via
get_novel_details. - Monitor new releases by polling
get_latest_release_novelsand diffing thesluglist over time. - Filter a browsing UI by genre using
get_genres_listpaired withget_novels_by_genre.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does NovelBin have an official developer API?+
How does chapter content pagination work — can I fetch a range of chapters?+
get_novel_chapters returns the complete chapter list for a novel in one response, with each entry carrying a title and slug. You then call get_chapter_content individually per chapter using novel_slug and chapter_slug. There is no range or batch parameter for chapter content; each chapter is a separate request.Does `search_novels` support filtering by genre or status alongside the keyword?+
search_novels accepts only a query string and returns all keyword matches in a single unpaginated list. It does not support filtering by genre, status, or author within the same call. Genre-filtered browsing is available separately through get_novels_by_genre, and status filtering is handled by get_completed_novels. You can fork this API on Parse and revise it to add a combined search-and-filter endpoint.Does the API expose chapter-level comments or only novel-level comments?+
get_novel_comments, which returns username, content, time, likes, and dislikes per comment. Chapter-specific comment threads are not covered. You can fork this API on Parse and revise it to add a chapter-comments endpoint.