Homebrew Install Analytics API
Ranked Homebrew install stats (last 30 days) as structured JSON - rank, formula, installs, and share.
What this feed does
Homebrew publishes its install analytics - the public benchmark of Mac/CLI devtool adoption - as an HTML table. This feed scrapes the ranked 30-day table on demand and returns every formula as structured JSON.
Structured, not scraped-by-you
Clean JSON with stable field names - no HTML parsing, no selectors to maintain when the site changes.
Pay only for what you pull
No subscription. $0.005 per record via Apify's metered billing; a typical pull is cents.
Human + agent ready
Call it from cURL, Python, or JS - or hand it to an AI agent as an MCP tool.
Always the latest
Scraped from the official source on every run, so you never ship stale data.
What each record contains
Every result is a JSON object with these fields.
| Field | Type | Description |
|---|---|---|
rank | string | Rank by installs in the window. |
formula | string | Formula (package) name. |
installs | string | Install events in the window. |
percent | string | Share of all installs. |
url | string, URL | Link to the formula page on formulae.brew.sh. |
Live sample
The most recent records, straight from the feed. Live sample - fetched at build time
| formula | installs | percent | rank |
|---|---|---|---|
| openssl@3 | 500,242 | 2.26% | #1 |
| ca-certificates | 376,820 | 1.70% | #2 |
| sqlite | 301,522 | 1.36% | #3 |
| gh | 299,690 | 1.35% | #4 |
| python@3.14 | 288,897 | 1.30% | #5 |
| node | 286,671 | 1.29% | #6 |
| libcap | 263,571 | 1.19% | #7 |
| bubblewrap | 241,872 | 1.09% | #8 |
Call it in one line
Runs the actor and returns the dataset. Swap in your Apify token.
curl "https://api.apify.com/v2/acts/zenolvepro~homebrew-install-analytics-30d/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN"
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("zenolvepro/homebrew-install-analytics-30d").call()
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('zenolvepro/homebrew-install-analytics-30d').call();
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);https://mcp.apify.com?tools=zenolvepro/homebrew-install-analytics-30d
Point any MCP-capable agent at this endpoint and the feed becomes a callable tool.
Who uses it
Devtool marketers, OSS investors, and package maintainers tracking adoption use it for monitoring, benchmarking, alerting, and enrichment.
Pricing
Billed through Apify. A tiny per-run start fee ($0.00005) applies. Only pay for records you actually pull.