JupyterLab Extensions Scraper — npm Dataset
Pricing
Pay per event
JupyterLab Extensions Scraper — npm Dataset
JupyterLab extensions dataset: discover ~1,000 JupyterLab extensions on npm with weekly downloads, versions, publishers, keywords and repos. Fast, no login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Kaleb Holley
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
JupyterLab Extensions Scraper (npm)
Discover JupyterLab extensions published on the public npm registry (about 1,000 packages tagged jupyterlab-extension) as clean, structured data: package name, version, description, publisher, weekly downloads, npm search score, repository, homepage, keywords and last-publish date.
There is no other JupyterLab extensions scraper on Apify Store. If you build Jupyter tooling, research the data-science developer ecosystem, or track which extensions people actually install, this Actor gives you the list in seconds.
What can it do?
- Catalog discovery. Searches npm for every package tagged
jupyterlab-extension,jupyterlab-featureregistryor "jupyterlab extension" and de-duplicates the results. - Real download numbers. Weekly downloads for every package, with a fallback to npm's official downloads API when the search result has none.
- Keyword search. Filter by name, description or keyword (for example
git,ai,theme,sql). - Download threshold. Keep only packages above a minimum weekly download count.
- Sort. Most downloaded, name A-Z, or recently updated.
- Clean repo links.
git+https://…/repo.gitis normalized to a plain browsable URL. - No browser, no proxy, no login. Public npm JSON APIs only. Runs in seconds on 256 MB.
Use cases
- Extension authors benchmarking downloads against competing extensions
- Data-science tooling market research (AI assistants, SQL, Git, themes, viewers)
- Lead lists of open-source maintainers and their repositories
- Spotting abandoned extensions (sort by
updated) to fork or replace - Scheduled weekly snapshots to chart adoption over time
Input
| Field | Type | Description |
|---|---|---|
searchQuery | string | Optional keyword. Empty = all JupyterLab extensions found. |
minWeeklyDownloads | integer | Skip packages below this weekly download count. |
sortBy | downloads / name / updated | Result order. |
maxItems | integer | Max results (default 100; set 2000 for everything). |
Example: Git-related extensions, most downloaded first:
{ "searchQuery": "git", "sortBy": "downloads", "maxItems": 50 }
Output
{"name": "@jupyterlab/git","version": "0.55.0","description": "A JupyterLab extension for version control using git","publisher": "GitHub Actions","weeklyDownloads": 928,"score": 197.21,"repositoryUrl": "https://github.com/jupyterlab/jupyterlab-git","npmUrl": "https://www.npmjs.com/package/@jupyterlab/git","homepage": "https://github.com/jupyterlab/jupyterlab-git","keywords": ["Jupyter", "JupyterLab", "jupyterlab-extension", "Git"],"updatedAt": "2026-10-07T12:27:54.239Z","scrapedAt": "2026-10-14T07:29:48+00:00"}
Export to JSON, CSV, Excel, XML or HTML, or pull results through the Apify API, webhooks, Make, Zapier or n8n.
Pricing
Free to use right now: you pay only the tiny Apify platform usage of your own run (a typical run uses well under $0.01). Pay-per-result pricing may be added later, with advance notice as Apify requires.
FAQ
Is it legal? The Actor reads only public package metadata from the official npm registry search API and the npm downloads API, the same data shown on npmjs.com. It collects no personal data beyond the public publisher usernames on each package.
Does it include Python-only (PyPI) extensions? Prebuilt JupyterLab 4 extensions are distributed through PyPI but almost all publish their frontend package to npm too, so they usually appear here. Pure-Python server extensions without an npm package are not included.
Why "about 1,000"? npm's search API returns at most 1,000 results per query. The Actor runs several keyword queries and merges them to maximize coverage.
Something broken or a field missing? Open an issue on the Actor's Issues tab.