Packagist Scraper
Pricing
from $2.50 / 1,000 results
Packagist Scraper
Scrape PHP packages from Packagist by search term, package name, vendor, or search, package, vendor and popular URLs: latest version, license, PHP requirement, dependencies, authors, total, monthly and daily downloads, dependents, GitHub stars and abandoned status. No login, no API key.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Anyx Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare

Packagist Scraper
Search Packagist or list any vendor or the most popular packages, and get each PHP package's latest version, requirements, downloads, dependents and GitHub statistics as clean JSON.
Packagist is the main Composer repository, home to every public PHP library, framework and tool. This Actor scrapes PHP packages from Packagist by search term, package name, vendor, or search, package, vendor and popular URLs, and returns each package's latest version, description, license, type, keywords, authors, maintainers, homepage and repository links, PHP version requirement, required extensions and package dependencies, total, monthly and daily downloads, favers, dependents, suggesters, GitHub stars, watchers, forks and open issues, release dates, and whether the package is abandoned along with its suggested replacement. Search the way you would on Packagist, or paste the pages you already have. There is no login, no API key, and no proxy to configure. Built for developer-tool market research, open-source due diligence, dependency and license audits, lead generation among PHP maintainers, and PHP ecosystem tracking.
⚡ Quick start
{"searchTerms": ["web scraper"],"startUrls": [{ "url": "https://packagist.org/search/?query=http%20client&type=library" }],"maxItems": 5}
Or read packages by name, and every package of a vendor:
{"packageNames": ["guzzlehttp/guzzle", "monolog/monolog"],"vendors": ["spatie"],"maxItems": 20}
🧩 Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerms | array | no | — | Searches to run on Packagist, one per line, for example web scraper or pdf. |
packageNames | array | no | — | Packages in the vendor/name form Composer uses, one per line, such as guzzlehttp/guzzle. |
vendors | array | no | — | Vendors whose packages to read, one per line, such as spatie or symfony. Packages come alphabetically. |
startUrls | array | no | — | packagist.org URLs: a search with optional tag and type filters (/search/?query=pdf&tags=laravel&type=library), a package (/packages/guzzlehttp/guzzle), a vendor (/packages/spatie/) or the most popular packages (/explore/popular). |
maxItems | integer | no | — | Maximum number of packages per search term, vendor or listing URL. The input form starts at 5; leave it empty to get every match. Package names and package URLs return one package each. |
proxyConfiguration | object | no | { "useApifyProxy": false } | Proxy configuration. Packagist needs no proxy. |
Add search terms, package names, vendors, URLs, or any mix. Search results come in Packagist's
relevance order; the popular list comes by downloads. A package URL can point at any of the
package's tabs (/stats, /dependents, /suggesters); the package itself is returned.
📤 Output
Each package is one dataset row. Release-level fields (license, keywords, authors, homepage, requirements) describe the package's latest version: the highest stable release, else the highest pre-release, else the default branch for a package that has never tagged a release.
Fields
| Field | Type | Description |
|---|---|---|
name | string | Package name, vendor/name. |
vendor | string | Vendor, the part of the name before the slash. |
description | string | Package description. |
url | string | The package's page on Packagist. |
repositoryUrl | string | Source repository. |
homepage | string | Project homepage. |
issuesUrl | string | Issue tracker. |
type | string | Composer package type, such as library, project, symfony-bundle or wordpress-plugin. |
latestVersion | string | Latest version: the highest stable release, else the highest pre-release, else the default branch. |
license | string | License as an SPDX identifier; several licenses are joined with OR. |
keywords | array | Keywords the authors tagged the package with. |
authors | array | Authors as the package declares them: name, email, homepage and role. |
maintainers | array | Packagist usernames of the accounts that maintain the package. |
requirePhp | string | PHP versions the latest version supports, such as ^7.4 || ^8.0. |
dependencies | object | Packages the latest version requires, with their version constraints. |
dependenciesCount | number | Number of packages in dependencies. |
requiredExtensions | array | PHP extensions the latest version requires, such as ext-json. |
totalDownloads | number | All-time installs. |
monthlyDownloads | number | Installs over the last 30 days. |
dailyDownloads | number | Installs over the last day. |
favers | number | Favers: GitHub stars plus Packagist favorites. |
dependents | number | Number of packages that require this one. |
suggesters | number | Number of packages that suggest this one. |
githubStars | number | GitHub stars; null for packages not hosted on GitHub. |
githubWatchers | number | GitHub watchers. |
githubForks | number | GitHub forks. |
githubOpenIssues | number | Open GitHub issues. |
language | string | Main language of the repository. |
versionsCount | number | Number of tagged releases (branches not counted). |
createdAt | string | When the package was first submitted to Packagist (ISO 8601). |
lastReleasedAt | string | When the version in latestVersion was released (ISO 8601). |
abandoned | boolean | Whether the maintainers marked the package abandoned. |
replacement | string | The package the maintainers suggest instead of an abandoned one; null otherwise. |
searchQuery | string | The search that found the package; null for package names, vendors and the popular list. |
💡 Use cases
- Developer-tool market research — size a PHP niche by downloads, dependents and stars, and see which packages lead it.
- Open-source due diligence — check how actively a package is released, by whom, which PHP versions it supports, and whether it was abandoned.
- Dependency and license audits — collect licenses, PHP requirements, extensions and dependencies across the packages you rely on.
- Ecosystem tracking — watch a vendor, a framework's tag, or the most popular packages, their releases and download trends over time.
- Lead generation — find the companies, agencies and maintainers behind the packages in your niche.
❓ FAQ
- Do I need a Packagist account or an API key? No. The Actor reads the same public package data anyone can see.
- Do I need a proxy? No. It runs without one by default.
- How many results can one search return? Packagist returns up to a few hundred packages for one search. Narrow it with tag and type filters, or split it into several searches, to reach more; vendors and the popular list have no such limit.
- Which version do the release-level fields describe? The latest version: the highest stable release, which is what Composer installs by default. Packages that only have pre-releases use the highest pre-release, and packages that never tagged a release use their default branch, such as
dev-main. - What does
abandonedmean? The maintainers marked the package as no longer maintained. When they name a successor, it is inreplacement. - Why are the GitHub fields empty for some packages? They are only available for packages whose repository is on GitHub.
- How fresh are the download counts? Packagist refreshes package statistics periodically, so counts can lag by up to about half a day.
🔗 More scrapers by Anyx
🤝 Anyx Solutions
We build custom scrapers and data-extraction pipelines.
- Email: tantosthor@gmail.com
🖼 Image credit
Image credit: packagist.org