Noor Book APInoor-book.com ↗
Search 289,000+ authors and 1,800+ categories on Noor Book. Get book metadata, author profiles, and category listings via 5 structured endpoints.
What is the Noor Book API?
The Noor Book API provides 5 endpoints for searching and retrieving structured data from noor-book.com, one of the largest Arabic and English digital libraries. Use search_books to query the full catalog and get back title, author, rating, and cover image for up to 36 results per query, or call get_book_details to pull metadata for a specific title including publisher, page count, language, and category.
curl -X GET 'https://api.parse.bot/scraper/56a9e599-c7f6-4e4c-8239-180f124bcde5/search_books?query=python' \ -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 noor-book-com-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.
from parse_apis.noor_book_library_api import NoorBook, BookSummary, Author, ResourceNotFound
client = NoorBook()
# Search for books about Python
for book in client.books.search(query="python", limit=5):
print(book.title, book.author, book.rating)
# Get full details for one book
details = client.books.get(book_id="423559")
print(details.title, details.author, details.category, details.pages, details.language)
# Search for authors
for author_summary in client.authors.search(query="Shakespeare", limit=3):
print(author_summary.name, author_summary.books_count)
# Drill into full author profile
full_author = author_summary.details()
print(full_author.name, full_author.biography, full_author.books_count)
# Get author directly by slug
shakespeare = client.authors.get(author_slug="Shksbyr")
print(shakespeare.name, shakespeare.author_url)
# Browse categories
for cat in client.categories.list(limit=10):
print(cat.name, cat.category_url)
Full-text search over the Noor Book catalog by keyword. Returns up to ~36 matching results per query with title, author, rating, and cover image. No server-side pagination exposed; results are a single page.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword or phrase (e.g. 'python programming', 'shakespeare'). |
{
"type": "object",
"fields": {
"books": "array of book result objects with title, author, book_id, rating, cover_image",
"query": "string — the search query echoed back",
"results_count": "integer — number of books returned"
},
"sample": {
"data": {
"books": [
{
"title": "Python",
"author": "علا عباس و عبداللطيف",
"rating": null,
"book_id": "1055781",
"book_url": "https://www.noor-book.com/en/book/review/1055781",
"author_url": "https://www.noor-book.com/en/ebooks-علا-عباس-و-عبداللطيف-pdf",
"cover_image": "https://www.noor-book.com/publice/covers_cache_jpg/2/e/b/0/13400bc4b8eb03ac2dd2b8f8359fc886.jpg.jpg",
"rating_count": null
}
],
"query": "python",
"results_count": 35
},
"status": "success"
}
}About the Noor Book API
Catalog Search and Book Metadata
The search_books endpoint accepts a keyword or phrase and returns up to ~36 book objects per query, each containing title, author, book_id, rating, and cover_image. There is no server-side pagination exposed — results represent a single page. The book_id values returned here feed directly into get_book_details, which retrieves a full metadata record for a single title: pages, publisher, language, category, release_date, rank, rating, and the canonical book_url.
Author Profiles and Search
The search_authors endpoint searches by author name and returns up to ~30 author entries per response, including author_slug, books_count, and rating_count. The total_results field indicates the total number of matching authors the library reports, even if only a subset is returned. Once you have an author_slug (also available from search_books author URLs), pass it to get_author_info to retrieve the author's biography, full name, author_url, and a list of their books with IDs and cover images.
Category Browsing
The get_categories endpoint requires no input and returns the full list of all available categories in a single response — over 1,800 entries, each with a name and category_url. This is useful for building browse interfaces or validating which categories exist in the Noor Book library before filtering results manually. Note that filtering books by category is not directly exposed as a query parameter; categories serve as reference data.
The Noor Book API is a managed, monitored endpoint for noor-book.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when noor-book.com 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 noor-book.com 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 an Arabic-language book discovery app using
search_booksresults including titles, ratings, and cover images. - Populate an author directory with biography text and book lists pulled from
get_author_info. - Aggregate book metadata (publisher, page count, language) across a reading list using
get_book_detailswith known book IDs. - Index the full category taxonomy from
get_categoriesto build a genre-based navigation tree. - Compare rating values across books by the same author by combining
get_author_infobook lists withget_book_detailscalls. - Resolve author slugs from
search_authorsresults to fetch biography data for a people-search feature. - Track which categories a set of books belong to by cross-referencing
get_book_detailscategory fields against theget_categorieslist.
| 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 Noor Book have an official developer API?+
What does `get_book_details` return beyond what `search_books` includes?+
search_books returns a lightweight record: title, author, book_id, rating, and cover_image. get_book_details adds publisher, language, pages, category, rank, book_url, and structured rating data — fields not present in search results. You need the book_id from a prior search or author lookup to call it.Can I paginate through search results beyond the first page?+
search_books and search_authors each return a single page of results — up to ~36 books or ~30 authors respectively. No pagination parameter is exposed. The total_results field in search_authors shows how many total matches exist, but only the first page is retrievable via the current API. You can fork this API on Parse and revise it to add paginated search support.Can I filter books by category directly in a query?+
get_categories for listing all categories with their URLs, and get_book_details returns the category a book belongs to, but there is no endpoint that accepts a category as a filter to return matching books. You can fork this API on Parse and revise it to add a category-filtered book listing endpoint.Are download links or full book content available through this API?+
book_url points to the canonical page on noor-book.com. You can fork this API on Parse and revise it to surface additional fields that appear on individual book pages.