GitHub Release Tracker
Pricing
from $8.00 / 1,000 results
GitHub Release Tracker
Monitor GitHub repositories and scrape release notes, tags, and changelogs to integrate version updates into Slack or Opsgenie via automated runs.
Pricing
from $8.00 / 1,000 results
Rating
0.0
(0)
Developer
太郎 山田
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
GitHub Release & Changelog Monitor API
Track GitHub releases, tags, release notes, and changelog drift over time with one summary-first repository row per repo.
Store Quickstart
- Start with
store-input.example.jsonfor a reliable first run across two public repositories. - If the output fits your workflow, switch to
store-input.templates.jsonand choose one of:Quickstart (2 repos, dataset)for first successRecurring Team Watchlistfor a recurring internal release watch laneWebhook Release Digestwhen Slack, ticketing, or internal automation should receive only routed release summaries
Key Features
- 🛠️ Developer-focused — CLI-ready JSON output for piping into build/CI tooling
- ⚡ Fast parallel scanning — Concurrent fetches with backoff for high-throughput audits
- 📊 Changelog-aware — Detects version bumps, new releases, and deprecations between runs
- 🔔 Alert integrations — Webhook delivery to Slack/PagerDuty/Opsgenie for on-call visibility
- 🔒 Zero-credentials — Uses only public data — no package-registry API keys required
Use Cases
| Who | Why |
|---|---|
| Developers | Automate recurring data fetches without building custom scrapers |
| Data teams | Pipe structured output into analytics warehouses |
| Ops teams | Monitor changes via webhook alerts |
| Product managers | Track competitor/market signals without engineering time |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| repositories | array | prefilled | List of repositories to monitor. Each item supports id, name, repo, criticality, owner, tags, modes, releaseUrl, release |
| requestTimeoutSeconds | integer | 30 | HTTP request timeout per monitored source. |
| userAgent | string | — | Optional User-Agent header for upstream requests. |
| maxChars | integer | 35000 | Upper bound for extracted text per monitored source. |
| delivery | string | "dataset" | Where to send summary-first repository results. |
| datasetMode | string | "changes_only" | Choose every repository row, only changed rows, or only action-needed rows. |
| webhookUrl | string | — | Required when delivery is webhook. |
| notifyOnNoChange | boolean | false | When false, webhook delivery skips when there are no changed or action-needed repository summaries. |
Input Example
{"repositories": [{"id": "axios","name": "Axios","repo": "axios/axios","criticality": "high","owner": "Platform","tags": ["sdk", "http-client"],"modes": ["releases", "tags", "changelog"],"changelogUrl": "https://raw.githubusercontent.com/axios/axios/v1.x/CHANGELOG.md"},{"id": "apify-crawlee","name": "Apify Crawlee","repo": "apify/crawlee","criticality": "standard","owner": "Automation","modes": ["releases", "tags"]}],"delivery": "dataset","datasetMode": "changes_only","snapshotKey": "github-release-monitor-team-watchlist","diffMode": "line_summary","summaryMaxLines": 12,"concurrency": 2}
Output
| Field | Type | Description |
|---|---|---|
meta | object | |
recurringDigest | object | |
actionNeeded | array | |
results | array | |
actionNeeded[].repositoryId | string | |
actionNeeded[].repositoryName | string | |
actionNeeded[].repo | string | |
actionNeeded[].owner | string | |
actionNeeded[].severity | string | |
actionNeeded[].status | string | |
actionNeeded[].reason | string | |
actionNeeded[].changedSurfaces | array | |
actionNeeded[].signals | array | |
actionNeeded[].recommendedActions | array | |
actionNeeded[].executiveSummary | string |
Output Example
{"repositoryId": "axios","repositoryName": "Axios","repo": "axios/axios","status": "changed","severity": "high","signals": ["action_required", "deprecation"],"recommendedActions": ["Review the latest GitHub release notes with Platform and decide whether upgrade, regression-test, or compatibility work is needed.","Read the changelog diff and extract migration, configuration, or rollout work for Platform."],"repositorySummary": {"changedSurfaces": ["releases", "changelog"],"actionNeeded": true}}
API Usage
Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.
cURL
curl -X POST "https://api.apify.com/v2/acts/taroyamada~github-release-monitor/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{ "repositories": [ { "id": "axios", "name": "Axios", "repo": "axios/axios", "criticality": "high", "owner": "Platform", "tags": ["sdk", "http-client"], "modes": ["releases", "tags", "changelog"], "changelogUrl": "https://raw.githubusercontent.com/axios/axios/v1.x/CHANGELOG.md" }, { "id": "apify-crawlee", "name": "Apify Crawlee", "repo": "apify/crawlee", "criticality": "standard", "owner": "Automation", "modes": ["releases", "tags"] } ], "delivery": "dataset", "datasetMode": "changes_only", "snapshotKey": "github-release-monitor-team-watchlist", "diffMode": "line_summary", "summaryMaxLines": 12, "concurrency": 2 }'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("taroyamada/github-release-monitor").call(run_input={"repositories": [{"id": "axios","name": "Axios","repo": "axios/axios","criticality": "high","owner": "Platform","tags": ["sdk", "http-client"],"modes": ["releases", "tags", "changelog"],"changelogUrl": "https://raw.githubusercontent.com/axios/axios/v1.x/CHANGELOG.md"},{"id": "apify-crawlee","name": "Apify Crawlee","repo": "apify/crawlee","criticality": "standard","owner": "Automation","modes": ["releases", "tags"]}],"delivery": "dataset","datasetMode": "changes_only","snapshotKey": "github-release-monitor-team-watchlist","diffMode": "line_summary","summaryMaxLines": 12,"concurrency": 2})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('taroyamada/github-release-monitor').call({"repositories": [{"id": "axios","name": "Axios","repo": "axios/axios","criticality": "high","owner": "Platform","tags": ["sdk", "http-client"],"modes": ["releases", "tags", "changelog"],"changelogUrl": "https://raw.githubusercontent.com/axios/axios/v1.x/CHANGELOG.md"},{"id": "apify-crawlee","name": "Apify Crawlee","repo": "apify/crawlee","criticality": "standard","owner": "Automation","modes": ["releases", "tags"]}],"delivery": "dataset","datasetMode": "changes_only","snapshotKey": "github-release-monitor-team-watchlist","diffMode": "line_summary","summaryMaxLines": 12,"concurrency": 2});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Tips & Limitations
- Run nightly as part of your supply-chain monitoring to catch new vulnerabilities early.
- Pair with
oss-vulnerability-monitorfor CVE coverage layered on top of version tracking. - For monorepos, run per-package rather than recursing — easier to triage alerts by team owner.
- Use
snapshotKeyto persist between runs and only alert on diffs. - Webhook delivery supports JSON payloads — pipe into your existing on-call routing.
FAQ
Is my build slowed down?
This actor runs on Apify infrastructure, not your CI runners. No impact on build times.
What's the freshness of data?
Depends on the source registry — typically 5–60 minutes behind upstream.
Can I filter by package ecosystem?
Yes — most DevOps actors accept an ecosystem or package-manager filter in their input schema.
Does this work with private registries?
No — this actor targets public registries (npm, PyPI, crates.io, etc.). Private registries require credential handling that's out of scope.
Can I integrate with GitHub Actions?
Yes — call this actor via Apify API inside a workflow job, parse the JSON output, and fail the build on threshold violations.
Related Actors
DevOps & Tech Intel cluster — explore related Apify tools:
- 🌐 DNS Propagation Checker — Check DNS propagation across 8 global resolvers (Google, Cloudflare, Quad9, OpenDNS).
- 🔍 Subdomain Finder — Discover subdomains for any domain using Certificate Transparency logs (crt.
- 🧹 CSV Data Cleaner — Clean CSV data: trim whitespace, remove empty rows, deduplicate by columns, sort.
- 📦 NPM Package Analyzer — Analyze npm packages: download stats, dependencies, licenses, deprecation status.
- 💬 Reddit Scraper — Scrape Reddit posts and comments from any subreddit via official JSON API.
- Docs & Changelog Drift Monitor API — Monitor release notes, changelog pages, migration guides, and key docs pages with one summary-first target row per monitored repo, SDK, or product.
- Tech Events Calendar API | Conferences + CFP — Aggregate tech conferences and CFPs across multiple sources into a deduplicated event calendar for DevRel and recruiting workflows.
- 🔒 OSS Vulnerability Monitor — Monitor open-source packages for known security vulnerabilities using OSV and GitHub Security Advisories.
Cost
Pay Per Event:
actor-start: $0.01 (flat fee per run)dataset-item: $0.003 per output item
Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01
No subscription required — you only pay for what you use.