Crates.io Scraper - Rust Package Metadata, Versions & Downloads
Pricing
Pay per usage
Crates.io Scraper - Rust Package Metadata, Versions & Downloads
Extract Rust crate metadata from crates.io: versions, downloads, keywords, categories, and repository links. Ideal for dependency auditing and Rust ecosystem research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Pierrick McD0nald
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Crates.io Scraper — Rust Package Metadata, Versions & Downloads
Extract comprehensive metadata from crates.io, the official Rust package registry. This Actor returns crate descriptions, license identifiers, keywords, categories, total downloads, recent download counts, version lists, and repository links. Whether you are auditing dependencies, tracking popular crates, or building a Rust ecosystem dataset, this tool delivers structured data without writing a single line of Rust.
Use Cases
- Dependency auditing — Pull metadata, license, and version history for crates in your supply chain.
- Market research — Compare download counts and recent activity across popular Rust packages.
- Catalog generation — Build searchable indexes of Rust crates with keywords, categories, and documentation links.
- Competitive analysis — Track release cadence and adoption trends for competing libraries.
- Open-source intelligence — Map repository links, documentation URLs, and maintainer ecosystems.
Input
| Field | Type | Required | Description |
|---|---|---|---|
crateNames | Array | No | List of crate names to scrape (e.g., serde, tokio, axum). Leave empty to search by query or use defaults. |
searchQuery | String | No | Search term for discovering crates. Used when crateNames is empty. |
maxItems | Number | No | Maximum number of crates to extract (default: 10). |
includeDownloads | Boolean | No | Fetch per-version download statistics for each crate (default: true). |
proxyConfiguration | Object | No | Proxy configuration. Apify proxy is included by default. |
Output
The Actor outputs a dataset with one row per crate:
{"crateName": "serde","description": "A generic serialization/deserialization framework","homepage": "https://serde.rs","documentation": "https://docs.rs/serde","repository": "https://github.com/serde-rs/serde","license": "MIT OR Apache-2.0","keywords": "serialization, deserialization, json","categories": "encoding, data-structures","downloads": 125000000,"recentDownloads": 45000000,"versionsCount": 180,"latestVersion": "1.0.228","latestVersionDownloads": 120000000,"createdAt": "2015-04-23T15:23:49Z","updatedAt": "2025-09-27T16:51:35Z","sourceUrl": "https://crates.io/crates/serde","error": ""}
Pricing
Pay per event: $0.001 per crate extracted. Charges are applied after each crate is successfully processed. If your spending limit is reached, the Actor stops gracefully without overcharging.
Limitations
- The Actor uses the public crates.io API, which may rate-limit aggressive usage.
- Download statistics are aggregated per-version and may not reflect real-time counters.
- Private crates or yanked-only crates may return limited metadata.
- Search results are capped by the crates.io pagination limit (100 per request).
FAQ
Q: Can I scrape a specific list of crates?
A: Yes. Pass the crate names in crateNames and set maxItems to the desired count.
Q: Do I need a crates.io account or API token? A: No. The Actor uses the public crates.io API with a standard User-Agent header.
Q: What happens if a crate is not found?
A: The Actor logs the error and continues processing the remaining crates. The output row will contain the crate name and an error field.
Changelog
- v1.0.0 — Initial release with crate search, metadata extraction, and download statistics.
Built for developers who need reliable Rust ecosystem data. Open an issue on this Actor's Apify page if you need support.