Packagist Version Runtime & Reference Evidence API
Pricing
from $1.00 / 1,000 metadata observations
Packagist Version Runtime & Reference Evidence API
Inspect exact Composer versions with correctly expanded p2 metadata, PHP constraints and declared source/dist references. No installs, scripts, downloads, authors or license clearance.
Pricing
from $1.00 / 1,000 metadata observations
Rating
0.0
(0)
Developer
Salih Can Kurnaz
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Read official repo.packagist.org p2 stable-version metadata for up to five vendor/package@version identifiers. No development branches or implicit latest selection. The source may return a bounded complete package-version response before the exact version is selected. Support composer/2.0 metadata minification: fields inherit from the preceding version and __unset removes a top-level field. Only selected scalar/maps are reconstructed for output; authors, emails, funding, scripts, autoload and descriptions are never emitted. Limit source version arrays to five hundred entries and decoded responses to two MiB; larger responses fail without pagination or dump crawling. A per-run successful-response cache avoids downloading the same package payload twice. Match exact version text with an optional leading v removed; do not normalize or solve a Composer range. Return license declarations, type, time, PHP constraint, up to one hundred require name/constraint pairs and source/dist type/reference/checksum declarations. Missing abandoned is null, false stays false and an abandoned replacement string remains a declaration. No URLs are followed, archives are downloaded, install/plugins/scripts run, advisories interpreted or safe/compatible/license-cleared verdict produced. Source/dist references are not checked out or independently authenticated.
Input example
{"packageVersions": ["monolog/monolog@3.8.1","monolog/monolog@3.9.0"],"maxResults": 2}
Outputs and change comparison
One saved observation is one dataset row with itemKey, sourceUrl, contentHash and observedAt. The SHA256 covers only selected semantic fields; retrieval times, API request URLs, download/popularity counters and people are excluded. Copy SNAPSHOT.previousHashes into the next input to compare the same exact watchlist. Statuses are NO_BASELINE, FIRST_SEEN, UNCHANGED or CHANGED. Unchanged observations are still billable. There is no hidden persistent baseline and no missing-row/deletion inference. OUTPUT records actual requestCount, rowsEmitted, source summaries, errors, status and complete. SNAPSHOT.complete is false after any error or when any requested observation could not be delivered. Reaching the selected result cap is PARTIAL_RESULT_CAP; a monetary budget stop is PARTIAL_BUDGET. Provider restrictions produce PARTIAL_PROVIDER_LIMIT. A saved observation means successful metadata extraction only, not that the declared package state is good or safe.
Pricing and bounded work
$0.005 startup plus $0.001 per saved observation, pay per event. Startup quantity follows Apify memory rules with minimum one. Default 256 MB, timeout120 seconds, no restart. Five identifiers and at most five rows; a 55-second fetch deadline and two-MiB decoded-body cap apply. API requests are made only after checking the affordable result capacity. Zero affordable observations causes zero source requests, including no NuGet discovery call. Before each later request and dataset write the budget is checked again. Responses that do not produce a saved row are not charged as observations; startup can still apply. No browser, paid proxy, paid external API or credentials. No network retries, bypasses, API search or bulk pagination. Shared-IP provider limits still apply across runs: avoid parallel requests that exceed provider policy and use supported bulk data channels for large extraction.
Failure and access behavior
Only constructed official HTTPS API endpoints are contacted. Dynamic NuGet resource links must remain within the validated official registration scope. Private addresses and credential-bearing/cross-provider redirects are rejected. HTTP403/429 or Retry-After stops further provider work; successful current responses can be retained. Unknown/missing identifiers are errors, never guessed missing/safe states. All-source failure exits nonzero after preserving OUTPUT; partial delivery preserves successful rows and explicit errors. Source versions and raw declarations can change, and the Actor does not independently verify artifact bytes, publisher identity, signatures or legal rights. Public upstream APIs/data may be free; the fee covers the bounded selection, validation, comparison/output workflow and Apify execution. There is no affiliation, exclusive data access, guaranteed availability, completeness or revenue claim.