# Course Catalog API

> Course Catalog API is a paid API for AI agents from course-catalog-api.lewis-6d8.workers.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Returns university course listings and prerequisite graph data for a given institution, with optional filtering by term and subject.

## Facts

- Endpoint: POST https://course-catalog-api.lewis-6d8.workers.dev/courses
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/course-catalog-api-eb96310f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_n1qc2HGatTvq4rwD0V87L

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability course-catalog-api-eb96310f -d '<json body>'
```

Example prompt: Pull the current MIT course catalog for Computer Science courses this fall term — use fresh data, not cached.

## When to prefer this

Use this endpoint when an agent needs structured university course catalog data or prerequisite graph information for MIT, especially when building course planners, academic advisors, or curriculum analysis tools. Prefer this over web scraping university sites directly, as it returns structured, agent-ready data with prerequisite relationships.

## Known failure modes

- Unsupported institution slug returns an error — currently only 'mit' is a live institution
- Missing required 'institution' field returns a validation error
- Payment failure (402) if USDC payment is not included
- Network timeout on the Cloudflare worker if upstream data is slow
- Cache inconsistency if fresh=false returns stale data

## How this service works

University course catalog + prerequisite graph data for agents.

## Output

A list of university courses matching the query, including course details and prerequisite graph data showing course dependencies for the specified institution, term, and subject.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "institution"
 ],
 "properties": {
  "term": {
   "type": "string",
   "description": "Optional term filter"
  },
  "fresh": {
   "type": "boolean",
   "description": "Bypass cache if true"
  },
  "subject": {
   "type": "string",
   "description": "Optional subject filter"
  },
  "institution": {
   "type": "string",
   "description": "Institution slug; currently 'mit' is the live institution"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/course-catalog-api-eb96310f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from course-catalog-api.lewis-6d8.workers.dev](https://www.zero.xyz/host/course-catalog-api.lewis-6d8.workers.dev/llms.txt)
