JetMAV APIjetmav.com ↗
Access JetMAV's educational bookshop catalog via API. List, search, and retrieve details on textbooks, novels, and academic materials with 3 endpoints.
What is the JetMAV API?
The JetMAV API gives programmatic access to the JetMAV educational platform's bookshop catalog across 3 endpoints. Use list_books to pull the full inventory of textbooks, novels, and academic materials, search_books to find titles by keyword, and get_book to retrieve individual book records including price, author, cover image, and bookshop metadata.
curl -X GET 'https://api.parse.bot/scraper/e7a2a55d-8f56-4d27-8dce-5e8d80c59899/list_books?bookshop_id=681f162e0833bb20cc4979ed' \ -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 jetmav-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.jetmav_books_api import JetMAV, Book, BookNotFound
jetmav = JetMAV()
# Search for biology books
for book in jetmav.books.search(query="biology"):
print(book.title, book.price, book.is_active)
# Get a specific book's full details
detail = jetmav.books.get(book_id="681f166f0833bb20cc4a24f3")
print(detail.title, detail.price, detail.delivery_charge)
if detail.bookshop:
print(detail.bookshop.title, detail.bookshop.type)
# List all books filtered by bookshop
for book in jetmav.books.list(bookshop_id="681f162e0833bb20cc4979ed"):
print(book.title, book.author, book.created_at)
List all books and study materials available on JetMAV. Optionally filter by bookshop ID. Returns the full catalog of textbooks, novels, cards, and other academic materials as a single page.
| Param | Type | Description |
|---|---|---|
| bookshop_id | string | MongoDB ObjectId of a bookshop to filter results. When omitted, returns books from all bookshops. |
{
"type": "object",
"fields": {
"books": "array of book objects with id, title, author, price, cover_image, description, is_active, bookshop_id, study_space_id, created_at, updated_at",
"total": "integer total count of books returned"
},
"sample": {
"data": {
"books": [
{
"id": "681f166f0833bb20cc4a24ea",
"price": 50,
"title": "100 Level Book",
"author": null,
"is_active": true,
"created_at": "2025-03-08T07:06:32.000Z",
"updated_at": "2025-05-10T09:03:43.520Z",
"bookshop_id": "681f162e0833bb20cc497aac",
"cover_image": null,
"description": null,
"study_space_id": "681f162e0833bb20cc497ac0"
}
],
"total": 518
},
"status": "success"
}
}About the JetMAV API
Catalog and Filtering
The list_books endpoint returns every book and study material available on JetMAV, including textbooks, novels, flash cards, and other academic resources. It accepts an optional bookshop_id parameter (a MongoDB ObjectId string) to scope results to a single bookshop. The response includes a books array and a total count, making it straightforward to page through or inventory specific shops.
Title Search
The search_books endpoint performs a case-insensitive substring match against book titles. Pass any keyword — such as biology, chemistry, or novel — and the response returns a filtered books array alongside the original query string and a total count. This is useful for building autocomplete, lookup tools, or curriculum-specific catalogs.
Book Detail
The get_book endpoint accepts a book_id (obtained from list_books or search_books results) and returns a complete record for a single title. Fields include title, author, price, cover_image, is_active, created_at, updated_at, bookshop_id, and a nested bookshop object with metadata about the selling shop. The is_active flag indicates whether the item is currently available for purchase.
The JetMAV API is a managed, monitored endpoint for jetmav.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jetmav.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 jetmav.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 a searchable catalog of academic textbooks filtered by bookshop location using
bookshop_id - Display cover images and pricing for recommended course materials in a student portal
- Track which books are currently active or inactive using the
is_activefield fromget_book - Generate a subject-specific reading list by querying
search_bookswith subject keywords - Monitor price changes across the JetMAV catalog by periodically calling
list_books - Enrich a school inventory system with author and publisher details from
get_bookresponses
| 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 JetMAV offer an official developer API?+
What does `get_book` return beyond the basic title and price?+
title, author, price, cover_image, is_active, created_at, updated_at, bookshop_id, and a nested bookshop object containing details about the shop that lists the book.Can I filter books by author, subject, or price range?+
bookshop_id in list_books and by title keyword in search_books. Author, subject, and price-range filtering are not covered. You can fork this API on Parse and revise it to add those filter parameters.Does the API return stock levels or availability counts for individual books?+
is_active boolean in get_book indicates whether a listing is currently active, but detailed inventory counts are not part of the current response. You can fork this API on Parse and revise it to add that endpoint if the source exposes stock data.How is `search_books` different from browsing with `list_books`?+
search_books requires a query string and returns only titles that contain that substring (case-insensitive). list_books returns the full catalog and optionally narrows results to a single bookshop via bookshop_id. The two endpoints complement each other: use list_books for broad inventory work and search_books for targeted title lookups.