{"openapi":"3.1.0","info":{"title":"Homebrew Install Analytics API","version":"1.0.0","description":"Live install analytics for Homebrew, the macOS and Linux package manager, from the public formulae.brew.sh feed — no key, nothing stored. The adoption view of the Homebrew ecosystem: how much each command-line formula and each desktop-app cask is installed, and the most-installed packages overall, distinct from the Homebrew formula-catalog API in the catalogue (which describes a package — this measures how much it is actually used). The formula endpoint returns a command-line tool's install counts over 30, 90 and 365 days plus install-on-request, with its version and description. The cask endpoint returns a desktop app's install counts. The top endpoint returns the most-installed formulae or casks over a chosen window, ranked. Build developer-tool popularity dashboards, \"is this tool still maintained and used\" widgets, package-trend trackers and ecosystem-health tools on top of real Homebrew analytics. Look up a formula by its name (wget, node, ffmpeg) or a cask by its token (google-chrome, visual-studio-code); counts come from Homebrew's opted-in user analytics.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/brewanalytics-api","description":"oanor gateway"}],"tags":[{"name":"Formula"},{"name":"Cask"},{"name":"Top"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/formula":{"get":{"operationId":"get_v1_formula","tags":["Formula"],"summary":"Install counts for a command-line formula","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"Formula name","schema":{"type":"string"},"example":"wget"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"wget","type":"formula","source":"Homebrew","version":"1.25.0","homepage":"https://www.gnu.org/software/wget/","deprecated":false,"description":"Internet file retriever","installs_30d":22610,"installs_90d":74752,"installs_365d":384754,"install_on_request_365d":380950},"meta":{"timestamp":"2026-06-12T01:42:22.379Z","request_id":"c0a94f39-3792-42ae-8136-5030db0f2431"},"status":"ok","message":"Formula retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/cask":{"get":{"operationId":"get_v1_cask","tags":["Cask"],"summary":"Install counts for a desktop-app cask","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"Cask token","schema":{"type":"string"},"example":"google-chrome"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"Google Chrome","type":"cask","token":"google-chrome","source":"Homebrew","version":"149.0.7827.103","homepage":"https://www.google.com/chrome/","deprecated":false,"description":"Web browser","installs_30d":46494,"installs_90d":128293,"installs_365d":395768},"meta":{"timestamp":"2026-06-12T01:42:22.504Z","request_id":"0aebbb35-629f-4235-ae1a-584700252cb6"},"status":"ok","message":"Cask retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/top":{"get":{"operationId":"get_v1_top","tags":["Top"],"summary":"Most-installed packages","description":"","parameters":[{"name":"type","in":"query","required":false,"description":"formula or cask (default formula)","schema":{"type":"string"},"example":"formula"},{"name":"days","in":"query","required":false,"description":"30, 90 or 365 (default 30)","schema":{"type":"string"},"example":"30"},{"name":"limit","in":"query","required":false,"description":"Max rows (default 25, max 100)","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"top":[{"name":"ca-certificates","rank":1,"installs":543337},{"name":"openssl@3","rank":2,"installs":433265},{"name":"sqlite","rank":3,"installs":388182},{"name":"xz","rank":4,"installs":324983},{"name":"python@3.14","rank":5,"installs":314259},{"name":"gh","rank":6,"installs":263409},{"name":"zstd","rank":7,"installs":251248},{"name":"node","rank":8,"installs":228308},{"name":"readline","rank":9,"installs":211838},{"name":"awscli","rank":10,"installs":199735},{"name":"fontconfig","rank":11,"installs":196368},{"name":"lz4","rank":12,"installs":192045},{"name":"icu4c@78","rank":13,"installs":188448},{"name":"glib","rank":14,"installs":187938},{"name":"pcre2","rank":15,"installs":186848},{"name":"uv","rank":16,"installs":170850},{"name":"mpdecimal","rank":17,"installs":159448},{"name":"harfbuzz","rank":18,"installs":156793},{"name":"libunistring","rank":19,"installs":151886},{"name":"ffmpeg","rank":20,"installs":150054},{"name":"libpng","rank":21,"installs":149251},{"name":"cmake","rank":22,"installs":148779},{"name":"libngtcp2","rank":23,"installs":146194},{"name":"gmp","rank":24,"installs":140578},{"name":"gettext","rank":25,"installs":137663}],"type":"formula","count":25,"source":"Homebrew","window":"30d","total_installs":23102604,"total_packages":12971},"meta":{"timestamp":"2026-06-12T01:42:22.794Z","request_id":"3a43b9ae-2a56-46fc-a731-580da0a8fb3e"},"status":"ok","message":"Top retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Look up a formula by name (wget, node, ffmpeg) or a cask by token (google-chrome, visual-studio-code). For /v1/top, type=formula|cask and days=30|90|365. Counts come from Homebrew's opted-in analytics.","source":"formulae.brew.sh public API (live)","service":"brewanalytics-api","endpoints":{"GET /v1/top":"Most-installed packages (type=formula|cask, days=30|90|365, limit=25).","GET /v1/cask":"Install counts for a desktop-app cask (name=google-chrome).","GET /v1/meta":"This document.","GET /v1/formula":"Install counts for a command-line formula (name=wget)."},"description":"Live install analytics for Homebrew, the macOS/Linux package manager, from formulae.brew.sh — the adoption view of the Homebrew ecosystem. formula = a command-line tool's install counts (30, 90 and 365 days, plus install-on-request) with version and description; cask = a desktop app's install counts; top = the most-installed formulae or casks over a window. Live, no key, nothing stored. Distinct from the Homebrew formula-catalog API — this measures how much a package is actually used.","upstream_status":"ok","wget_installs_365d":384754},"meta":{"timestamp":"2026-06-12T01:42:22.864Z","request_id":"e4a001de-7035-4cbd-9445-1d0b6d3e6069"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":23000,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":500,"monthly_call_quota":310000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1480,"monthly_call_quota":1300000,"rps_limit":25,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":3380,"monthly_call_quota":4600000,"rps_limit":55,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/brewanalytics-api"}