Build in the Open. Learn Together.

AI Librarians developer portal

Use our public API and feeds to discover AI resources for academic libraries, follow community writing, and track open-source releases.

Quickstart

Start with the API directory, then fetch the public repository feed. Both requests work without credentials.

curl -sS -H 'Accept: application/json' https://www.ai-librarians.org/api
curl -sS -H 'Accept: application/json' https://www.ai-librarians.org/api/github

The repository response contains org and repos. Each repository includes name, fullName, url, description, homepage, topics, language, stars, openIssues, and pushedAt. The list is ordered by recent pushes, with up to 24 repositories before archived repositories and forks are filtered out; there is no pagination.

Download the OpenAPI 3.1 specification for request and response schemas.

Authentication & API keys

Public GET endpoints require no API keys, accounts, or bearer tokens. There is no public API-key issuance flow.

Member actions use Authorization: Bearer <Firebase ID token> from the existing Commons sign-in. POST /api/github-intake requires approved membership; POST /api/notify-approval requires an admin account. The public advisor at POST /api/community-advisor accepts a JSON messages array and returns a server-sent event stream. Provider credentials stay on the server. See OpenAPI for request schemas.

The Commons is private. Public endpoints do not expose member discussions, applications, or profiles.

Public endpoints

Public GET endpoints, all available without authentication
RequestDescriptionResponse
GET /apiAPI discovery and endpoint directoryapplication/json
GET /api/githubRecently updated public, non-archived, non-fork AI-Librarians repositories (up to 24)application/json
GET /sitemap.xmlPublic page sitemapapplication/xml
GET /rss.xmlPublished community blog RSS feedapplication/rss+xml
GET /github-releases.xmlPublic GitHub releases RSS feedapplication/rss+xml

The homepage also supports Accept: text/markdown. Use llms.txt for agent-oriented page discovery.

Read-only sandbox

Try a live public GET request below. This explorer reads production data; it cannot submit issues, send emails, or change records. A separate staging environment is not provided.

Choose an endpoint and send a request.

Response will appear here.

Errors & caching

JSON errors include status, code, message, and resolution, along with the compatible error string. Unknown API paths return HTTP 404; unsupported methods return HTTP 405 with an Allow header. Upstream failures may return HTTP 502 or 503. Errors after an advisor stream starts use its existing SSE format.

{
  "status": 404,
  "code": "not_found",
  "message": "The requested API resource does not exist.",
  "resolution": "Discover available resources at /openapi.json or /sitemap.xml."
}

The API directory is cached for five minutes. The repository feed is cached at the CDN for 15 minutes and may serve stale data while refreshing. Honor Cache-Control and poll conservatively. GitHub-backed endpoints depend on upstream quotas; there is no guaranteed availability or published per-client rate-limit tier.