Columbia CLIO Catalog Skill
Search Columbia University Libraries' catalog of books, journals, manuscripts, and more.
Critical: Things Claude Won't Know Without This Skill
CLIO has an undocumented but fully functional JSON API
CLIO runs on Blacklight (Solr-based). Append .json to catalog URLs for JSON responses. No API key required.
Search: https://clio.columbia.edu/catalog.json?q=hamlet&per_page=10
Record: https://clio.columbia.edu/catalog/{id}.json
Field-specific search uses search_field parameter
All fields: ?q=hamlet
Title only: ?q=hamlet&search_field=title
Author: ?q=shakespeare&search_field=author
Facets use array bracket syntax
?f[format][]=Book
?f[language_facet][]=Chinese&f[format][]=Book
Available facets: format, language_facet, location_facet, subject_topic_facet, subject_geo_facet, subject_era_facet, subject_form_facet, pub_date_sort.
This is undocumented — be a good citizen
No rate limits are documented, but this is an unofficial API. Keep requests to 1/second max. The official bulk data is at https://lito.cul.columbia.edu/extracts/ColumbiaLibraryCatalog/full/ (MARCXML, CC0).
Key Search Parameters
| Param | Description | Example |
|---|---|---|
q |
Search query | q=dream+of+the+red+chamber |
search_field |
Limit to field: title, author, or all |
search_field=title |
per_page |
Results per page (default ~10) | per_page=25 |
page |
Page number | page=2 |
sort |
Sort: pub_date_sort+desc, pub_date_sort+asc |
sort=pub_date_sort+desc |
f[facet][] |
Filter by facet value | f[format][]=Book |
Response Structure
{
"response": {
"docs": [
{
"id": "12345678",
"title_display": "Hamlet",
"author_display": "Shakespeare, William, 1564-1616",
"format": ["Book"],
"pub_year_display": ["2003"],
"pub_name_display": ["Cambridge University Press"],
"language_facet": ["English"],
"isbn_display": ["9780521532525"],
"location_call_number_id_display": ["Butler Stacks PR2807 .A2 T48 2003 "]
}
],
"facets": [ ... ],
"pages": {
"current_page": 1,
"total_pages": 5330,
"total_count": 10659,
"next_page": 2
}
}
}
Key Document Fields
| Field | Description |
|---|---|
id |
Catalog record ID |
title_display |
Title |
author_display |
Primary author |
author_facet |
All authors (array) |
format |
Format (Book, Online, Music, etc.) |
pub_year_display |
Publication year(s) |
pub_name_display |
Publisher |
pub_place_display |
Place of publication |
language_facet |
Language(s) |
isbn_display |
ISBN(s) |
oclc_display |
OCLC number(s) |
lccn_display |
LCCN(s) |
subject_topic_facet |
Subject terms |
location_call_number_id_display |
Location + call number |
physical_description_display |
Physical description |
Python Script
from scripts.clio_api import ColumbiaClioAPI
clio = ColumbiaClioAPI()
# Search
results = clio.search("hamlet", search_field="title", per_page=10)
# With facets
results = clio.search("chinese poetry", facets={"format": "Book", "language_facet": "Chinese"})
# Get single record
record = clio.get_record("12345678")
# Summarize
for r in results:
print(clio.summarize(r))
Related Skills
- harvard-library-catalog: Compare holdings across Harvard and Columbia
- hathitrust-catalog: Use ISBNs/OCLCs from CLIO to check HathiTrust for digital versions
- wikidata-search: Link OCLC numbers to Wikidata entities
Resources
references/api_reference.md— Complete field and facet referencescripts/clio_api.py— Python client with search, record lookup, and faceted filtering