Software Lifecycle Watchlist Monitor avatar

Software Lifecycle Watchlist Monitor

Pricing

from $1.20 / 1,000 software lifecycle observations

Go to Apify Store
Software Lifecycle Watchlist Monitor

Software Lifecycle Watchlist Monitor

Monitor exact software release cycles, published support deadlines and saved date revisions. Export lifecycle evidence for upgrade planning without scanning systems or inferring compliance.

Pricing

from $1.20 / 1,000 software lifecycle observations

Rating

0.0

(0)

Developer

Brandt May

Brandt May

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Software Lifecycle Watchlist Monitor — illustrative watchlist workflow

Turn release support dates into a reviewable inventory

Keep an exact list of software release cycles and their published support deadlines. Export community-maintained endoflife.date declarations, calculated UTC deadline windows and saved date revisions for an upgrade-planning queue.

One result is one product/release-cycle observation. The Actor does not inspect systems or discover installed versions. Source declarations remain separate from calculated countdowns.

First run · Output preview · Saved comparisons · Pricing

Try a small watchlist

Paste this exact input into Console's JSON editor. No source API key is required. These historical examples demonstrate the fields; they are not recommendations to install these versions.

{
"watchlist": [
{
"product": "nodejs",
"cycle": "22"
},
{
"product": "python",
"cycle": "3.10"
}
],
"maxResults": 5
}

Open Dataset for saved observations and Run report for coverage. SUMMARY is the machine-readable record. Empty API input and the Console prefill use the documented sample inventory; the maximum is a cap, not a promised result count.

Output preview

Planning questionFieldsInterpretation
Which release?observationId, product, cycleExact requested inventory identity
What deadlines are published?activeSupportEnds, endOfLifeDate, extendedSupportEnds, labelsDistinct source support phases; null means no date was supplied
Is it approaching a deadline?asOfDate, daysToEndOfLife, deadlineWindowUTC date calculation, not a vendor promise or risk score
What does the source report?isEoas, isEol, isEoes, isMaintained, isLtsNullable source flags, not inferred from missing dates
Did the deadline move?endOfLifeDateShiftDays, activeSupportDateShiftDaysPositive means the saved date moved later; null means no two dated observations
Where is the evidence?vendorPolicyUrl, sourceUrl, sourceLastModifiedAt, observedAtVendor policy link, community source and retrieval time

Latest release metadata is available in latest. The snapshot includes source dates, flags, labels and latest release metadata. daysToEndOfLife, deadlineWindow, observation time and source generation timestamps are excluded from comparisons: the passage of one day alone does not create a source-change event. Use onlyChanges: false and filter the deadline fields downstream for approaching-deadline reminders.

Inspect a second inventory

Inspect Ubuntu 22.04 and 24.04 support declarations with distinct standard and extended-support dates.

{
"watchlist": [
{
"product": "ubuntu",
"cycle": "22.04"
},
{
"product": "ubuntu",
"cycle": "24.04"
}
],
"maxResults": 5
}

Save a comparison baseline

Record Node.js 22 once, then compare future published support dates and latest-release metadata against saved values.

{
"watchlist": [
{
"product": "nodejs",
"cycle": "22"
}
],
"comparePrevious": true,
"snapshotName": "node22-lifecycle-review",
"maxResults": 5
}
  1. Run once to save new observations.
  2. Repeat with the same inventory, snapshotName and named history store. Rows become changed or unchanged, with previous, previousObservedAt and changedFields.
  3. Add onlyChanges: true to suppress unchanged source observations. This also enables comparison. A healthy repeat can save zero rows.
  4. In Sheets, Make or n8n, wait for completion, check SUMMARY, then upsert by observationId. Keep the run ID for replay and deduplicate deliveries with observationId + contentHash.

The versioned history scope contains the exact sorted inventory and namespace. Changing that inventory starts a separate comparison. Only confirmed dataset writes advance history. Errors, unsaved capped rows and unchanged skips preserve prior observations; missing sources never imply deletion. Use one writer per scope: a pre-commit check detects existing concurrent changes, but is not an atomic lock. The named store holds at most 20,000 saved identities per scope.

The Actor supplies observations and a report. You configure schedules, alerts and downstream accounts. A history failure can leave valid saved rows; inspect historyUpdated and failedSources.history. Comparisons cover last saved observations, not every upstream change between runs.

Coverage and interpretation

  • Exact inventory: up to 50 product/cycle entries. No URL crawling, patch-version inference, installed inventory scan or all-product enumeration. Missing cycles fail explicitly; they never become fictitious lifecycle rows.
  • Source scope: endoflife.date is community-maintained and its API is documented as beta. Verify important dates with the linked vendor policy; extended-support dates do not imply you have a paid support entitlement.
  • Date meaning: all displayed date-only values are source dates. Countdown windows use the observation's UTC date. Unknown dates remain null; source flags remain separate and may use product-specific labels.
  • Useful corrections: only source observation fields trigger saved changes. Daily countdowns remain available in ordinary repeated rows.
  • Access and budgets: public documented APIs only, sequential requests, pinned public DNS and no cross-host redirect following. Responses are capped at 2 MiB. One bounded retry is allowed for 502/503/504; rate/access refusals are reported without bypass.
  • Run bounds: maxRunSeconds defaults to 240 and also respects the platform deadline minus 25 seconds. Configure Apify's maximum total charge as well as maxResults.

SUMMARY includes saved/observed counts, per-source coverage, unreached entries, history outcome and time/spending limits. Intentional output caps are bounded samples. Source, source-window, time and history failures are partial or failed. All-source or all-output failures fail the run. Errors and no-match diagnostics are never paid data rows.

Pricing

Base FREE-tier rate: $2 per 1,000 saved observations, plus the listed Actor Start charge. The Pricing tab is authoritative for your plan. Saved unchanged observations are billable; unchanged rows suppressed by onlyChanges have no dataset-item charge. Platform and storage charges may apply under your plan.

Sources and support

API v1 documentation · Project and API status · MIT license

Lifecycle data is attributed to endoflife.date contributors. The source license notice is included in LICENSE-SOURCES.txt. Product descriptions and third-party logos are not copied. This community Actor is not affiliated with endoflife.date or the software vendors.

For help, open Issues with the run URL and expected public field, or contact bmay@mayd-it.com. Remove credentials and private inventory information before posting.