Homebrew Formulae and Casks Scraper avatar

Homebrew Formulae and Casks Scraper

Pricing

from $6.11 / 1,000 results

Go to Apify Store
Homebrew Formulae and Casks Scraper

Homebrew Formulae and Casks Scraper

Pull Homebrew formulae and casks from formulae.brew.sh in one run. Each record carries the package name, description, license, homepage, stable and head versions, dependencies, bottle download URLs, and install counts. Handy for registry mirrors, dependency audits, and package dashboards.

Pricing

from $6.11 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

ParseForge Banner

🍺 Homebrew Formulae and Casks Scraper

🚀 Export the Homebrew package catalog in one run. Pull formulae and casks straight from the official formulae.brew.sh API, with versions, dependencies, bottle URLs, and real install counts.

🕒 Last updated: 2026-06-08 · 📊 Up to 24 fields per record · 2 catalogs (formulae + casks) · live data from formulae.brew.sh

Turn the Homebrew package index into clean, structured records you can drop into a registry mirror, a dependency dashboard, or an internal package catalog. Pick formulae (command line tools and libraries) or casks (macOS desktop apps), name the exact packages you want, and get one tidy record per package with versions, dependencies, license, homepage, and install analytics.

Coverage is the complete public Homebrew catalog as formulae.brew.sh publishes it. Roughly 7,700 casks and a comparable set of formulae, each with its current stable version, dependency graph, download URLs, and 30, 90, and 365 day install counts. Leave the names list empty to walk the full catalog from the top, or pass exact tokens like wget, node, and git to fetch only what you need.

🎯 Target Audience💡 Primary Use Cases
Platform and DevOps engineersMirror or audit the package registry
Security and compliance teamsTrack licenses and dependency trees
Data engineers and analystsBuild package popularity dashboards
Tool and IDE developersSeed a package search index

📋 What the Homebrew Formulae and Casks Scraper does

This Actor calls the public formulae.brew.sh API and returns one clean record per package for the catalog you choose:

  • Formulae — name, description, license, homepage, stable and head versions, runtime and build dependencies, conflicts, source URL, bottle download links per platform, and install counts.
  • Casks — token, app name, description, homepage, version, installer URL and checksum, bundled app names, cask conflicts, auto update flag, and install counts.

You pick the package type, list the exact tokens you want (or leave it empty to take packages from the top of the catalog), and set how many records come back. Every record carries a scrapedAt timestamp.

🎬 Full Demo (🚧 Coming soon)

⚙️ Input

FieldTypeDescription
typeselectWhich catalog to read. One of formula or cask. Defaults to formula.
namesarrayExact formula or cask tokens to fetch, for example wget, node, git. Leave empty to take packages from the top of the full catalog.
maxItemsintegerHow many records to return. Free plan is capped at 10.

Example 1 — specific formulae

{
"type": "formula",
"names": ["wget", "node", "git", "ffmpeg"],
"maxItems": 10
}

Example 2 — a sample of casks from the top of the catalog

{
"type": "cask",
"names": [],
"maxItems": 50
}

⚠️ Good to Know: Tokens are case sensitive lowercase, exactly as Homebrew lists them (openssl@3, python@3.12, google-chrome). When the names list is empty the Actor reads the full catalog file (a large list) and takes the first packages in alphabetical order, so it leads with tokens like a2ps and a52dec. Provide explicit names when you want particular packages.

📊 Output

Each record for the formula type looks like this:

FieldDescription
📦 nameFormula token
🏷 typeAlways formula for this catalog
🪪 fullNameFully qualified name including tap
🚰 tapSource tap, usually homebrew/core
📝 descriptionShort package description
⚖️ licenseSPDX license string
🔗 homepageProject homepage URL
🔢 stableVersionCurrent stable version
🧪 headVersionHead version label if available
🔁 revisionHomebrew revision number
🍾 hasBottleWhether a prebuilt bottle exists
🔒 kegOnlyWhether the formula is keg only
⚠️ deprecatedDeprecation flag
🚫 disabledDisabled flag
🧩 dependenciesRuntime dependency tokens
🛠 buildDependenciesBuild only dependency tokens
⚔️ conflictsWithConflicting formula tokens
📥 stableUrlSource tarball URL for the stable version
📈 installs30dInstalls in the last 30 days
📈 installs90dInstalls in the last 90 days
📈 installs365dInstalls in the last 365 days
🗂 bottlesPer platform bottle download URLs and checksums
🕒 scrapedAtCollection timestamp
errorNull on success

Real sample — formula

{
"name": "wget",
"type": "formula",
"fullName": "wget",
"tap": "homebrew/core",
"description": "Internet file retriever",
"license": "GPL-3.0-or-later",
"homepage": "https://www.gnu.org/software/wget/",
"stableVersion": "1.25.0",
"headVersion": "HEAD",
"revision": 0,
"hasBottle": true,
"kegOnly": false,
"deprecated": false,
"disabled": false,
"dependencies": ["libidn2", "openssl@3", "gettext", "libunistring"],
"buildDependencies": ["pkgconf"],
"conflictsWith": [],
"stableUrl": "https://ftpmirror.gnu.org/gnu/wget/wget-1.25.0.tar.gz",
"installs30d": 22849,
"installs90d": 75787,
"installs365d": 388965,
"bottles": [
{
"platform": "arm64_tahoe",
"url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:03be72d23a113a3273245b3e071667b611ea5d81dab6f52e995a84420d0ed734",
"sha256": "03be72d23a113a3273245b3e071667b611ea5d81dab6f52e995a84420d0ed734"
}
],
"scrapedAt": "2026-06-08T17:52:08.529Z",
"error": null
}

Real sample — formula (node)

{
"name": "node",
"type": "formula",
"fullName": "node",
"tap": "homebrew/core",
"description": "Open-source, cross-platform JavaScript runtime environment",
"license": "MIT",
"homepage": "https://nodejs.org/",
"stableVersion": "26.0.0",
"headVersion": "HEAD",
"revision": 0,
"hasBottle": true,
"kegOnly": false,
"deprecated": false,
"disabled": false,
"dependencies": ["ada-url", "brotli", "c-ares", "icu4c@78", "libuv", "openssl@3", "sqlite", "zstd"],
"buildDependencies": ["pkgconf", "python@3.14"],
"conflictsWith": [],
"stableUrl": "https://nodejs.org/dist/v26.0.0/node-v26.0.0.tar.xz",
"installs30d": 219091,
"installs90d": 874576,
"installs365d": 3056699,
"scrapedAt": "2026-06-08T17:52:08.530Z",
"error": null
}

Real sample — cask (firefox)

{
"name": "firefox",
"type": "cask",
"fullName": "firefox",
"tap": "homebrew/cask",
"title": "Mozilla Firefox",
"names": ["Mozilla Firefox"],
"description": "Web browser",
"homepage": "https://www.mozilla.org/firefox/",
"stableVersion": "151.0.3",
"autoUpdates": true,
"deprecated": false,
"disabled": false,
"url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/151.0.3/mac/en-US/Firefox%20151.0.3.dmg",
"sha256": "60d5cb29412b161c76ecc58f3f8a960cd0048081cf84c6fe91579f1957564277",
"appNames": ["Firefox.app"],
"conflictsWithCasks": ["firefox@beta", "firefox@cn", "firefox@esr"],
"installs30d": 17327,
"installs90d": 51674,
"installs365d": 206054,
"scrapedAt": "2026-06-08T17:37:28.372Z",
"error": null
}

✨ Why choose this Actor

  • One clean record per package, with consistent field names for both formulae and casks.
  • Dependency and build dependency lists come fully expanded as token arrays, not bare strings.
  • Bottle download URLs and checksums for every platform Homebrew ships.
  • Real 30, 90, and 365 day install counts straight from the official analytics.
  • No Homebrew install, no key, and no login required.

📈 How it compares to alternatives

ApproachEffortStructured fieldsInstall analyticsMaintenance
This ActorOne runYesYesNone on your side
Parsing brew info output by handHoursInconsistentManualConstant
Writing your own API clientDaysDependsManualYou own the upkeep

🚀 How to use

  1. Create a free Apify account using this sign-up link.
  2. Open the Homebrew Formulae and Casks Scraper.
  3. Choose a type (formula or cask).
  4. Add the package tokens you want under names, or leave it empty to read from the top of the catalog, then set maxItems.
  5. Click Start and grab your results when the run finishes.

💼 Business use cases

Platform and DevOps

GoalHow this helps
Mirror the package registryPull versions, source URLs, and bottle links
Pin reproducible toolchainsSnapshot exact stable versions and revisions

Security and compliance

GoalHow this helps
Audit open source licensesRead the license field across packages
Map dependency treesUse dependencies and buildDependencies

Analytics and research

GoalHow this helps
Track package popularityCompare installs30d, installs90d, installs365d
Study ecosystem trendsSnapshot the catalog on a schedule

Tooling and developer experience

GoalHow this helps
Power a package search indexSeed it with names, descriptions, and homepages
Surface deprecationsFilter on the deprecated and disabled flags

🔌 Automating Homebrew Formulae and Casks Scraper

Connect runs to the tools you already use:

  • Make and Zapier to trigger runs and route records into sheets or databases.
  • Slack to post a summary when a run finishes.
  • Airbyte to load results into a warehouse.
  • GitHub Actions to schedule periodic catalog snapshots.
  • Google Drive to archive each run's output.

🌟 Beyond business use cases

  • Research: study how an open source package ecosystem grows over time.
  • Personal: build a personal cheat sheet of the tools you install.
  • Non-profit: keep a community package mirror current.
  • Experimentation: prototype a package explorer without writing a client.

🤖 Ask an AI assistant

Paste your results into ChatGPT, Claude, Perplexity, or Microsoft Copilot and ask it to rank packages by installs, group formulae by license, or flag deprecated dependencies.

❓ Frequently Asked Questions

Do I need Homebrew installed? No. The Actor reads the public formulae.brew.sh API, which needs no local install.

Do I need an API key? No key is required. The Actor sends a descriptive User-Agent, as the API asks clients to do.

What is the difference between formulae and casks? Formulae are command line tools and libraries built from source or bottles. Casks are macOS desktop applications distributed as prebuilt installers.

How do I fetch specific packages? Set type, then list exact tokens under names, for example wget, openssl@3, or google-chrome. Tokens are lowercase and case sensitive.

What happens if I leave names empty? The Actor reads the full catalog file and takes packages from the top, in alphabetical order, up to your maxItems.

Are install counts real? Yes. They come from the analytics.install data the API publishes, covering 30, 90, and 365 day windows.

Are dependencies included? Yes. Formulae return runtime dependencies and buildDependencies as token arrays, plus any conflictsWith entries.

Can I get bottle download links? Yes. Each formula includes a bottles array with a per platform URL and sha256 checksum.

What if a token does not exist? That package gets a record with an error message instead of data, and the run continues with the rest.

How fresh is the data? Each run pulls live from formulae.brew.sh, so it reflects the catalog at run time.

🔌 Integrate with any app

Results are available through the Apify API, so you can pull them into any app, database, or workflow you already run.

💡 Pro Tip: browse the complete ParseForge collection.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: independent tool, not affiliated with Homebrew. Only publicly available data is collected.