Hudson Street Library implements RFC 9727 for API discovery. You can discover available APIs through:
GET https://hudsonstreetlibrary.com/.well-known/api-catalog
All HTML pages include a link relation header:
<link rel="api-catalog" type="application/linkset+json" href="/.well-known/api-catalog">
Note: HTTP Link headers are not available as GitHub Pages does not support custom response headers. The well-known URI and HTML link relations are fully functional.
https://hudsonstreetlibrary.com/data/books.json
Complete library catalog with 1774 book records.
Format: application/json (~1.6MB)
Schema: /schemas/book-collection/
curl https://hudsonstreetlibrary.com/data/books.json | jq '.[0]'
https://hudsonstreetlibrary.com/cms/data/books.csv
Full catalog export with 36 columns per record.
Format: text/csv
Schema: /schemas/book-csv/
curl https://hudsonstreetlibrary.com/cms/data/books.csv | head -5
https://hudsonstreetlibrary.com/cms/data/libraryCollections.json
Thematic collection groupings and organization.
Format: application/json
Schema: /schemas/collections/
curl https://hudsonstreetlibrary.com/cms/data/libraryCollections.json | jq '.'
All APIs are served as static files from GitHub Pages. No rate limits apply beyond GitHub's standard CDN throttling. Data is updated with each deployment when new books are added to the collection.
CORS: All endpoints support cross-origin requests.
Caching: Files are served with standard HTTP caching headers. The catalog typically updates weekly as new acquisitions are added.
For questions about API usage or to report issues, please open an issue on the project repository.