rustcci
Fast Commons Category Inspection — deep category operations over Wikimedia Commons.
rustcci answers questions across the whole (deep, loopy) Commons category tree that are impractical live on the database replicas: files in the intersection of two categories, files in one but not another, everything below a category, the Featured / Quality / Valued images below it, and the subcategory path between two categories. It is a Rust re-implementation of FastCCI and is wire-compatible with it, so the Commons FastCCI gadget works against it unchanged.
API explorer
Interactive Swagger UI — try every parameter in the browser.
OpenAPI spec
The machine-readable API description (openapi.json).
Status
Queue depth, snapshot age, category count, system load.
Try a query
Responses are plain text — one RESULT line per batch, then a total — so they
display fine in a browser. Keep the depth small on a first click; unlimited depth over a
huge category traverses its entire subtree.
-
/?c1=3943817&a=list&d1=1&s=20List files in and below Featured pictures on Wikimedia Commons, one level deep (20 results). -
/?c1=3618826&a=fqv&d1=2&s=20Featured / Quality / Valued images below Quality images, depth 2. -
/?c1=3943817&a=list&d1=1&s=20&t=jsSame query wrapped as a JSONPfastcciCallback([...])call. -
/ancestors?title=Wikipedia-logo-v2.svg&names=1Walk a file's category trees upward to their roots — the ancestor categories and one shortest path per root, as JSON (names=1resolves titles). Usepage_id=instead oftitle=to skip the lookup.
To query your own category, find its page id — for example
this
API call for Category:Cats — and use it as c1.
Parameters
| Name | Meaning |
|---|---|
c1 | Primary category page id (required). |
c2 | Secondary category or file page id (defaults to c1). |
d1, d2 | Search depth for c1 / c2 (default: unlimited). |
a | Action: and (intersect, default), not (subtract), list, fqv, path. |
o, s | Result window offset and size (default 0 / 100). |
t | t=js wraps the response in a JSONP callback. |
The same URL upgraded to a WebSocket streams progressive
QUEUED/WAITING/WORKING status before the result.
Result format
Each result is a triplet pageid,depth,tag, joined by | into
RESULT lines; then OUTOF n (total or estimate),
DBAGE seconds, and DONE. A failed path emits
NOPATH. The tag marks quality: