Homebrew Scraper
Pricing
Pay per event
Homebrew Scraper
Scrape Homebrew formulas and casks. Search by keyword and get names, versions, descriptions, dependencies, licenses, and 30-day install counts. Supports both CLI tools and GUI apps.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Scrape Homebrew formulas and casks from formulae.brew.sh, the official Homebrew package index. Search by keyword and get names, versions, descriptions, dependencies, licenses, and 30-day install counts.
What does Homebrew Scraper do?
Homebrew Scraper uses the Homebrew Formulae JSON API to fetch package metadata for macOS and Linux. It downloads the complete formula or cask database, filters by keyword, and enriches results with install analytics. Get version info, dependency trees, license data, and popularity metrics in one run.
Who is it for?
- 💻 macOS developers — discovering and comparing Homebrew packages for development workflows
- 📊 Technology analysts — tracking macOS developer tool adoption and popularity
- 🏢 Engineering managers — auditing team toolchains and identifying popular alternatives
- 🔒 Security teams — monitoring package versions and update frequencies
- 📝 Technical writers — researching Homebrew packages for installation guides and tutorials
Why scrape Homebrew?
Homebrew is the most popular package manager for macOS, with over 8,000 formulas and thousands of casks. It's the definitive source for understanding the macOS developer tools ecosystem.
Key reasons to scrape it:
- Developer tools research — Discover popular CLI tools and libraries
- Ecosystem analysis — Map the macOS development landscape
- Dependency tracking — Understand package dependency chains
- Adoption metrics — Track install counts to gauge tool popularity
- License compliance — Audit open-source license usage across packages
Use cases
- DevOps engineers researching available tools for automation
- Engineering managers tracking which tools their teams use
- Security teams auditing package dependencies and licenses
- Technical writers finding popular tools for tutorials
- Open-source maintainers tracking their formula's install count
- Researchers studying open-source package ecosystem trends
How to scrape Homebrew
- Go to Homebrew Scraper on Apify Store
- Enter a search keyword (or leave empty for all formulas)
- Choose formula or cask type
- Enable install count analytics
- Click Start and wait for results
- Download data as JSON, CSV, or Excel
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "" | Filter by keyword in name/description |
type | string | "formula" | Package type: formula or cask |
includeAnalytics | boolean | true | Include 30-day install counts |
maxResults | integer | 100 | Max formulas to return |
Input example
{"searchQuery": "python","type": "formula","includeAnalytics": true,"maxResults": 50}
Output
Each formula in the dataset contains:
| Field | Type | Description |
|---|---|---|
name | string | Formula name |
fullName | string | Full formula name with tap |
description | string | Package description |
version | string | Latest stable version |
license | string | License identifier |
homepage | string | Project homepage URL |
dependencies | string[] | Runtime dependencies |
buildDependencies | string[] | Build-time dependencies |
tap | string | Homebrew tap (e.g. homebrew/core) |
deprecated | boolean | Whether the formula is deprecated |
deprecationReason | string | Reason for deprecation |
disabled | boolean | Whether the formula is disabled |
installs30d | number | Total installs in last 30 days |
installedOnRequest30d | number | Direct installs (not as dependency) |
brewUrl | string | Formulae.brew.sh page URL |
scrapedAt | string | ISO timestamp of extraction |
Output example
{"name": "python@3.14","fullName": "python@3.14","description": "Interpreted, interactive, object-oriented programming language","version": "3.14.0","license": "Python-2.0","homepage": "https://www.python.org/","dependencies": ["gdbm", "mpdecimal", "openssl@3", "readline", "sqlite", "xz"],"buildDependencies": ["pkgconf"],"tap": "homebrew/core","deprecated": false,"deprecationReason": "","disabled": false,"installs30d": 285432,"installedOnRequest30d": 142716,"brewUrl": "https://formulae.brew.sh/formula/python@3.14","scrapedAt": "2026-03-03T03:35:00.123Z"}
How much does it cost to scrape Homebrew?
Homebrew Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Formula extracted | $0.001 per formula |
Cost examples
| Scenario | Formulas | Cost |
|---|---|---|
| Quick search | 50 | $0.051 |
| Category survey | 200 | $0.201 |
| Full database | 500 | $0.501 |
Platform costs are negligible — typically under $0.001 per run.
Using Homebrew Scraper with the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/homebrew-scraper').call({searchQuery: 'database',includeAnalytics: true,maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} formulas`);items.forEach(f => {console.log(`${f.name} v${f.version} (${f.installs30d.toLocaleString()} installs/month)`);});
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/homebrew-scraper').call(run_input={'searchQuery': 'database','includeAnalytics': True,'maxResults': 50,})dataset = client.dataset(run['defaultDatasetId']).list_items().itemsprint(f'Found {len(dataset)} formulas')for f in dataset:print(f"{f['name']} v{f['version']} ({f['installs30d']:,} installs/month)")
Use with Claude AI (MCP)
This actor is available as a tool in Claude AI through the Model Context Protocol (MCP). Add it to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/homebrew-scraper"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/homebrew-scraper"}}}
Example prompts
- "Find the most popular database-related Homebrew formulas by install count"
- "What version of Python is available in Homebrew and what are its dependencies?"
- "Search Homebrew for terminal multiplexer tools and compare their install counts"
Learn more in the Apify MCP documentation.
Integrations
Homebrew Scraper works with all Apify integrations:
- Scheduled runs — Track formula popularity trends over time
- Webhooks — Get notified when a scrape completes
- API — Trigger runs and fetch results programmatically
- Google Sheets — Export formula data to a spreadsheet
- Slack — Share trending tools with your team
Connect to Zapier, Make, or Google Sheets for automated workflows.
Tips
- Leave searchQuery empty to get the entire formula database (8,000+ formulas)
- Compare installs vs installedOnRequest to see which packages are mostly installed as dependencies
- Use cask type to find popular GUI applications (e.g. browsers, editors, utilities)
- Check dependencies to understand the build chain for any tool
- Monitor deprecated formulas if you rely on them for your infrastructure
- Track install counts monthly to identify growing or declining tools
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
How many formulas are there? Homebrew has over 8,000 formulas (CLI tools) and thousands of casks (GUI applications).
What's the difference between formulas and casks? Formulas are CLI tools and libraries compiled from source. Casks are pre-built GUI applications (like Chrome, VS Code, Slack).
What do install counts measure?
The 30-day install count tracks brew install commands reported via Homebrew's anonymous analytics. installedOnRequest excludes installs triggered as dependencies.
Can I get the full database?
Yes — leave searchQuery empty and set a high maxResults to get all formulas.
How often is the data updated? Formula metadata updates when new versions are published. Install analytics update daily.
Install counts are 0 for all formulas.
If includeAnalytics is set to false, install counts won't be fetched. Set it to true to include 30-day install statistics.
I can't find a formula I know exists.
The keyword search matches against formula names and descriptions. Some formulas have names that differ from the common tool name (e.g., python@3.14 vs python). Try a broader search term.
Other developer tools
- GitHub Scraper — Repositories, profiles, trending, and search results from GitHub
- GitHub Trending Scraper — Trending repositories from GitHub with star velocity
- Hacker News Scraper — Stories from Hacker News front page, newest, Ask HN, and more
- Stack Overflow Scraper — Questions, answers, and tags from Stack Overflow
- npm Scraper — Package metadata from the npm registry
- PyPI Scraper — Python package data from PyPI
- Crates Scraper — Rust crate metadata from crates.io
- Hash Generator — Generate MD5, SHA-1, SHA-256, and SHA-512 hashes
