MELPA Packages Scraper — Emacs Dataset avatar

MELPA Packages Scraper — Emacs Dataset

Pricing

Pay per event

Go to Apify Store
MELPA Packages Scraper — Emacs Dataset

MELPA Packages Scraper — Emacs Dataset

MELPA packages dataset: export the full MELPA Emacs archive (~6,300 packages) with download counts, versions, keywords, dependencies and source repos. Fast JSON.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Kaleb Holley

Kaleb Holley

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

MELPA Emacs Packages Scraper

Export the entire MELPA Emacs package archive (about 6,300 packages) as clean, structured data: package name, version, description, download counts, keywords, dependencies, source repository, commit and last-build date.

There is no other MELPA scraper on Apify Store. If you build Emacs packages, research the Emacs ecosystem, or want to know which packages are most popular, this Actor gives you the whole archive in about 2 seconds.

What can it do?

  • Full archive export. It merges MELPA's official archive.json with its official download_counts.json, so every package comes with its real download count.
  • Keyword search. Filter by name, description or MELPA keyword (for example lsp, org, theme, git).
  • Download threshold. Keep only packages above a minimum download count.
  • Type filter. Single-file packages or multi-file (tar) packages.
  • Sort. Most downloaded, name A-Z, or recently updated.
  • Fast and cheap. Two JSON requests. No browser, no proxy, no login. Runs in seconds on 256 MB.

Use cases

  • Package authors benchmarking downloads against alternatives
  • Emacs ecosystem research (which modes, themes and tools dominate)
  • Dependency analysis (which libraries everything depends on)
  • Lead lists of open-source maintainers and their repositories
  • Scheduled snapshots to chart download growth over time

Input

FieldTypeDescription
searchQuerystringOptional keyword. Empty = whole archive.
packageType"" / single / tarOptional MELPA package type filter.
minDownloadsintegerSkip packages below this download count.
sortBydownloads / name / updatedResult order.
maxItemsintegerMax results (default 100; set 10000 for the full archive).

Example: LSP-related packages with at least 1,000 downloads:

{ "searchQuery": "lsp", "minDownloads": 1000, "sortBy": "downloads", "maxItems": 100 }

Output

{
"name": "lsp-mode",
"version": "20261009.1332",
"description": "LSP mode",
"downloads": 2597387,
"type": "tar",
"keywords": ["languages"],
"dependencies": ["dash", "eldoc", "emacs", "f", "ht", "lv", "markdown-mode", "spinner"],
"repositoryUrl": "https://github.com/emacs-lsp/lsp-mode",
"commit": "a6c47c7867955fea450f833ba4f38b93411d7ea5",
"updatedAt": "2026-10-09T13:32:00+00:00",
"melpaUrl": "https://melpa.org/#/lsp-mode",
"scrapedAt": "2026-10-14T07:29:28+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 full-archive 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 the public, unauthenticated JSON files that the MELPA website itself loads (archive.json and download_counts.json). It collects no personal data.

How fresh is the data? Fetched live on every run. MELPA rebuilds packages continuously from their upstream repositories; updatedAt is derived from MELPA's YYYYMMDD.HHMM snapshot version.

Something broken or a field missing? Open an issue on the Actor's Issues tab.