Discover/WorldCat API
live

WorldCat APIworldcat.org

Search millions of library items, retrieve OCLC metadata, check holdings at nearby libraries, and get reviews via the WorldCat API.

Endpoint health
verified 7h ago
get_item_library_availability
get_search_suggestions
search_items
get_item_details
get_item_reviews
5/6 passing latest checkself-healing
Endpoints
8
Updated
21d ago

What is the WorldCat API?

The WorldCat API gives programmatic access to the world's largest library catalog through 8 endpoints covering catalog search, item metadata, library availability, reading lists, and reviews. Use search_items to query millions of books and other materials with filters for author, item type, and publication date range, then follow up with get_item_details to retrieve full OCLC records including contributors, ISBNs, edition details, and a secure token for holdings lookups.

Try it
Number of results to return per page
Search keyword or phrase
Filter by author name
Offset for pagination (1-based)
Filter by item type. Accepted values include: Book, PrintBook, Digital, ArtChap, Archv, AudioBook, CompFile, Image, IntMM, Jrnl, Kit, Map, Music, MsscrptLang, News, Object, Score, Serial, Toy, Video, Vis, Web
Filter by publication year range in format YYYY-YYYY (e.g. 2020-2024)
api.parse.bot/scraper/ae20a0f3-8b30-441c-82ea-4d91b529f5a3/<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/ae20a0f3-8b30-441c-82ea-4d91b529f5a3/search_items?limit=5&query=python+programming&offset=1&itemType=Book' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 worldcat-org-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.

"""
WorldCat Library Catalog — Search, discover, and explore library resources worldwide.
Get your API key from: https://parse.bot/settings
"""

from parse_apis.worldcat_api import WorldCat, ItemSummary, Item, Library, Suggestion, ItemNotFound

worldcat = WorldCat()

# Search for books on quantum computing, capped at 5 results
for item in worldcat.itemsummaries.search(query="quantum computing", limit=5):
    print(item.title, item.creator, item.publication_date, item.general_format)

# Drill into the first result's full details
item_summary = worldcat.itemsummaries.search(query="python programming", limit=1).first()
if item_summary:
    full_item = item_summary.details()
    print(full_item.title, full_item.edition, full_item.total_editions, full_item.publisher)

# Get a specific item by OCLC number with error handling
try:
    item = worldcat.items.get(oclc_number="1414175734")
    print(item.title, item.isbn13, item.specific_format)
except ItemNotFound as exc:
    print(f"Item not found: {exc}")

# Get autocomplete suggestions
for suggestion in worldcat.itemsummaries.suggest(query="quantum", limit=5):
    print(suggestion.text)

# Find nearby libraries (NYC coordinates)
for lib in worldcat.libraries.nearby(lat=40.7128, lon=-74.006, limit=3):
    print(lib.institution_name, lib.city, lib.distance, lib.worldcat_holding_count)

print("exercised: itemsummaries.search / itemsummaries.suggest / items.get / item.details / libraries.nearby")
All endpoints · 8 totalmissing one? ·

Full-text search across the WorldCat catalog. Returns paginated results sorted by relevance. Supports filtering by author, item type, and publication date range. Requires Cloudflare Turnstile verification which is handled automatically.

Input
ParamTypeDescription
limitintegerNumber of results to return per page
queryrequiredstringSearch keyword or phrase
authorstringFilter by author name
offsetintegerOffset for pagination (1-based)
itemTypestringFilter by item type. Accepted values include: Book, PrintBook, Digital, ArtChap, Archv, AudioBook, CompFile, Image, IntMM, Jrnl, Kit, Map, Music, MsscrptLang, News, Object, Score, Serial, Toy, Video, Vis, Web
datePublishedstringFilter by publication year range in format YYYY-YYYY (e.g. 2020-2024)
Response
{
  "type": "object",
  "fields": {
    "briefRecords": "array of item records with oclcNumber, title, creator, publicationDate, publisher, generalFormat, specificFormat, isbns, subjects, summary, and more",
    "numberOfRecords": "integer total count of matching records"
  },
  "sample": {
    "data": {
      "briefRecords": [
        {
          "isbns": [
            "9781284283211",
            "1284283216"
          ],
          "title": "Python programming in context",
          "isbn13": "9781284283211",
          "creator": "Julie Anderson",
          "edition": "Fourth edition",
          "summary": "\"Python Programming in Context provides a comprehensive and accessible introduction to Python fundamentals...\"",
          "subjects": [
            "Python (Computer program language)"
          ],
          "publisher": "Jones & Bartlett Learning",
          "oclcNumber": "1414175734",
          "generalFormat": "Book",
          "totalEditions": 16,
          "specificFormat": "PrintBook",
          "publicationDate": "2025"
        }
      ],
      "numberOfRecords": 104573
    },
    "status": "success"
  }
}

About the WorldCat API

Catalog Search and Item Metadata

The search_items endpoint accepts a query string and optional filters — author, itemType (e.g. Book, AudioBook, Digital), and datePublished as a YYYY-YYYY range — and returns paginated briefRecords with oclcNumber, title, creator, publicationDate, publisher, generalFormat, specificFormat, isbns, subjects, and a numberOfRecords total count. Once you have an OCLC number, get_item_details returns the full record: contributors, summary, genera, edition information, and a secureOclcToken that authorizes the library holdings endpoint for that item.

Library Holdings and Nearby Libraries

get_item_library_availability accepts an oclc_number plus optional lat/lon coordinates, limit, and offset to return a paginated list of libraries that hold the item, each with oclcSymbol, registryId, institutionName, institutionType, address fields (street1, city, state, postalCode), and geographic data — alongside a totalHoldingCount. If you want nearby libraries without filtering to a specific item, search_libraries takes lat/lon and returns all WorldCat member institutions in the area with distance, distanceUnit, latitude, longitude, and catalog contact information.

Lists, Suggestions, and Reviews

get_search_suggestions returns up to 8 autocomplete strings for a partial query, useful for building search UIs against the WorldCat index. search_lists and get_list_details expose public curated lists on WorldCat — search by query or retrieve a specific list by list_id. get_item_reviews takes an isbn and returns an array of individual reviews plus a summary object with ratings_count, reviews_count, and average_rating, making it straightforward to surface reader sentiment for any cataloged item.

Reliability & maintenanceVerified

The WorldCat API is a managed, monitored endpoint for worldcat.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when worldcat.org 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 worldcat.org 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
7h ago
Latest check
5/6 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 library locator that maps which local institutions hold a specific book using get_item_library_availability with lat/lon.
  • Enrich a book database with authoritative OCLC metadata — contributors, ISBNs, subjects — via get_item_details.
  • Power a search autocomplete widget for library catalogs using get_search_suggestions.
  • Display community ratings and reviews on a reading app by calling get_item_reviews with an ISBN.
  • Filter WorldCat results to audiobooks or digital items only using the itemType param on search_items.
  • Discover curated public reading lists on WorldCat by querying search_lists and expanding results with get_list_details.
  • Identify all WorldCat member libraries within a geographic radius using search_libraries for directory or mapping applications.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does WorldCat have an official developer API?+
Yes. OCLC offers the WorldCat Search API and related developer services for institutional subscribers at developer.api.oclc.org. Those services require an OCLC membership or partner agreement. This Parse API provides access to WorldCat catalog data without requiring an OCLC institutional account.
What does `get_item_details` return beyond what `search_items` provides?+
search_items returns brief records with top-level fields like title, creator, isbns, and publicationDate. get_item_details returns the full record, adding contributors (beyond primary creator), a summary, edition details, and a secureOclcToken — a string required to call get_item_library_availability for that specific item.
Does the API return real-time circulation status — whether a copy is currently checked out?+
Not currently. get_item_library_availability returns which libraries hold an item and the total totalHoldingCount, but it does not expose per-library checkout status or due dates. You can fork the API on Parse and revise it to add a circulation-status endpoint if that data becomes accessible.
How does pagination work across endpoints?+
search_items, get_item_library_availability, and search_libraries all support offset (1-based) and limit parameters. The numberOfRecords or totalHoldingCount fields in responses tell you the total result count so you can calculate how many pages to walk. search_lists and get_list_details return entries arrays but do not currently document separate pagination parameters.
Can I filter `search_items` results by language or country of publication?+
Not currently. The available filters are author, itemType, and datePublished (year range). Language and country-of-publication filtering are not exposed as parameters. You can fork the API on Parse and revise it to add those filter parameters if the underlying catalog supports them.
Page content last updated . Spec covers 8 endpoints from worldcat.org.
Related APIs in EducationSee all →
librarything.com API
Search millions of books and retrieve detailed metadata, reviews, and author information from LibraryThing's vast catalog. Access member libraries, trending titles, author works, and tag-based book collections to explore one of the web's largest book cataloging communities.
webcat.hkpl.gov.hk API
Search and discover books across Hong Kong's public library system while checking real-time availability, and retrieve detailed book metadata including titles, authors, descriptions, and current stock status. Find exactly what you're looking for and know instantly whether your local library has it in stock.
quod.lib.umich.edu API
Search and browse millions of digitized items from the University of Michigan Library, including books, manuscripts, photographs, and more, while retrieving detailed metadata, full-text content, and image information for each collection and item. Access organized collections, view item details, and discover historical and scholarly materials across the library's comprehensive digital repository.
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.
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.
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.
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.
openalex.org API
Search and retrieve millions of academic papers, articles, and books from OpenAlex's comprehensive global research catalog to find scholarly works by topic, author, or citation. Discover detailed information about research publications including metadata, abstracts, and citation counts to stay current with academic literature in your field.