0

API & CLI

Everything in the catalog is queryable without scraping: a read-only JSON API, agent-friendly text endpoints, and a command-line client over the same data.

Three surfaces, all read-only, all over the same catalog: the JSON API for code, the llms.txt endpoints for LLMs and answer engines, and the command-line client for the terminal and agents.

Read API (/api/v1)

JSON over HTTP. No API key. Responses are cached for an hour and respect source visibility, so hidden sources never appear. Start at /api/v1, which lists every endpoint.

  • GET /api/v1 - index of all endpoints
  • GET /api/v1/search?q={query} - full-text search across evals, tools, models, papers, leaderboards, organizations, and people
  • GET /api/v1/{evals|models|tools|leaderboards|organizations|people|capabilities|papers}/{slug} - one entity with its metadata, scores, and relationships
  • GET /api/v1/papers/{slug}/text and /pdf- a paper's full text or PDF, where its license permits redistribution
curl "https://sophon.at/api/v1/search?q=swe-bench"
curl "https://sophon.at/api/v1/evals/swe-bench"
curl "https://sophon.at/api/v1/models/gpt-5"

For LLMs and agents

Following the llmstxt.org convention, two plain-text endpoints give a model the catalog as context:

  • /llms.txt - a curated, one-line-per-entity map of the catalog, linking to the API
  • /llms-full.txt - the expanded companion, with descriptions, top scores, and relationships inlined so a model can answer without fetching each page

AI crawlers (GPTBot, ClaudeBot, PerplexityBot, and others) are allowed in robots.txt, and /api/v1 is open to them.

Command-line client (sophon)

A zero-dependency Node CLI (Node ≥ 18) over the same API. Hits production by default, so there is nothing to configure.

npm install -g sophon-at      # then use `sophon …`
# or run once, no install:
npx sophon-at search "swe-bench"
  • sophon search <query> [--type T] [--per N]
  • sophon get <type> <slug> - any of evals, models, tools, leaderboards, organizations, people, capabilities, papers
  • sophon paper <slug> --text | --pdf
  • sophon api · sophon help · sophon version

Built for agents. Output is the human summary on a terminal and JSON when piped (or with --json), so scripts and agents get structured data with no flags. sophon help --json returns a machine-readable manifest of every command, flag, and example. Errors are {"error":"…"} in JSON mode; exit codes are 0 ok, 1 runtime/remote error, 2 usage error. SOPHON_BASE points it at another host (e.g. a local dev server).

sophon help --json                 # machine-readable command manifest
sophon get model gpt-5 | jq .scores
sophon search "swe-bench" --json | jq '.results.eval[].slug'

Source and issues live in the repository; the package is sophon-at on npm.

Terms

  • Read-only and unauthenticated; please keep request volume reasonable.
  • Catalog content carries its upstream licenses - see attribution and the content policy.
  • Hidden sources are excluded everywhere, including the API and llms.txt.

Back to About.