Agent skill

Worldcat Search API

by wentorai in wentorai/research-plugins

Search the world's largest library catalog via OCLC WorldCat API

MITAuto-check passedResearch & Science

Install Worldcat Search API

skills CLI
$ npx skills add wentorai/research-plugins --skill worldcat-search-api -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install wentorai/research-plugins worldcat-search-api --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/literature/search/worldcat-search-api .claude/skills/worldcat-search-api && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
worldcat-search-api
GitHub stars
298
Used in
1 other repo
Token cost
~1.7k tokens
SKILL.md length
242 words
Files
1
Skills in repo
405
Repo updated
First seen
Licence
MIT

At a glance

Search the world's largest library catalog via OCLC WorldCat API

  • Works in 5 steps: Interlibrary loan: Find nearest library… → Collection gap analysis: Compare… → Dissertation discovery: Search theses… → …
  • Research & Science work in your project
  • SKILL.md covers Overview, Authentication, API Endpoints and Response Structure, plus 4 more sections
  • Calls curl; reaches worldcat.org and platform.worldcat.org; needs CLIENT_SECRET and WSKEY_SECRET

What it does

Worldcat Search API is an agent skill from wentorai/research-plugins. Search the world's largest library catalog via OCLC WorldCat API

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Research & Science. The repository describes itself as: 350+ academic research skills, MCP configs, and plugins for Research-Claw and AI agents. The licence is MIT.

When your agent uses it

  • Research & Science work in your project

Example prompts

  • “/worldcat-search-api”

Requirements

  • Python 3
  • A credential in WSKEY_SECRET
  • A credential in CLIENT_SECRET

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Interlibrary loan: Find nearest library holding a needed item
  2. Collection gap analysis: Compare institutional holdings against a bibliography
  3. Dissertation discovery: Search theses across global repositories
  4. Edition tracking: Find all editions/translations of a work
  5. Bibliographic verification: Confirm ISBNs, publication dates, and publishers

What it can do on your machine

Read from SKILL.md and the folder at commit bf44b3c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • worldcat.org
    • platform.worldcat.org
    • oauth.oclc.org

    Also links to:

    • developer.api.oclc.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CLIENT_SECRET
    • WSKEY_SECRET
    • OCLC_WSKEY_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Worldcat Search API loads about 1.7k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 242 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from wentorai/research-plugins at commit bf44b3c, republished under its MIT licence (© wentorai). 242 words, ~1,722 tokens.

Download SKILL.mdSave it as .claude/skills/worldcat-search-api/SKILL.md (or your agent's skills folder).
name
worldcat-search-api
description
Search the world's largest library catalog via OCLC WorldCat API

WorldCat Search API

Overview

WorldCat is the world's largest network of library content, aggregating catalogs from 10,000+ libraries across 170+ countries. The Search API provides access to 500M+ bibliographic records — books, journals, dissertations, media, and more — with holdings information showing which libraries own each item. Essential for interlibrary loan discovery, collection analysis, and comprehensive bibliographic searches. Requires a WSKey (free for non-commercial use).

Authentication

bash
# Register at https://platform.worldcat.org/
# Obtain a WSKey (API key) for your application

# OAuth 2.0 client credentials flow
curl -X POST "https://oauth.oclc.org/token" \
  -u "$WSKEY_CLIENT_ID:$WSKEY_SECRET" \
  -d "grant_type=client_credentials&scope=wcapi"

API Endpoints

Base URL
https://www.worldcat.org/api/search/
Search Bibliographic Records
bash
# Keyword search
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search?q=machine+learning&limit=25"

# Search by title
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search?q=ti:attention+is+all+you+need"

# Search by author
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search?q=au:hinton+geoffrey"

# Search by ISBN
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search?q=bn:9780262035613"

# Combined filters
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search?q=su:artificial+intelligence+AND+yr:2020-2026&itemType=book"
Search Indexes
IndexPrefixExample
Keyword(none)q=neural+networks
Titleti:q=ti:deep+learning
Authorau:q=au:goodfellow
Subjectsu:q=su:machine+learning
ISBNbn:q=bn:9780262035613
ISSNn:q=n:0028-0836
OCLC Numberno:q=no:1234567
Publisherpb:q=pb:MIT+Press
Yearyr:q=yr:2024 or yr:2020-2026
Languagela:q=la:eng
Query Parameters
ParameterDescriptionExample
qSearch query with indexesq=ti:BERT+AND+au:devlin
limitResults per page (max 50)limit=25
offsetPagination offsetoffset=50
itemTypeFormat filterbook, journal, thesis, audiobook
itemSubTypeSubtype filterdigital, printbook
heldByInstitutionIDHoldings filterInstitution registry ID
orderBySort orderbestMatch, mostWidelyHeld, datePublished
Get Record by OCLC Number
bash
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search/brief-bibs/{oclc_number}"
Holdings / Library Locations
bash
# Find libraries holding a specific item
curl -H "Authorization: Bearer $TOKEN" \
  "https://www.worldcat.org/api/search/brief-bibs/{oclc_number}/holdings?lat=42.36&lon=-71.06&distance=50"

Response Structure

json
{
  "numberOfRecords": 1250,
  "briefRecords": [
    {
      "oclcNumber": "1234567890",
      "title": "Deep Learning",
      "creator": "Ian Goodfellow; Yoshua Bengio; Aaron Courville",
      "date": "2016",
      "publisher": "MIT Press",
      "language": "eng",
      "generalFormat": "Book",
      "specificFormat": "PrintBook",
      "isbns": ["9780262035613"],
      "catalogingInfo": {
        "catalogingAgency": "DLC"
      },
      "totalHoldingCount": 3542
    }
  ]
}

Python Usage

python
import os
import requests

CLIENT_ID = os.environ["OCLC_WSKEY_ID"]
CLIENT_SECRET = os.environ["OCLC_WSKEY_SECRET"]
BASE_URL = "https://www.worldcat.org/api/search"


def get_token() -> str:
    """Obtain OAuth token from OCLC."""
    resp = requests.post(
        "https://oauth.oclc.org/token",
        auth=(CLIENT_ID, CLIENT_SECRET),
        data={"grant_type": "client_credentials", "scope": "wcapi"},
    )
    resp.raise_for_status()
    return resp.json()["access_token"]


def search_worldcat(query: str, limit: int = 25,
                    item_type: str = None) -> list:
    """Search WorldCat bibliographic records."""
    token = get_token()
    params = {"q": query, "limit": limit}
    if item_type:
        params["itemType"] = item_type

    resp = requests.get(
        BASE_URL,
        headers={"Authorization": f"Bearer {token}"},
        params=params,
    )
    resp.raise_for_status()
    data = resp.json()

    results = []
    for rec in data.get("briefRecords", []):
        results.append({
            "oclc": rec.get("oclcNumber"),
            "title": rec.get("title"),
            "creator": rec.get("creator"),
            "date": rec.get("date"),
            "publisher": rec.get("publisher"),
            "format": rec.get("generalFormat"),
            "holdings": rec.get("totalHoldingCount", 0),
            "isbns": rec.get("isbns", []),
        })
    return results


def find_nearby_holdings(oclc_number: str,
                         lat: float, lon: float,
                         distance_km: int = 50) -> list:
    """Find libraries near a location that hold a specific item."""
    token = get_token()
    resp = requests.get(
        f"{BASE_URL}/brief-bibs/{oclc_number}/holdings",
        headers={"Authorization": f"Bearer {token}"},
        params={"lat": lat, "lon": lon, "distance": distance_km},
    )
    resp.raise_for_status()
    return resp.json().get("briefRecords", [])


# Example: find widely-held ML textbooks
books = search_worldcat("su:machine learning AND yr:2020-2026",
                        item_type="book", limit=10)
for b in books:
    print(f"[{b['date']}] {b['title']} — {b['publisher']} "
          f"(held by {b['holdings']} libraries)")

Use Cases

  1. Interlibrary loan: Find nearest library holding a needed item
  2. Collection gap analysis: Compare institutional holdings against a bibliography
  3. Dissertation discovery: Search theses across global repositories
  4. Edition tracking: Find all editions/translations of a work
  5. Bibliographic verification: Confirm ISBNs, publication dates, and publishers

Access Tiers

TierAccessRate Limit
WSKey (free)Search + brief recordsModerate
EnterpriseFull MARC records + analyticsHigher

References

© wentorai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/literature/search/worldcat-search-api of wentorai/research-plugins.

Open the folder on GitHubat commit bf44b3c

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in wentorai/research-plugins, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Worldcat Search API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Worldcat Search API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Worldcat Search API this skillwentorai/research-plugins2981 repos~1.7kAutomated safety check: PassMIT
Hypothesis Generationspacering-net/codeg3.9k14 repos~3.6kAutomated safety check: NotesMIT
GitHub Deep Researchbytedance/deer-flow84k4 repos~1.3kAutomated safety check: PassMIT
Nature Paper CardYuan1z0825/nature-skills47k2 repos~2.1kAutomated safety check: PassApache-2.0
Content Research Writerweapp-tailwindcss/weapp-tailwindcss1.9k25 repos~3.5kAutomated safety check: PassMIT
Last30daysmvanhorn/last30days-skill64k—~7.9kAutomated safety check: NotesMIT

Similar skills

  • Hypothesis Generation

    spacering-net/codeg

    Structured hypothesis formulation from observations. An agent skill from spacering-net/codeg.

    3.9k GitHub starsUsed in 14 repos~3.6k tokens
    Research & ScienceAuto-check: notes
  • GitHub Deep Research

    bytedance/deer-flow

    Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.

    84k GitHub starsUsed in 4 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Nature Paper Card

    Yuan1z0825/nature-skills

    Builds a structured deep-reading card for one scientific paper, covering methods, how experiments support claims, limitations and research ideas, with a script to prepare the source.

    47k GitHub starsUsed in 2 repos~2.1k tokens
    Research & ScienceAuto-check passed
  • Content Research Writer

    weapp-tailwindcss/weapp-tailwindcss

    Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.

    1.9k GitHub starsUsed in 25 repos~3.5k tokens
    Research & ScienceAuto-check passed
  • Last30days

    mvanhorn/last30days-skill

    Research what people actually say about any topic in the last 30 days.

    64k GitHub stars~7.9k tokensUpdated today
    Research & ScienceAuto-check: notes
  • Peer Review

    spacering-net/codeg

    Structured manuscript/grant review with checklist-based evaluation.

    3.9k GitHub starsUsed in 17 repos~5.9k tokens
    Research & ScienceAuto-check: notes

More from wentorai/research-plugins

All 405 skills in this repo
  • Abstract Writing Guide

    wentorai/research-plugins

    Craft structured research abstracts that maximize clarity and journal acceptance

    298 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Academic Citation Manager

    wentorai/research-plugins

    Manage academic citations across BibTeX, APA, MLA, and Chicago formats

    298 GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Academic Paper Summarizer

    wentorai/research-plugins

    Summarize academic papers with structured extraction of key elements

    298 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Academic Study Methods

    wentorai/research-plugins

    Evidence-based study techniques for academic learning and retention

    298 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Academic Tone Guide

    wentorai/research-plugins

    Adjust writing tone and register for academic audiences and venues

    298 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Academic Translation Guide

    wentorai/research-plugins

    Academic translation, post-editing, and Chinglish correction guide

    298 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Questions about Worldcat Search API

What does Worldcat Search API do?

Search the world's largest library catalog via OCLC WorldCat API. Worldcat Search API is an agent skill from wentorai/research-plugins.

When should I use Worldcat Search API?

Worldcat Search API fits situations like: research & Science work in your project.

How do I install Worldcat Search API in Claude Code?

Run `npx skills add wentorai/research-plugins --skill worldcat-search-api -a claude-code`. Or copy the skill folder (skills/literature/search/worldcat-search-api in wentorai/research-plugins) into .claude/skills/worldcat-search-api in your project. Claude Code loads it when a task matches its description.

How do I install Worldcat Search API in Codex?

Run `npx skills add wentorai/research-plugins --skill worldcat-search-api -a codex`. Or copy the skill folder (skills/literature/search/worldcat-search-api in wentorai/research-plugins) into .agents/skills/worldcat-search-api in your project. Codex loads it when a task matches its description.

Can I use Worldcat Search API in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wentorai/research-plugins --skill worldcat-search-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/worldcat-search-api, .gemini/skills/worldcat-search-api, .github/skills/worldcat-search-api and .opencode/skills/worldcat-search-api in your project.

What does Worldcat Search API need to run?

Going by SKILL.md and its folder, Worldcat Search API needs the command-line tools its instructions call (curl) and credentials named CLIENT_SECRET, WSKEY_SECRET and OCLC_WSKEY_SECRET. Our summary lists: Python 3; A credential in WSKEY_SECRET; A credential in CLIENT_SECRET.

Does Worldcat Search API access the network?

SKILL.md names 4 domains. In commands or code: worldcat.org, platform.worldcat.org and oauth.oclc.org; the agent is likely to contact these when it follows the instructions. As links in the text: developer.api.oclc.org. This is read from the text; nothing was executed.

Is Worldcat Search API safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Worldcat Search API use?

Worldcat Search API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Worldcat Search API use?

About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Worldcat Search API?

Skills that share tags, products or a category with Worldcat Search API: Hypothesis Generation (spacering-net/codeg, 3.9k stars), GitHub Deep Research (bytedance/deer-flow, 84k stars), Nature Paper Card (Yuan1z0825/nature-skills, 47k stars) and Content Research Writer (weapp-tailwindcss/weapp-tailwindcss, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Worldcat Search API?

wentorai (a GitHub user) maintains it in wentorai/research-plugins, which has 298 GitHub stars. The repository holds 405 skills in this directory. The repository was last updated on June 19, 2026.

Source: wentorai/research-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.