Packagist Scraper avatar

Packagist Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Packagist Scraper

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

Anyx Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Security

Limited permissions

Share

banner

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

FieldTypeRequiredDefaultDescription
searchTermsarrayno—Searches to run on Packagist, one per line, for example web scraper or pdf.
packageNamesarrayno—Packages in the vendor/name form Composer uses, one per line, such as guzzlehttp/guzzle.
vendorsarrayno—Vendors whose packages to read, one per line, such as spatie or symfony. Packages come alphabetically.
startUrlsarrayno—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).
maxItemsintegerno—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.
proxyConfigurationobjectno{ "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

FieldTypeDescription
namestringPackage name, vendor/name.
vendorstringVendor, the part of the name before the slash.
descriptionstringPackage description.
urlstringThe package's page on Packagist.
repositoryUrlstringSource repository.
homepagestringProject homepage.
issuesUrlstringIssue tracker.
typestringComposer package type, such as library, project, symfony-bundle or wordpress-plugin.
latestVersionstringLatest version: the highest stable release, else the highest pre-release, else the default branch.
licensestringLicense as an SPDX identifier; several licenses are joined with OR.
keywordsarrayKeywords the authors tagged the package with.
authorsarrayAuthors as the package declares them: name, email, homepage and role.
maintainersarrayPackagist usernames of the accounts that maintain the package.
requirePhpstringPHP versions the latest version supports, such as ^7.4 || ^8.0.
dependenciesobjectPackages the latest version requires, with their version constraints.
dependenciesCountnumberNumber of packages in dependencies.
requiredExtensionsarrayPHP extensions the latest version requires, such as ext-json.
totalDownloadsnumberAll-time installs.
monthlyDownloadsnumberInstalls over the last 30 days.
dailyDownloadsnumberInstalls over the last day.
faversnumberFavers: GitHub stars plus Packagist favorites.
dependentsnumberNumber of packages that require this one.
suggestersnumberNumber of packages that suggest this one.
githubStarsnumberGitHub stars; null for packages not hosted on GitHub.
githubWatchersnumberGitHub watchers.
githubForksnumberGitHub forks.
githubOpenIssuesnumberOpen GitHub issues.
languagestringMain language of the repository.
versionsCountnumberNumber of tagged releases (branches not counted).
createdAtstringWhen the package was first submitted to Packagist (ISO 8601).
lastReleasedAtstringWhen the version in latestVersion was released (ISO 8601).
abandonedbooleanWhether the maintainers marked the package abandoned.
replacementstringThe package the maintainers suggest instead of an abandoned one; null otherwise.
searchQuerystringThe 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 abandoned mean? The maintainers marked the package as no longer maintained. When they name a successor, it is in replacement.
  • 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.

🖼 Image credit

Image credit: packagist.org