Discover/Edu API
live

Edu APIbooks.ebsu.edu.ng

Retrieve the full EBSU Books storefront catalog, cover images, NGN prices, shelf membership, bundle composition, and per-book purchase flags via 2 endpoints.

This API takes change requests — .
Endpoint health
verified 2h ago
get_book
list_books
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the Edu API?

The EBSU Books API gives developers structured access to the entire books.ebsu.edu.ng storefront across 2 endpoints. list_books returns every title in the catalog — shelved, unshelved, and bundle components — with cover images, NGN prices, and shelf labels. get_book returns a single title's full record including bundle sub-books, attachments, purchase flags, and stock mode. Together they expose over a dozen distinct fields per record.

This call costs1 credit / call— charged only on success
Try it
Case-insensitive substring matched against book title and author. Omitted = no text filter.
Shelf title to restrict results to, as returned in the shelves field (e.g. 200 Level GST). Case-insensitive exact match; an unknown shelf returns zero books. Omitted = all shelves and unshelved books.
true keeps only books with a cover_image_url; false keeps only books without one. Omitted = no cover filter.
api.parse.bot/scraper/b12d2d2b-8c8d-49e2-b476-d17a08c29b2c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b12d2d2b-8c8d-49e2-b476-d17a08c29b2c/list_books?query=physics&has_cover=true' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Returns the complete EBSU Books catalog in a single round trip: every book on the storefront's shelves (including the individual books inside a bundle, tagged with bundle_title) plus the unshelved books shown in the main 'Books' section. Each record carries cover_image_url, which is null when the shop has not uploaded a cover for that title. There is no pagination — the whole catalog (a few hundred records) is returned at once. Optional filters are applied to the full catalog: query matches a case-insensitive substring of title or author; shelf matches a shelf title exactly (case-insensitive) and an unknown shelf yields an empty list; has_cover keeps only books with (true) or without (false) a cover image. count is the number of records after filtering, total_in_catalog the number before filtering, and shelves the list of shelf titles the site currently exposes.

Input
ParamTypeDescription
querystringCase-insensitive substring matched against book title and author. Omitted = no text filter.
shelfstringShelf title to restrict results to, as returned in the shelves field (e.g. 200 Level GST). Case-insensitive exact match; an unknown shelf returns zero books. Omitted = all shelves and unshelved books.
has_coverbooleantrue keeps only books with a cover_image_url; false keeps only books without one. Omitted = no cover filter.
Response
{
  "type": "object",
  "fields": {
    "books": "array of book records: book_id, title, author (nullable), cover_image_url (nullable absolute URL of the cover image), price_ngn (integer, Nigerian naira; 0 when no price is set), description (nullable), is_bundle, is_hot_selling, shelf (shelf title or null for unshelved books), bundle_title (title of the parent bundle when the record is a bundle component, else null)",
    "count": "integer number of records returned after filtering",
    "shelves": "array of shelf title strings currently exposed by the shop",
    "total_in_catalog": "integer number of records in the whole catalog before filtering"
  },
  "sample": {
    "data": {
      "books": [
        {
          "shelf": "100 Level Sciences",
          "title": "Practical Physics Manual 2",
          "author": "Physics Department",
          "book_id": "6a4344311b173fe3369fb8e4",
          "is_bundle": false,
          "price_ngn": 1500,
          "description": null,
          "bundle_title": null,
          "is_hot_selling": true,
          "cover_image_url": "http://www.jetmav.com/books/covers/book-1782796719128-51873507.jpg"
        },
        {
          "shelf": null,
          "title": "Practical Physics Manual 1",
          "author": "Physics Department",
          "book_id": "6a4344311b173fe3369fb8e2",
          "is_bundle": false,
          "price_ngn": 1500,
          "description": null,
          "bundle_title": null,
          "is_hot_selling": false,
          "cover_image_url": "http://www.jetmav.com/books/covers/book-1782796281149-191141543.jpg"
        }
      ],
      "count": 2,
      "shelves": [
        "100 level GST",
        "100 Level Sciences",
        "200 Level GST",
        "300 Level GST"
      ],
      "total_in_catalog": 227
    },
    "status": "success"
  }
}

About the Edu API

Catalog Endpoint

list_books returns all books in the EBSU Books storefront in one round trip. Each record in the books array includes book_id, title, author (nullable), cover_image_url (a nullable absolute URL), price_ngn (integer, Nigerian naira), is_bundle, and is_hot_selling. Books that belong to a bundle carry a bundle_title tag so you can identify their parent. The response also includes a shelves array of all shelf title strings currently in the shop (e.g. 200 Level GST) and total_in_catalog for the unfiltered count alongside count for the filtered count.

Filtering the Catalog

Three optional query parameters let you narrow results. query does a case-insensitive substring match against title and author. shelf restricts output to a single shelf by its title string as it appears in the shelves field. has_cover accepts a boolean to keep only records that have — or lack — a cover_image_url. Parameters can be combined; omitting all three returns the full catalog.

Single Book Detail

get_book accepts a 24-character hexadecimal book_id (as returned by list_books) and returns the complete record for that title. Beyond the listing fields it adds description (nullable text), bundle_only (true when the title is not sold standalone), stock_mode (e.g. own), sub_books (an array of component book records for bundles, empty for plain books), and attachments (an array of add-on items sold with the title). Each entry in sub_books and attachments carries its own book_id, title, author, cover_image_url, and price_ngn.

Reliability & maintenanceVerified

The Edu API is a managed, monitored endpoint for books.ebsu.edu.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when books.ebsu.edu.ng 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 books.ebsu.edu.ng 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.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a searchable course-material directory filtered by shelf (e.g. 200 Level GST) using list_books shelf and query params.
  • Display a bundle's component titles and their individual prices by reading sub_books from get_book.
  • Identify hot-selling titles across the catalog with the is_hot_selling flag from list_books.
  • Audit catalog coverage by comparing total_in_catalog against records with a non-null cover_image_url using the has_cover filter.
  • Detect titles that can only be purchased as part of a bundle using the bundle_only flag from get_book.
  • Enumerate all add-on attachments available for a given title via the attachments array in get_book.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does books.ebsu.edu.ng have an official developer API?+
No public developer API is documented on the books.ebsu.edu.ng site. This Parse API is the structured programmatic interface available for the storefront's data.
What does list_books return for bundle members versus standalone books?+
Bundle member records carry a bundle_title field identifying the parent bundle, while standalone books leave that field absent. Both types appear in the same books array. You can also use the is_bundle flag to identify records that are themselves top-level bundles.
Does the API expose purchase history, user reviews, or sales volume data?+
Not currently. The API covers catalog fields (title, author, price, cover image, shelf, bundle structure, attachments, and purchase flags). User reviews, purchase history, and sales volume data are not part of the current endpoints. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes available on the storefront.
Is there pagination for the catalog, or does list_books return all records at once?+
list_books returns the full catalog in a single response — there are no page or offset parameters. The count field reflects how many records match any active filters, and total_in_catalog gives the unfiltered total.
Can I look up books by ISBN or publisher rather than by title or author?+
Not currently. The query filter in list_books matches against title and author only; ISBN, publisher, and subject fields are not exposed. You can fork this API on Parse and revise it to surface those fields if the storefront exposes them.
Page content last updated . Spec covers 2 endpoints from books.ebsu.edu.ng.
Related APIs in EducationSee all →
booksrun.com API
Search millions of books and get instant buyback quotes on BooksRun. Browse bestsellers and categories, view detailed book information, and check condition guidelines to understand buyback prices and acceptance criteria.
biblio.com API
Access data from biblio.com.
barnesandnoble.com API
Search for books and discover detailed information including metadata, pricing, and customer reviews from Barnes & Noble's catalog. Browse bestsellers by category and access comprehensive book details to find your next read or compare prices and ratings.
bookshop.org API
Search for books by keyword or category, view detailed information like metadata and pricing, discover curated reading lists, and find independent bookstores near you on Bookshop.org. Filter results by format and browse new releases to discover your next read.
abebooks.com API
Search for books by title or ISBN, view detailed listing information, and discover available sellers offering new and used copies. Find the best deals by comparing prices across multiple sellers and browsing their inventory.
alibris.com API
Search for books and retrieve seller listings from Alibris. Access detailed book information including title, author, condition, pricing, and seller data across the platform.
standardebooks.org API
Access Standard Ebooks' curated collection of free public domain ebooks. Search and filter by subject, retrieve full book details, and get direct download links in multiple formats including EPUB, AZW3, and KEPUB.
valorebooks.com API
Search for books and instantly compare prices across ValoreBooks' inventory while getting real-time buyback quotes for books you want to sell. Access detailed book information including pricing and resale values to find the best deals on textbooks and used books.