Every crate in the Churro cache: which versions are compiled, for which Rust release and platform, with which features. When a build needs one of these, Cargo downloads it instead of compiling it. The catalog page at https://churro.sh/catalog/ reads the public API below, and so can you.
For one crate as Markdown, open https://churro.sh/catalog.md?crate=NAME, for example serde. To search by part of a name, use https://churro.sh/catalog.md?q=QUERY. These pages are generated from the live cache, like the catalog page itself (https://churro.sh/catalog/?crate=NAME).
Read-only JSON at https://cache.churro.sh. No key, no sign-up, and any origin may call it (CORS is open). Responses are cached for up to a minute.
GET https://cache.churro.sh/v1/crates?q=QUERY&limit=N
Crates whose name contains QUERY, ignoring case and treating - and _ alike: an exact match first, then names that start with it, then the rest, each by number of cached builds. limit defaults to 20, at most 50. Without q, the most cached crates, plus totals for the whole cache.
{
"query": "tok",
"total": 1,
"limit": 20,
"crates": [
{ "name": "tokio", "versions": 4, "latest": "1.47.1", "entries": 38, "bytes": 51234816, "last": "2026-09-26T21:04:11Z" }
]
}
entries is the number of compiled builds and bytes their total size. An empty query adds "totals": { "crates", "versions", "entries", "bytes" } for the whole cache.
GET https://cache.churro.sh/v1/crates/NAME (optionally ?version=V)
Every cached build of the crate, newest version first, at most 1,000.
{
"crate": "tokio",
"limit": 1000,
"entries": [
{
"version": "1.47.1",
"target": "x86_64-unknown-linux-gnu",
"rust": "1.98.1",
"profile": "dev",
"mode": "build",
"kind": "lib",
"features": ["default", "macros", "rt-multi-thread"],
"bytes": 1843200,
"published_at": "2026-09-26T21:04:11Z",
"key": "…64 hex characters…"
}
]
}
profile: dev (debug) or releasemode: build, or check for cargo checkkind: lib, proc-macro or build-scriptkey: the cache key. On a machine that has it in its local Churro cache, churro explain KEY shows what went into it.A build is only used when everything matches yours, so a crate being listed means a build with these exact settings is ready, not every build of it.