crates.io Scraper — Rust Packages & Downloads avatar

crates.io Scraper — Rust Packages & Downloads

Pricing

from $0.004 / crate scraped

Go to Apify Store
crates.io Scraper — Rust Packages & Downloads

crates.io Scraper — Rust Packages & Downloads

Search crates.io or look up exact Rust crates and get description, downloads, versions, license, keywords, categories, repository and documentation links. Clean public API, no key.

Pricing

from $0.004 / crate scraped

Rating

0.0

(0)

Developer

hiper soft

hiper soft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

crates.io Scraper — Rust Packages, Downloads, Versions & Licenses

Search crates.io or look up exact Rust crates by name and get back clean, structured JSON: description, all-time and recent download counts, latest and max-stable versions, license, keywords, categories, and repository, homepage and documentation links. It pulls from the official crates.io public API — no account, no API key. Built for Rust developers, dependency auditors and OSS analysts who need reliable, ready-to-use crate data.

Features

  • 🔎 Free-text search — run any crates.io query (web framework, async runtime) and collect matching crates in bulk.
  • 🎯 Exact lookups — pass precise crate names like tokio or serde and combine them with search results in one run.
  • 📊 Download metrics — capture both all-time downloads and recentDownloads for popularity and trend analysis.
  • 🗂️ Rich detail — optional per-crate detail adds license, keywords, categories and version count/size.
  • ↕️ Flexible sorting — order results by relevance, all-time downloads, recent downloads, recent updates or newest.
  • 🔗 Ready-to-use links — every record includes repository, documentation (docs.rs fallback), homepage and the canonical cratesUrl.
  • ⚙️ Reliable by design — descriptive User-Agent plus retry-with-backoff so runs finish cleanly.

What you get

Each crate becomes one clean JSON record:

{
"name": "tokio",
"description": "An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications.",
"downloads": 289456123,
"recentDownloads": 41234567,
"maxStableVersion": "1.38.0",
"newestVersion": "1.38.0",
"numVersions": 254,
"license": "MIT",
"latestVersion": "1.38.0",
"latestSize": 812345,
"keywords": ["async", "io", "non-blocking", "futures"],
"categories": ["asynchronous", "network-programming"],
"homepage": "https://tokio.rs",
"documentation": "https://docs.rs/tokio",
"repository": "https://github.com/tokio-rs/tokio",
"createdAt": "2016-06-27T12:00:00.000000+00:00",
"updatedAt": "2024-05-30T09:12:33.000000+00:00",
"cratesUrl": "https://crates.io/crates/tokio"
}

Input

{
"queries": ["web framework", "async runtime"],
"crates": ["tokio", "serde"],
"sort": "downloads",
"maxPerQuery": 50,
"includeDetail": true
}
FieldDescription
queriesFree-text crates.io searches (name, description, keywords). Each is scraped separately.
cratesExact crate names to look up, combined with any search results.
sortResult ordering: relevance, downloads, recent-downloads, recent-updates or new.
maxPerQueryMaximum crates to collect per search query (1–1000).
includeDetailFetch each crate's detail for license, keywords, categories and version count/size.

Use cases

  • Audit the licenses of crates used across your Rust workspace before shipping.
  • Track download momentum to compare competing crates in a category.
  • Build a catalog of crates for a topic (e.g. web frameworks) for research or content.
  • Enrich an internal dependency dashboard with descriptions, versions and repo links.

Pricing

Pay-per-event: you're billed a small amount per run and per item scraped — you only pay for what you get. See the Pricing tab for current rates.

FAQ

Do I need a crates.io account or API key? No. The actor reads from the official crates.io public JSON API, so no account, login or API key is required.

How many crates can I scrape per run? Each free-text query can return up to 1000 crates (maxPerQuery), and you can add any number of exact crate names like tokio or serde in the crates field, all in one run.

Is scraping crates.io allowed? This actor only reads publicly available crate data through the official crates.io API and sends a descriptive User-Agent as their crawler policy requests. Review the crates.io usage policy before large-scale or commercial reuse.

What's the output format? Structured JSON — one record per crate with fields such as description, downloads, recentDownloads, maxStableVersion, license, keywords, categories and repository/docs links. Export as JSON, CSV, Excel or via the API.

Can I sort or filter results? Yes. Use sort to order results by relevance, all-time downloads, recent downloads, recent updates or newest, and set includeDetail to add license, keywords, categories and version count/size per crate.

Tracking packages across ecosystems? Pair this with our other developer-data scrapers:

  • npm Package Scraper — search and look up npm packages with metadata, dependencies and downloads.
  • PyPI Package Scraper — metadata, dependencies, licenses and downloads for Python packages.
  • GitHub Scraper — repositories and user profiles with stars, topics, licenses and leads.
  • Docker Hub Scraper — image metadata, pulls, stars and tags from Docker Hub.

Notes

This actor uses the public crates.io JSON API and reads only publicly available package data. It is an independent tool and is not affiliated with, endorsed by, or sponsored by crates.io or the Rust Foundation; "crates.io" and "Rust" are trademarks of their respective owners.