Dictionaries — entry 002 of 12

Chinese Text Project

Verified Jul 2026

Chinese Text Project's JSON API resolves opaque CTP URNs into full text, titles, and subsection metadata across its library of pre-Qin and Han-era classical Chinese works, and underpins the site's own browser plugins for text lookup and annotation. Anonymous requests work without any key but are rate-limited; logged-in accounts get a higher ceiling, and academic institutions can arrange a subscription that issues API keys for extended, programmatic access.

Chinese Text Project's JSON API resolves opaque CTP URNs into full text, titles, and subsection metadata across its library of pre-Qin and Han-era classical Chinese works. Anonymous requests work without any key but are rate-limited; the readlink/getlink pair converts freely between a ctext.org URL and its URN with no rate limit at all.

chineseclassical-chinesedictionarydigital-humanitiestext-corpus
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score71out of 100
Authentication25/25No authentication required
Pricing17/20Freemium tier available
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 71 on greatapis.com
<a href="https://greatapis.com/api/chinese-text-project/"><img src="https://greatapis.com/badge/chinese-text-project.svg" alt="Scored 71 on greatapis.com"></a>

Auth quickstart

  1. No key needed — call it now.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Resolve a ctext.org URL to its CTP URN

GEThttps://api.ctext.org/readlink?url=https://ctext.org/analects/xue-er

200 application/json; charset=utf-8

{
  "urn": "ctp:analects/xue-er"
}

The reverse lookup — turning a URN back into a link — is getlink?urn=ctp:analects/xue-er, which returns { "url": "https://ctext.org/analects/xue-er" }.

Developer reference

Gotchas & limits

  • The main gettext function (fetching actual passage content) returns ERR_REQUIRES_AUTHENTICATION for unauthenticated requests from most cloud/datacenter IPs — it's gated to registered residential-range IPs or an API key, unlike readlink/getlink which are open to everyone
  • Chapter-level URNs (e.g. ctp:analects/xue-er) return a fulltext array once authenticated; book-level URNs (e.g. ctp:analects) return a subsections array instead — the same function, two different shapes
  • Errors are always a JSON error object with a stable code field (e.g. ERR_INVALID_FUNCTION, ERR_MISSING_PARAM) — check code, not the human-readable description, for application logic
  • URNs are opaque identifiers the docs explicitly warn not to parse — treat them as strings to pass around, not to decompose