Track Every Package Everywhere
Libraries.io indexes 6M+ packages across 40 platforms: npm, PyPI, Maven, RubyGems, Go, NuGet, and more. Their API is free (60 requests/minute with API key).
Setup
Get a free API key at libraries.io (sign in with GitHub).
Search Packages
import requests
API_KEY = "your_key"
def search(query, platform="npm", limit=5):
r = requests.get("https://libraries.io/api/search", params={
"q": query, "platforms": platform, "per_page": limit, "api_key": API_KEY
})
return [{"name": p["name"], "stars": p.get("stars",0),
"rank": p.get("rank",0)} for p in r.json()]
results = search("web scraping", "Pypi")
for r in results:
print(f"{r[name]:25} Stars:{r[stars]:>6} Rank:{r[rank]}")
Get Package Details
def get_package(platform, name):
r = requests.get(f"https://libraries.io/api/{platform}/{name}",
params={"api_key": API_KEY})
p = r.json()
return {
"name": p["name"],
"version": p["latest_release_number"],
"deps": p["dependencies_count"],
"dependents": p["dependents_count"],
"stars": p.get("stars", 0),
"rank": p.get("rank", 0)
}
info = get_package("Pypi", "requests")
print(f"{info[name]} v{info[version]}")
print(f"Used by {info[dependents]:,} packages")
Find Dependents (Who Uses This Package?)
def get_dependents(platform, name, limit=10):
r = requests.get(f"https://libraries.io/api/{platform}/{name}/dependents",
params={"api_key": API_KEY, "per_page": limit})
return [{"name": d["name"], "stars": d.get("stars",0)} for d in r.json()]
deps = get_dependents("npm", "express")
for d in deps:
print(f" {d[name]} ({d[stars]} stars)")
Cross-Platform Comparison
def compare_ecosystems(query):
platforms = ["npm", "Pypi", "Maven", "Rubygems", "Go"]
for p in platforms:
results = search(query, p, 3)
print(f"\n{p}:")
for r in results:
print(f" {r[name]:30} Stars:{r[stars]:>6}")
compare_ecosystems("json parser")
Real Use Cases
- Tech radar — track which packages gain/lose adoption
- Dependency risk — find packages with no dependents (abandoned?)
- Alternative finder — search for competing packages across platforms
- Security — monitor packages your org depends on
More from me: 10 Dev Tools I Use Daily | 77 Scrapers on a Schedule | 150+ Free APIs
Top comments (0)