crates.io website screenshot

crates.io

crates.io is the official package registry for the Rust programming language, operated by the crates.io team under the Rust Foundation with infrastructure support from Amazon Web Services and Fastly. It exposes a Web API at /api/v1 used by Cargo and the website for search, publishing, yanking, and owner management, plus a sparse HTTP index at index.crates.io that has been Cargo's default registry protocol since Rust 1.70 (June 2023). The legacy git index is still mirrored. Every published version is checksummed with SHA-256 and companion documentation is auto-built on docs.rs. The crates.io source code is dual-licensed under Apache-2.0 and MIT and runs on Rust (axum, diesel) with a SvelteKit frontend.

crates.io publishes 5 APIs on the APIs.io network, including Config API, Crates API, Index API, and 2 more. Tagged areas include Rust, Package Registry, Crates, Cargo, and Open Source.

The crates.io catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.

crates.io’s developer surface includes authentication, developer portal, documentation, getting-started guide, tooling, engineering blog, changelog, and 30 more developer resources.

45.8/100 developing ▬ flat Agent 31/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessSelf serve
5 APIs 14 Features
RustPackage RegistryCratesCargoOpen SourceDeveloper ToolsRust Foundation

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 45.8/100 · developing
Contract Quality 17.0 / 25
Developer Ergonomics 9.1 / 20
Commercial Clarity 0.0 / 20
Operational Transparency 6.2 / 13
Governance 7.0 / 12
Discoverability 6.5 / 10
Agent readiness — 31/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/crates-io: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

crates.io Config API

Registry configuration document

crates.io Crates API

Search and manage Rust crates

crates.io Index API

Per-crate index metadata files served over HTTP

crates.io Owners API

List, add, and remove crate owners

crates.io Versions API

Yank and unyank crate versions

Open Collections 2

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

crates.io Web API

OPEN COLLECTION

Features 14

Notable capabilities this provider offers.

Centralized package registry for the Rust programming language operated by the crates.io team under the Rust Foundation
Web API at https://crates.io/api/v1 for search, crate detail, version detail, download redirect, publish, yank, unyank, and owner management
Sparse HTTP index at https://index.crates.io (default for Cargo since Rust 1.70) — replaces the legacy git index for the vast majority of fetches
Legacy git index at https://github.com/rust-lang/crates.io-index still mirrored for source replacement and offline scenarios
SHA-256 checksums published per version for tamper-evident downloads
Index format v2 with features2 map for namespaced and weak-dep features
Per-crate keywords, categories, and reverse-dependency listings on the website
Authentication via per-user API tokens scoped to publish, yank, and owner-management permissions
Trusted Publishing flow via crates-io-auth-action exchanging GitHub Actions OIDC tokens for short-lived publish tokens
Open source under Apache-2.0 and MIT — backend in Rust (axum + diesel), frontend in SvelteKit/TypeScript
Infrastructure sponsored by Amazon Web Services (file hosting) and Fastly (CDN)
Status page at status.crates.io reporting crates.io and docs.rs uptime
Companion documentation host docs.rs auto-builds and serves docs for every published crate version
No paid plans — operated as a public good of the Rust ecosystem

Scroll for all 14

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Crates Io Context

0 classes · 8 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

crates.io API Rules

6 rules · 5 warnings 1 info

SPECTRAL

crates.io API Rules

7 rules · 1 errors 3 warnings 1 info

SPECTRAL

JSON Schema 2

Standalone JSON Schema definitions for this provider's data models.

crates.io Crate

4 properties

JSON SCHEMA

crates.io Sparse Index Entry

10 properties

JSON SCHEMA

JSON Structure 1

JSON Structure definitions describing this provider's data shapes.

Crates Io Crate Structure

0 properties

JSON STRUCTURE

Examples 4

Example request and response payloads for these APIs.

Crates Io Config Example

2 fields

EXAMPLE

Crates Io Search Example

2 fields

EXAMPLE

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Crates Io Authentication

apiKey · 1 scheme

SECURITY

Crates Io Domain Security

TLSv1.3 · DMARC

SECURITY

Crates Io Vulnerability Disclosure

security.txt · contact published

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Crates Io Agentic Access

15 operations · 5 acting

15 operations · 5 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 9

Reference material describing how the API behaves

Scroll for all 9

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 10

SDKs, sample code, and the tooling you integrate with

Scroll for all 10

Access & Security 4

Authentication, authorization, and security posture

Operate 5

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 3

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: crates-io
url: https://raw.githubusercontent.com/api-evangelist/crates-io/refs/heads/main/apis.yml
apis:
- aid: crates-io:crates-io-config-api
  name: crates.io Config API
  description: Registry configuration document
  humanURL: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  tags:
  - Config
  properties:
  - type: OpenAPI
    url: openapi/crates-io-config-api-openapi.yml
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  - type: JSONSchema
    url: json-schema/crates-io-crate-schema.json
  - type: JSONStructure
    url: json-structure/crates-io-crate-structure.json
  - type: JSONLD
    url: json-ld/crates-io-context.jsonld
  - type: SpectralRules
    url: rules/crates-io-rules.yml
  - type: Examples
    url: examples/crates-io-search-example.json
  - type: Examples
    url: examples/crates-io-get-crate-example.json
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-index.html
  - type: Documentation
    url: https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
  - type: JSONSchema
    url: json-schema/crates-io-index-entry-schema.json
  - type: Examples
    url: examples/crates-io-config-example.json
  - type: Examples
    url: examples/crates-io-sparse-index-example.json
- aid: crates-io:crates-io-crates-api
  name: crates.io Crates API
  description: Search and manage Rust crates
  humanURL: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  tags:
  - Crates
  properties:
  - type: OpenAPI
    url: openapi/crates-io-crates-api-openapi.yml
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  - type: JSONSchema
    url: json-schema/crates-io-crate-schema.json
  - type: JSONStructure
    url: json-structure/crates-io-crate-structure.json
  - type: JSONLD
    url: json-ld/crates-io-context.jsonld
  - type: SpectralRules
    url: rules/crates-io-rules.yml
  - type: Examples
    url: examples/crates-io-search-example.json
  - type: Examples
    url: examples/crates-io-get-crate-example.json
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-index.html
  - type: Documentation
    url: https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
  - type: JSONSchema
    url: json-schema/crates-io-index-entry-schema.json
  - type: Examples
    url: examples/crates-io-config-example.json
  - type: Examples
    url: examples/crates-io-sparse-index-example.json
- aid: crates-io:crates-io-index-api
  name: crates.io Index API
  description: Per-crate index metadata files served over HTTP
  humanURL: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  tags:
  - Index
  properties:
  - type: OpenAPI
    url: openapi/crates-io-index-api-openapi.yml
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  - type: JSONSchema
    url: json-schema/crates-io-crate-schema.json
  - type: JSONStructure
    url: json-structure/crates-io-crate-structure.json
  - type: JSONLD
    url: json-ld/crates-io-context.jsonld
  - type: SpectralRules
    url: rules/crates-io-rules.yml
  - type: Examples
    url: examples/crates-io-search-example.json
  - type: Examples
    url: examples/crates-io-get-crate-example.json
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-index.html
  - type: Documentation
    url: https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
  - type: JSONSchema
    url: json-schema/crates-io-index-entry-schema.json
  - type: Examples
    url: examples/crates-io-config-example.json
  - type: Examples
    url: examples/crates-io-sparse-index-example.json
- aid: crates-io:crates-io-owners-api
  name: crates.io Owners API
  description: List, add, and remove crate owners
  humanURL: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  tags:
  - Owners
  properties:
  - type: OpenAPI
    url: openapi/crates-io-owners-api-openapi.yml
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  - type: JSONSchema
    url: json-schema/crates-io-crate-schema.json
  - type: JSONStructure
    url: json-structure/crates-io-crate-structure.json
  - type: JSONLD
    url: json-ld/crates-io-context.jsonld
  - type: SpectralRules
    url: rules/crates-io-rules.yml
  - type: Examples
    url: examples/crates-io-search-example.json
  - type: Examples
    url: examples/crates-io-get-crate-example.json
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-index.html
  - type: Documentation
    url: https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
  - type: JSONSchema
    url: json-schema/crates-io-index-entry-schema.json
  - type: Examples
    url: examples/crates-io-config-example.json
  - type: Examples
    url: examples/crates-io-sparse-index-example.json
- aid: crates-io:crates-io-versions-api
  name: crates.io Versions API
  description: Yank and unyank crate versions
  humanURL: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  tags:
  - Versions
  properties:
  - type: OpenAPI
    url: openapi/crates-io-versions-api-openapi.yml
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  - type: JSONSchema
    url: json-schema/crates-io-crate-schema.json
  - type: JSONStructure
    url: json-structure/crates-io-crate-structure.json
  - type: JSONLD
    url: json-ld/crates-io-context.jsonld
  - type: SpectralRules
    url: rules/crates-io-rules.yml
  - type: Examples
    url: examples/crates-io-search-example.json
  - type: Examples
    url: examples/crates-io-get-crate-example.json
  - type: Documentation
    url: https://doc.rust-lang.org/cargo/reference/registry-index.html
  - type: Documentation
    url: https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
  - type: JSONSchema
    url: json-schema/crates-io-index-entry-schema.json
  - type: Examples
    url: examples/crates-io-config-example.json
  - type: Examples
    url: examples/crates-io-sparse-index-example.json
name: crates.io
tags:
- Rust
- Package Registry
- Crates
- Cargo
- Open Source
- Developer Tools
- Rust Foundation
kind: contract
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/crates-io.png
access: 3rd-Party
common:
- type: AgenticAccess
  url: agentic-access/crates-io-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/crates-io-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/crates-io-domain-security.yml
- type: Authentication
  url: authentication/crates-io-authentication.yml
- url: https://crates.io
  name: crates.io
  type: Portal
- url: https://doc.rust-lang.org/cargo/
  name: The Cargo Book
  type: Documentation
- url: https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  name: Registry Web API Reference
  type: Documentation
- url: https://doc.rust-lang.org/cargo/reference/registry-index.html
  name: Registry Index (Sparse + Git) Reference
  type: Documentation
- url: https://doc.rust-lang.org/cargo/reference/registries.html
  name: Cargo Registries Overview
  type: Documentation
- url: https://doc.rust-lang.org/cargo/reference/registry-authentication.html
  name: Registry Authentication
  type: Documentation
- url: https://doc.rust-lang.org/cargo/reference/publishing.html
  name: Publishing on crates.io
  type: GettingStarted
- url: https://github.com/rust-lang/crates.io
  name: rust-lang/crates.io Source Code
  type: GitHubOrganization
- url: https://github.com/rust-lang/crates.io-index
  name: rust-lang/crates.io-index (legacy git index)
  type: SourceCode
- url: https://github.com/rust-lang/crates.io-index-archive
  name: crates.io-index Archive
  type: SourceCode
- url: https://github.com/rust-lang/cargo
  name: rust-lang/cargo
  type: SourceCode
- url: https://github.com/rust-lang/crates-io-auth-action
  name: crates-io-auth-action (Trusted Publishing)
  type: Tools
- url: https://github.com/rust-lang/crates-io-cargo-teams
  name: crates.io and Cargo Teams Home
  type: GitHubOrganization
- url: https://github.com/rust-lang/crates-io-ops-bot
  name: crates-io-ops-bot
  type: Tools
- url: https://github.com/rust-lang/crates_io_og_image
  name: crates.io OpenGraph image generator
  type: Tools
- url: https://github.com/rust-lang/crates-io-heroku-metrics
  name: crates.io Heroku metrics collector
  type: Tools
- url: https://status.crates.io/
  name: crates.io Status
  type: StatusPage
- url: https://blog.rust-lang.org/inside-rust/
  name: Inside Rust Blog
  type: Blog
- url: https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
  name: Rust 1.68 — Sparse registry protocol
  type: ChangeLog
- url: https://github.com/rust-lang/crates.io/blob/main/CONTRIBUTING.md
  name: Contributing to crates.io
  type: Documentation
- url: https://github.com/rust-lang/crates.io/blob/main/SECURITY.md
  name: Security Policy
  type: SecurityPolicy
- url: https://github.com/rust-lang/crates.io/blob/main/CODE_OF_CONDUCT.md
  name: Code of Conduct
  type: CodeOfConduct
- url: https://github.com/rust-lang/crates.io/blob/main/LICENSE-APACHE
  name: Apache 2.0 License
  type: License
- url: https://github.com/rust-lang/crates.io/blob/main/LICENSE-MIT
  name: MIT License
  type: License
- url: mailto:help@crates.io
  name: help@crates.io
  type: Support
- url: https://rust-lang.zulipchat.com/#narrow/stream/318791-t-crates-io
  name: Zulip —
  type: Forums
- url: https://github.com/rust-lang/crates.io/discussions
  name: GitHub Discussions
  type: Forums
- url: https://crates.io/policies
  name: Policies
  type: Documentation
- url: https://crates.io/data-access
  name: Data Access
  type: Documentation
- url: https://docs.rs
  name: docs.rs (companion documentation host)
  type: Documentation
- url: https://foundation.rust-lang.org/
  name: Rust Foundation
  type: Sponsor
- url: https://aws.amazon.com/
  name: Amazon Web Services (infrastructure)
  type: Sponsor
- url: https://www.fastly.com/
  name: Fastly (CDN)
  type: Sponsor
- type: Features
  data:
  - Centralized package registry for the Rust programming language operated by the crates.io team under the Rust Foundation
  - Web API at https://crates.io/api/v1 for search, crate detail, version detail, download redirect, publish, yank, unyank,
    and owner management
  - Sparse HTTP index at https://index.crates.io (default for Cargo since Rust 1.70) — replaces the legacy git index for the
    vast majority of fetches
  - Legacy git index at https://github.com/rust-lang/crates.io-index still mirrored for source replacement and offline scenarios
  - SHA-256 checksums published per version for tamper-evident downloads
  - Index format v2 with features2 map for namespaced and weak-dep features
  - Per-crate keywords, categories, and reverse-dependency listings on the website
  - Authentication via per-user API tokens scoped to publish, yank, and owner-management permissions
  - Trusted Publishing flow via crates-io-auth-action exchanging GitHub Actions OIDC tokens for short-lived publish tokens
  - Open source under Apache-2.0 and MIT — backend in Rust (axum + diesel), frontend in SvelteKit/TypeScript
  - Infrastructure sponsored by Amazon Web Services (file hosting) and Fastly (CDN)
  - Status page at status.crates.io reporting crates.io and docs.rs uptime
  - Companion documentation host docs.rs auto-builds and serves docs for every published crate version
  - No paid plans — operated as a public good of the Rust ecosystem
  sources:
  - https://crates.io
  - https://github.com/rust-lang/crates.io
  - https://doc.rust-lang.org/cargo/reference/registry-web-api.html
  - https://doc.rust-lang.org/cargo/reference/registry-index.html
  - https://doc.rust-lang.org/cargo/reference/registries.html
  - https://status.crates.io/
  updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Consuming
description: 'crates.io is the official package registry for the Rust programming language, operated by the crates.io team
  under the Rust Foundation with infrastructure support from Amazon Web Services and Fastly. It exposes a Web API at /api/v1
  used by Cargo and the website for search, publishing, yanking, and owner management, plus a sparse HTTP index at index.crates.io
  that has been Cargo''s default registry protocol since Rust 1.70 (June 2023). The legacy git index is still mirrored. Every
  published version is checksummed with SHA-256 and companion documentation is auto-built on docs.rs. The crates.io source
  code is dual-licensed under Apache-2.0 and MIT and runs on Rust (axum, diesel) with a SvelteKit frontend.

  '
maintainers:
- FN: Kin Lane
  email: info@apievangelist.com
  X: apievangelist
  url: https://apievangelist.com
specificationVersion: '0.16'