Rust-Crates-Scraper
Pricing
from $5.00 / 1,000 results
Rust-Crates-Scraper
Scrape Rust crates from crates.io. Get download stats, dependencies, health scores, and package metadata for supply chain analysis.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer

Julia P.
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Crates.io Scraper - Rust Package Registry Data
Extract metadata, download statistics, dependencies, and health scores from crates.io, the official Rust package registry.
What is this?
This actor scrapes the crates.io API to retrieve detailed information about Rust crates (packages/libraries). Use it to discover Rust libraries, analyze dependencies, assess package health, or monitor the Rust ecosystem.
Who is this for?
- Security teams — Audit Rust dependencies for supply chain risk assessment
- DevOps engineers — Monitor dependencies for maintenance status and updates
- Software architects — Evaluate libraries before adding them to projects
- VC analysts & researchers — Track trends in the Rust ecosystem
- Recruiters — Find active Rust developers through package ownership
- Developers — Discover well-maintained libraries for your next project
Features
- 🔍 Search by keyword — Find crates matching terms like "web framework" or "database"
- 📦 Lookup specific packages — Get data for known crate names
- 📊 Health scoring — Customizable scoring based on downloads, maintenance, and trust signals
- 🔗 Dependency analysis — See what each crate depends on
- ↩️ Reverse dependencies — See which crates depend on each package
- 📜 Version history — Get all published versions with release dates
- 🎛️ Flexible filters — Filter by license, update recency, minimum downloads
Input Parameters
Search Mode (provide one)
| Parameter | Type | Description |
|---|---|---|
packageNames | array | List of specific crate names to fetch |
keyword | string | Search term to find matching crates |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 50 | Maximum crates to return (1-500) |
minDownloads | integer | 0 | Minimum total downloads required |
licenseFilter | string | any | Filter by license: any, mit_apache, no_gpl |
updatedWithin | string | any | Recency filter: any, 6months, 1year |
sortBy | string | healthScore | Sort by: healthScore, downloads, recentDownloads, recentlyUpdated |
Data Enrichment
| Parameter | Type | Default | Description |
|---|---|---|---|
includeDependencies | boolean | true | Fetch direct dependencies |
includeReverseDependencies | boolean | false | Fetch crates that depend on this one |
includeVersionHistory | boolean | false | Fetch all published versions |
Health Score Weights (0-10)
Customize how the health score is calculated based on what matters to you:
| Parameter | Default | What it measures |
|---|---|---|
downloadsWeight | 6 | Total adoption/usage |
recentActivityWeight | 4 | Current momentum and trend |
maintenanceWeight | 5 | How recently the crate was updated |
reverseDepsWeight | 5 | Trust signal from other crates |
Output
Each crate returns:
{"name": "serde","description": "A generic serialization/deserialization framework","version": "1.0.193","license": "MIT OR Apache-2.0","totalDownloads": 250000000,"recentDownloads": 15000000,"createdAt": "2015-03-03T03:17:05Z","updatedAt": "2024-01-15T10:30:00Z","daysSinceUpdate": 5,"repository": "https://github.com/serde-rs/serde","homepage": "https://serde.rs","documentation": "https://docs.rs/serde","cratesUrl": "https://crates.io/crates/serde","keywords": ["serde", "serialization"],"categories": ["encoding"],"yanked": false,"healthScore": {"score": 89,"breakdown": {"downloads": {"raw": 100, "weight": 6},"recentActivity": {"raw": 60, "weight": 4},"maintenance": {"raw": 100, "weight": 5},"reverseDependencies": {"raw": 100, "weight": 5}}},"dependencies": {"count": 2,"direct": [{"name": "serde_derive", "requirement": "^1.0", "optional": true, "kind": "normal"}]},"reverseDependencies": {"count": 45000,"top_dependents": ["tokio", "reqwest", "actix-web"]}}
Health Score Explained
The health score (0-100) helps you quickly assess crate quality. Each factor is scored 0-100, then combined using your weights.
Downloads Score
| Downloads | Score |
|---|---|
| 10M+ | 100 |
| 1M+ | 85 |
| 100K+ | 70 |
| 10K+ | 55 |
| 1K+ | 40 |
| 100+ | 25 |
| <100 | 10 |
Maintenance Score
| Last Updated | Score |
|---|---|
| < 30 days | 100 |
| < 90 days | 80 |
| < 6 months | 60 |
| < 1 year | 40 |
| < 2 years | 20 |
| > 2 years | 5 |
Recent Activity Score
Based on ratio of recent downloads (90 days) to total downloads. Higher ratio = growing adoption.
Reverse Dependencies Score
| Dependents | Score |
|---|---|
| 100+ | 100 |
| 50+ | 80 |
| 20+ | 60 |
| 5+ | 40 |
| 1+ | 20 |
| 0 | 0 |
Example Use Cases
Find well-maintained web frameworks
- Keyword:
web framework - Updated within:
Last 6 months - Maintenance weight:
10 - Sort by:
Health Score
Audit specific dependencies
- Package names:
serde,tokio,reqwest,hyper - Include reverse dependencies:
true - Include version history:
true
Discover trending libraries
- Keyword:
async - Recent activity weight:
10 - Sort by:
Recent Downloads
Rate Limiting
This actor respects the crates.io crawler policy:
- Maximum 1 request per second
- Proper User-Agent identification
Processing time depends on options enabled:
- Basic search: ~1 second per crate
- With dependencies: ~2 seconds per crate
- With reverse deps: ~3 seconds per crate
- All options: ~4 seconds per crate
Data Source
All data comes from the official crates.io API. This actor does not scrape HTML — it uses the documented JSON API endpoints.
Related Keywords
Rust packages, Rust libraries, cargo crates, Rust dependency analysis, supply chain