jsDelivr Package Stats Scraper
Pricing
from $25.88 / 1,000 results
jsDelivr Package Stats Scraper
Scrapes jsDelivr CDN package statistics: top rankings, single-package version and file details, and network totals. Returns hits and bandwidth per record.
Pricing
from $25.88 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
jsDelivr Package Stats Scraper
Scrape jsDelivr package download stats, rankings, and per-version CDN traffic for any npm or GitHub package. Get hits, bandwidth, and detailed file-level usage data. No API key required. Export to CSV, JSON, Excel, or XML.
jsDelivr's public API limits how much history you can pull in one call and requires you to stitch together multiple endpoints for a complete picture. This Actor reads the package stats endpoints directly, returning top rankings, single-package version and file breakdowns, or network-wide totals in one fixed schema. You can filter by npm packages, GitHub repos, or both, and choose any calendar or sliding time window.
| Who uses it | What they scrape jsDelivr CDN Stats API for |
|---|---|
| Open-source maintainers | Monitor daily download trends and version adoption for their npm or GitHub packages. |
| Developer tool vendors | Identify the most popular front-end libraries by CDN hits to prioritize integrations. |
| Data analysts | Build time-series datasets of package bandwidth consumption across the jsDelivr network. |
| Competitive intelligence teams | Track rival package growth by hits and bandwidth over calendar months. |
What it does
This Actor collects jsDelivr CDN package statistics by top rankings, single-package detail, or network totals, and returns each record as a flat row.
- ๐ Top rankings: the most popular packages by total hits or bandwidth, filtered by source and time window.
- ๐ฆ Single package detail: per-version and per-file CDN stats for one specific npm or GitHub package.
- ๐ Network total stats: aggregate hits and bandwidth across the entire jsDelivr CDN for a chosen period.
- ๐ Flexible time windows: calendar day, week, month, year, sliding 30-day or 365-day windows, and all-time.
- ๐ข Configurable output: set a maximum number of packages to collect per run, up to one million.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with jsDelivr CDN Stats API data
๐ Monitor your package's CDN growth.
An open-source maintainer runs the Actor weekly in single-package mode to see which versions users are pulling and whether migration to the latest release is happening.
๐ Research top front-end libraries.
A developer tools startup scrapes the npm rankings by hits for the last 30 days to decide which frameworks to support in their next product update.
๐ Build a bandwidth consumption report.
A data analyst collects network total stats month by month and plots the trend to forecast CDN infrastructure costs for a client.
โ๏ธ Compare package popularity.
A competitive intelligence team pulls the top 100 GitHub repos by bandwidth each quarter to benchmark their employer's open-source project against peers.
Why choose this scraper
| What you get | |
|---|---|
| Hits and bandwidth | Total CDN hits and bytes served for every package, version, or file. |
| Source filtering | Choose npm packages, GitHub repositories, or both in a single run. |
| Per-version breakdown | See which versions of a package are being served by the CDN. |
| Per-file detail | Get hit counts for individual files within a package version. |
| Historical dates | Anchor queries to a specific day, month, or year for historical analysis. |
How it compares
This Actor focuses on flexible mode selection and detailed per-version, per-file breakdowns, while the alternative also extracts package-stat URLs.
| Feature | ParseForge | jsDelivr Packages Scraper - CDN Package Stats |
|---|---|---|
| Top rankings mode | Yes | Yes |
| Single package detail (versions + files) | Yes | Not listed |
| Network total stats mode | Yes | Not listed |
| Sliding time windows (last 30/365 days) | Yes | Not listed |
| Per-file hit counts | Yes | Not listed |
| Package-stat URL extraction | Not listed | Yes |
Configure the run
Drive the Actor by selecting a mode (rankings, single package, or network totals), then set the package source, time period, and sort criterion. Filters run as each stat is read so only matching records reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"type": "npm","period": "month","by": "hits","maxItems": 10}
A larger pull:
{"type": "npm","period": "month","by": "hits","maxItems": 200}
Pricing
Pay-per-result: $0.0345 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $3.45 |
| 1,000 results | $34.50 |
| 10,000 results | $345.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the jsDelivr Package Stats Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to jsDelivr CDN Stats API through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/jsdelivr-package-stats-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results for my package name?
Check that the package name is spelled correctly and matches the source. For npm, use the exact package name (e.g. 'react'). For GitHub, use the owner/repo format (e.g. 'jquery/jquery'). Also verify that the package has traffic in the selected period.
The Actor returns fewer packages than my maxItems setting.
The jsDelivr API returns at most 1,000 entries per request. If you request more than 1,000, the Actor paginates automatically, but the total available may be less than your limit if the source does not have that many packages.
I selected a past date but got current data.
Ensure the date format matches the period: YYYY-MM-DD for day, YYYY-MM for month, YYYY for year. Leave the field blank to use the current period.
Why are GitHub repo stats lower than I expected?
jsDelivr only returns stats for public GitHub repositories. Private repos are not included. Also, GitHub-sourced stats may have lower traffic than their npm equivalents.
The per-file stats are empty for my package.
Not all packages expose per-file statistics. This depends on how the package is structured and served by jsDelivr. Try a different version or check if the package has a standard file layout.
FAQ
| Question | Answer |
|---|---|
| What is the difference between calendar and sliding periods? | Calendar periods align to standard boundaries: a calendar month is January, February, etc. Sliding periods are rolling windows ending today: a sliding month is the last 30 days, and a sliding year is the last 365 days. |
| Can I get stats for a GitHub repository? | Yes. Set the package source to 'GitHub repositories' and provide the owner/repo name (e.g. 'jquery/jquery') in single-package mode. Only public repository stats are available. |
| How do I get per-version download counts for my npm package? | Choose the 'Single package detail' mode, enter your package name (e.g. 'react'), and the Actor returns a row for each version with its hits and bandwidth. |
| Does this Actor require a jsDelivr API key? | No. It reads the public jsDelivr stats endpoints directly. No registration or API key is needed. |
| What does the network total stats mode return? | It returns one row with the aggregate hits and bandwidth served across the entire jsDelivr CDN for the period you select. |
| Can I get file-level stats inside a package? | Yes. In single-package mode, the Actor returns per-file hit counts for each version of the package. |
| How far back can I pull historical data? | You can anchor any period to a past date using the Date field. For all-time stats, select the 'All-time' period option. |
| What export formats are supported? | You can export your results to CSV, JSON, Excel, or XML directly from the Apify dataset. |
| Can I scrape both npm and GitHub packages in one rankings run? | Yes. Set the package source to 'All sources' when using the rankings mode to get a combined top list. |
| Is there a limit to how many packages I can collect? | You can set the maximum packages field up to 1,000,000 per run. The jsDelivr API itself returns up to 1,000 entries per request, and the Actor handles pagination automatically. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by jsDelivr. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
