Semver Parser & Version Range Checker
Pricing
from $0.05 / 1,000 processed versions
Semver Parser & Version Range Checker
Parse, validate, sort, and range-check semantic versions. Add version strings and an optional range, then export parsed components, ranks, errors, and latest satisfying versions.
Pricing
from $0.05 / 1,000 processed versions
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
🔎 Semver parser and version range checker
Parse, validate, sort, and range-check semantic versions in one Apify Actor. Paste release tags, dependency versions, or package manifest values, add an optional npm-style range, and get clean rows for audits, compatibility checks, exports, and API workflows.
- Check whether submitted versions match a semver range such as
^1.2.0or>=1.0.0 <3.0.0. - Parse semantic version parts into major, minor, patch, prerelease, and build metadata fields.
- Rank versions newest-first or oldest-first for release audits and upgrade planning.
- Keep loose tags such as
v1.2useful by returning the coerced semver value. - Export one row per submitted version for spreadsheets, scripts, and downstream automation.
📊 Returned data
Each output row keeps the original submitted value and adds computed semver facts:
version- the submitted version string.coercedVersion- the semver value used for parsing, range checks, and ranking.isValid- whether the submitted value is strict semver before coercion.major,minor, andpatch- parsed numeric version components.prereleaseandbuild- dot-joined metadata when present.satisfiesRange- whether the version matches the supplied range.rank- the 1-based sort rank among parseable submitted versions.latestSatisfyingVersion- the highest submitted version that satisfies the supplied range.error- a short reason when a version or range cannot be evaluated.
Invalid and loose version strings do not stop the run. The Actor returns a row with nullable computed fields and a clear error when a value cannot be parsed.
🚀 How to run
- Add one version string per line.
- Optionally add a version range, such as
^1.2.0,~2.3,>=1.0.0 <3.0.0,1.x, or*. - Choose whether prerelease versions should count in range checks.
- Choose newest-first or oldest-first ranking.
- Run the Actor and open the default dataset.
The Actor accepts up to 10,000 version strings per run. It is a pure computation utility, so it does not need cookies, API keys, proxies, browsers, package registry access, or source-site access.
⚙️ Input
{"versions": ["1.2.3","2.0.0-beta.1","v3.1.0+build.42","not-a-version"],"range": ">=1.0.0 <3.0.0","includePrerelease": true,"sortOrder": "desc"}
versions is required. range is optional, so you can use the Actor for parse-only and sorting work when you do not need compatibility checks.
🧾 Output example
{"version": "2.0.0-beta.1","coercedVersion": "2.0.0-beta.1","isValid": true,"major": 2,"minor": 0,"patch": 0,"prerelease": "beta.1","build": null,"satisfiesRange": true,"rank": 2,"latestSatisfyingVersion": "2.0.0-beta.1","error": null}
💳 Pricing
This Actor uses pay-per-event pricing. You are charged for each successfully processed version result that is saved to the dataset. Actor starts, empty inputs, and setup-only outcomes are not charged as separate events.
🔌 Integrations
- Run the Actor from the Apify API when a CI job or internal tool needs semver checks.
- Schedule repeated checks for maintained version lists or release audit inputs.
- Export results as JSON, CSV, Excel, XML, or HTML from the default dataset.
- Send completed-run webhooks to downstream tools that update dashboards or QA reports.
❓ FAQ
Can this work as a semver parser version range checker library replacement?
It uses standard semver behavior in an Apify Actor run. It is useful when you want hosted batch processing, dataset exports, schedules, webhooks, or API-triggered checks without adding another service to your own codebase.
Does it support npm-style semver ranges?
Yes. The Actor supports common npm-style range expressions such as caret ranges, tilde ranges, comparator sets, wildcards, and 1.x style ranges.
What happens to loose versions like v1.2 or 1.0?
The Actor preserves the original input, marks it as not strict semver, and returns a coerced semver value when one can be computed.
What happens if a version cannot be parsed?
The Actor emits a row with isValid: false, nullable computed fields, and an error message. Other submitted versions still produce their own rows.
Why not use the semver API?
There is no official remote semver API needed for this workflow. This Actor is for hosted batch runs, exports, schedules, and Apify integrations around semver parsing and range checks.
What are semver alternatives?
For local app code, a package such as npm's semver library is often the right choice. Use this Actor when you want no-code batch input, dataset output, scheduling, API runs, or webhooks on Apify.
📝 Changelog
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Email MX Verifier ↗ - Check email syntax, MX records, disposable domains, and delivery risk for data workflows.
- Font Detector ↗ - Detect website fonts, font files, CSS families, and source evidence from public pages.
- Chrome Extensions Scraper ↗ - Export Chrome Web Store extension metadata, ratings, permissions, contacts, and media.
- Google Play Store Scraper ↗ - Export Android app, review, rating, and permission data from Google Play.
- Amazon Keywords Discovery Tool ↗ - Collect Amazon autocomplete keyword ideas for SEO and marketplace research.
Made with ❤️ by Maxime Dupré
