Crates.io Scraper
Pricing
Pay per event
Crates.io Scraper
Scrape Rust crates from crates.io — names, downloads, versions, descriptions, and repository links.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape Rust crates from crates.io, the Rust package registry. Search by keyword and get names, download counts, versions, descriptions, and repository links.
What does Crates.io Scraper do?
Crates.io Scraper uses the crates.io public API to search for Rust packages and extract metadata. It collects crate names, descriptions, current versions, total and recent download counts, repository URLs, and documentation links.
Sort results by relevance, downloads, recent activity, or newest crates.
Why scrape Crates.io?
Crates.io is the official package registry for Rust, hosting over 150,000 crates. It's the definitive source for understanding the Rust ecosystem.
Key reasons to scrape it:
- Ecosystem analysis — Map the Rust package landscape for any domain
- Technology research — Find the most popular libraries for specific use cases
- Competitive intelligence — Track download trends for competing crates
- Developer tools — Build dashboards or recommendation engines for Rust developers
- Market research — Understand Rust adoption patterns across industries
Use cases
- Rust developers finding the best libraries for their projects
- Engineering managers evaluating Rust ecosystem maturity
- Technical writers researching popular Rust packages for tutorials
- Open-source maintainers tracking competitor crate adoption
- Researchers studying open-source package ecosystems
- Investors analyzing Rust ecosystem growth trends
How to scrape Crates.io
- Go to Crates.io Scraper on Apify Store
- Enter one or more search keywords
- Choose sort order (relevance, downloads, etc.)
- Set result limits
- Click Start and wait for results
- Download data as JSON, CSV, or Excel
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | (required) | Keywords to search for |
sortBy | string | "relevance" | Sort: relevance, downloads, recent-downloads, recent-updates, new |
maxResultsPerSearch | integer | 100 | Max crates per keyword |
maxPages | integer | 5 | Max pages (50 crates/page) |
Input example
{"searchQueries": ["web framework", "async runtime"],"sortBy": "downloads","maxResultsPerSearch": 50}
Output
Each crate in the dataset contains:
| Field | Type | Description |
|---|---|---|
name | string | Crate name |
description | string | Crate description |
version | string | Latest stable version |
downloads | number | Total all-time downloads |
recentDownloads | number | Downloads in the last 90 days |
createdAt | string | First published date |
updatedAt | string | Last updated date |
repository | string | Source code repository URL |
homepage | string | Homepage URL |
documentation | string | Documentation URL |
cratesUrl | string | Crates.io page URL |
scrapedAt | string | ISO timestamp of extraction |
Output example
{"name": "serde","description": "A generic serialization/deserialization framework","version": "1.0.217","downloads": 403158920,"recentDownloads": 27365812,"createdAt": "2015-01-28T22:03:53.242031Z","updatedAt": "2025-01-07T20:45:16.399655Z","repository": "https://github.com/serde-rs/serde","homepage": "https://serde.rs","documentation": "https://docs.rs/serde","cratesUrl": "https://crates.io/crates/serde","scrapedAt": "2026-03-03T03:09:32.123Z"}
Pricing
Crates.io Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Crate extracted | $0.001 per crate |
Cost examples
| Scenario | Crates | Cost |
|---|---|---|
| Quick search | 50 | $0.051 |
| Ecosystem survey | 200 | $0.201 |
| Large analysis | 500 | $0.501 |
Platform costs are negligible — typically under $0.001 per run.
Using Crates.io Scraper with the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/crates-scraper').call({searchQueries: ['web framework'],sortBy: 'downloads',maxResultsPerSearch: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} crates`);items.forEach(crate => {console.log(`${crate.name} v${crate.version} (${crate.downloads.toLocaleString()} downloads)`);});
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/crates-scraper').call(run_input={'searchQueries': ['web framework'],'sortBy': 'downloads','maxResultsPerSearch': 50,})dataset = client.dataset(run['defaultDatasetId']).list_items().itemsprint(f'Found {len(dataset)} crates')for crate in dataset:print(f"{crate['name']} v{crate['version']} ({crate['downloads']:,} downloads)")
Integrations
Crates.io Scraper works with all Apify integrations:
- Scheduled runs — Track crate popularity trends over time
- Webhooks — Get notified when a scrape completes
- API — Trigger runs and fetch results programmatically
- Google Sheets — Export crate data to a spreadsheet
- Slack — Share popular crate updates with your team
Connect to Zapier, Make, or Google Sheets for automated workflows.
Tips
- Sort by downloads to find the most established crates in a category
- Sort by recent-downloads to find crates gaining momentum right now
- Sort by new to discover recently published crates
- Compare downloads vs recentDownloads to assess growth trends
- Use repository links to check activity, issues, and community engagement
- Multiple keywords let you survey different aspects of the ecosystem in one run
FAQ
How many crates can I get? Each page returns up to 50 crates. With pagination, you can fetch hundreds per keyword.
Does it include dependency information? No — the search API returns metadata only. For dependency trees, you'd need to query individual crate version endpoints.
Can I filter by category? The API search is keyword-based. Use specific terms like "web framework" or "database driver" to find crates in a category.
How often is crates.io data updated? Download counts and version info are updated in real time as crates are published and downloaded.