API

GraphCanon is built for machines as well as people. The JSON API below is open, read-only, and unauthenticated, with permissive CORS so you can call it from anywhere.

Three ways to read the data

  • JSON - the endpoints below, described by openapi.json.
  • Markdown - append .md to any page URL, or send Accept: text/markdown. Great for LLM ingestion and citation.
  • LLM discovery - /llms.txt and /llms-full.txt.

Endpoints

GET/api/graphcanon

Discovery index of all endpoints.

GET/api/graphcanon/tools

List and filter tools.

qcategorytaglanguagesort=stars|recent|namelimitoffset
GET/api/graphcanon/tools/{slug}

A single tool with categories, tags, and stats.

GET/api/graphcanon/categories

All categories with tool counts.

GET/api/graphcanon/categories/{slug}

A category and the tools in it.

GET/api/graphcanon/search

Full-text search over tools.

qlanguagesortlimitoffset
GET/api/graphcanon/graph

A tool's neighbourhood: edges + shared-category neighbours.

tool
GET/api/graphcanon/openapi.json

OpenAPI 3.1 schema for this API.

Example

# Top Python tools, most stars first
curl "https://www.graphcanon.com/api/graphcanon/tools?language=Python&sort=stars&limit=5"

# Walk the graph from a tool
curl "https://www.graphcanon.com/api/graphcanon/graph?tool=openai-whisper"

# Fetch a tool as markdown
curl -H "Accept: text/markdown" "https://www.graphcanon.com/tools/openai-whisper"