Search cratesSearch the Rust package registry for crates by name, description and README text, or browse it by category, by keyword or by first letter. Order by relevance, by downloads, by recent downloads or by how recently each was published. The starting point for 'what is there for X in Rust?'. No API token required.
Get a crateGet everything crates.io publishes about a crate: what it is, its current version, its licence, its repository, how many times it has been downloaded all time and in the last 90 days, and the keywords and categories it is filed under. The starting point for almost any workflow about a crate. No API token required.
List a crate's versionsList the versions a crate has published, newest first, each with the date it went out, its size, its checksum, its minimum Rust version and whether it has since been yanked. Use it to build a release history, to see how often a project ships, or to find every version still on a supported release track. No API token required.
Get a versionGet one specific version of a crate: its licence, its size and checksum, the Cargo features it defines, the Rust edition and minimum compiler it needs, who published it and whether it came from a CI workflow rather than a person's token. Use it to read the metadata of the version a project pins, rather than whatever is newest today. No API token required.
List a version's dependenciesList what a crate depends on: each dependency with the version range it asks for, whether it is a normal, dev or build dependency, whether a Cargo feature gates it and which platforms it applies to. Filter to normal dependencies alone to see what actually ships. No API token required.
List reverse dependenciesList the crates that depend on a crate, with the version range each asks for and how often each is itself downloaded. The step for 'who would a breaking change here affect?' and for seeing which of your dependents are still on an old range. No API token required.
Get a crate's READMEGet the README shown on a crate's page. crates.io stores it already rendered, so this returns both the HTML and a plain-text flattening of it: the first to publish somewhere, the second to summarise, search or hand to an AI step. Kept out of Get a crate because it can run to hundreds of kilobytes, and cut to a length you choose. No API token required.
Get a version's download URLGet the URL of a version's .crate file, with its size and its SHA-256 so a later step can check what it downloaded. This hands back the link rather than the file itself, so nothing large passes through the workflow. No API token required.
Get a crate's download historyGet a crate's last 90 days of downloads: a total for each day, a total for each of its five newest versions, and the busiest day in the window. crates.io answers this one with around 450 raw rows; they are folded here into the series a chart or an alert actually wants. Narrow it to a date range to compare before and after a release. No API token required.
Get a version's download historyGet one version's daily downloads over the last 90 days, with its total, its average and its busiest day. Use it to watch a new release take up, or to see how much traffic an old version still gets before yanking it. No API token required.
List a crate's ownersList who can publish new versions of a crate: the people and the GitHub teams. Use it to audit who holds publishing rights across the crates you depend on, or to check an ownership change landed. No API token required.
List a user's or team's cratesList every crate one person or GitHub team owns. crates.io's own endpoint wants an internal numeric id, so this takes the login you can see and looks the id up for you. Use it to inventory what a team publishes, or to watch a maintainer's releases. No API token required.
List categoriesList the categories crates.io curates, each with what belongs in it and how many crates are filed under it. Unlike keywords, which any author can invent, these are a fixed set, so this is the way to see what the registry is organised into. No API token required.
Get a categoryGet one category with its description, how many crates it holds, and the categories above and below it (crates.io nests them, so 'no-std' has 'no-std::no-alloc' under it). No API token required.
List every category slugList every category slug and its description in one call, including the nested ones such as 'no-std::no-alloc' that the paged category listing splits across pages. The quickest way to get the whole vocabulary for a step that has to pick a category. No API token required.
List keywordsList the keywords crate authors have used, each with how many crates carry it. Order by popularity to see what the registry is actually about, or use it to find the exact spelling of a keyword before filtering a search by it. No API token required.
Get a keywordGet one keyword and how many crates carry it, so a workflow can check whether a keyword is in use and how crowded it is before filtering a search by it. No API token required.
Get a userGet a crates.io account by its username: their display name, their avatar, their GitHub profile and the numeric id the rest of the API uses. No API token required.
Get a user's download totalGet how many times everything a person has published has been downloaded, all time. crates.io's own endpoint wants an internal numeric id, so this takes the username and looks the id up for you. No API token required.
Get a teamGet a GitHub team that owns crates, by its crates.io login. Team logins are spelled github:<org>:<team>, e.g. github:rust-lang:crates-io. No API token required.
Get the registry summaryGet what crates.io shows on its front page: how many crates it holds and how often they have been downloaded, plus the ten newest crates, the ten just updated, the ten most downloaded, the ten most downloaded lately, and the most popular keywords and categories. One call for a digest of the whole registry. No API token required.
Get the registry's statusCheck whether crates.io is accepting writes. During maintenance the registry goes read-only, and any publish, yank or ownership change fails until it comes back, so a release workflow can test this first and wait rather than fail. Also returns the banner message crates.io is showing, if any. No API token required.