API Documentation

Discovery

Hudson Street Library implements RFC 9727 for API discovery. You can discover available APIs through:

Well-Known URI

GET https://hudsonstreetlibrary.com/.well-known/api-catalog

Link Relations

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.

Available APIs

Full Catalog JSON

https://hudsonstreetlibrary.com/data/books.json

Complete library catalog with 1774 book records.

Format: application/json (~1.6MB)

Schema: /schemas/book-collection/

Example Usage:

curl https://hudsonstreetlibrary.com/data/books.json | jq '.[0]'

CSV Export

https://hudsonstreetlibrary.com/cms/data/books.csv

Full catalog export with 36 columns per record.

Format: text/csv

Schema: /schemas/book-csv/

Example Usage:

curl https://hudsonstreetlibrary.com/cms/data/books.csv | head -5

Collections Metadata

https://hudsonstreetlibrary.com/cms/data/libraryCollections.json

Thematic collection groupings and organization.

Format: application/json

Schema: /schemas/collections/

Example Usage:

curl https://hudsonstreetlibrary.com/cms/data/libraryCollections.json | jq '.'

Rate Limits & Usage

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.

Standards Compliance

Questions?

For questions about API usage or to report issues, please open an issue on the project repository.