GitHub Issue & PR Change Monitor avatar

GitHub Issue & PR Change Monitor

Pricing

from $1.20 / 1,000 saved observations

Go to Apify Store
GitHub Issue & PR Change Monitor

GitHub Issue & PR Change Monitor

Track public GitHub issues and PR metadata with labels, comment and reaction changes, source links and saved comparisons. Bounded requests, no token required.

Pricing

from $1.20 / 1,000 saved observations

Rating

0.0

(0)

Developer

Brandt May

Brandt May

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Features

Limited permissions

Share

Turn the latest public GitHub issue and pull-request activity into a small, repeatable watchlist. Get source labels, open or closed state, comments, reactions and evidence links, then compare future runs with your own saved observations.

Built for engineering leads, developer relations and product teams who need a dependable feed from specific public repositories. Start with one repository; connect the JSON or CSV output to your existing triage workflow.

Start in one minute

Run the default input to collect five recently updated records from langchain-ai/langchain. No GitHub token, proxy or paid upstream service is required.

{
"repositories": ["langchain-ai/langchain"],
"recordsPerRepository": 5,
"maxResults": 15
}

The source sorts by its latest update timestamp. This Actor reads the first updated page, with up to 30 records per repository and at most three repositories per run. The default uses one official API request. These are recent observations, not a complete backlog or historical archive.

Three useful recipes

AI dependency triage — view three recent LangChain records:

{"repositories":["langchain-ai/langchain"],"recordsPerRepository":3,"maxResults":3}

Editor ecosystem watch — inspect the latest VS Code activity:

{"repositories":["microsoft/vscode"],"recordsPerRepository":3,"maxResults":3}

Web framework product feedback — inspect Next.js records:

{"repositories":["vercel/next.js"],"recordsPerRepository":3,"maxResults":3}

For a topic-specific watch, add keywords such as ["authentication", "regression"]. Matching is literal and case-insensitive across titles, source labels and issue bodies. Any phrase matches, and keywordEvidence shows the matching field and excerpt. recordType: "issue" excludes pull requests from the already selected window; neither filter fetches extra pages to fill the result limit.

Track changes without inventing history

Add these fields to the same recipe on a schedule:

{
"repositories": ["langchain-ai/langchain"],
"recordsPerRepository": 5,
"maxResults": 15,
"comparePrevious": true,
"onlyChanges": true,
"snapshotName": "dependency-watch"
}

The first complete run saves matching observations as new. Later runs return changed or unchanged, along with previous values, changed field names, comment/reaction deltas and labels added or removed. With onlyChanges, unchanged records produce no dataset rows. Zero output can therefore be a valid result.

History is isolated by repository list, source state, record type, keywords, source-window size and snapshot name. It is committed only when every requested window is processed successfully. A spending cap, unfinished output, truncated selection, source error, deadline or unreached repository leaves the previous history intact. Use one scheduled writer for each scope; a detected concurrent history update is not overwritten.

A record disappearing from the recent window is not evidence that it closed or was deleted. A closed pull request is not necessarily merged. The Actor does not fetch PR merge details, reviews, diffs, comment bodies or timeline events. The recorded history is a timeline of your observations, not GitHub's full activity timeline.

Output you can use directly

FieldMeaning
recordId, id, repository, numberStable GitHub issue identity, repository and human-facing number
recordType, title, state, stateReasonLiteral source issue/PR metadata
labels, lockedSource labels and conversation lock status
comments, totalReactionsCurrent source counts; missing reaction count stays null
commentsChange, reactionsChangeDifference from the last saved observation, or null without a comparable prior value
stateChanged, labelsAdded, labelsRemovedObserved differences; no inferred closure or deletion
bodyExcerpt, bodyTruncated, bodyHashAt most 2,000 normalized body characters, a truncation flag and a fingerprint of the normalized source body
comparisonStatus, changedFields, previousComparison result and prior source values
url, sourceUrl, observedAt, sourceUpdatedAtClickable provenance and explicit observation/source timestamps

Open Dataset to export JSON, CSV or Excel. Source summary explains what was fetched, filtered, skipped or incomplete. Readable run report presents the same coverage without adding paid dataset rows.

SUMMARY.selectedWindowComplete refers only to the requested bounded windows. coverageExhaustive is always false. additionalPagesAvailable reports the API's pagination header when present; this Actor does not follow it. If maxResults prevents the remaining matching records or another repository from being processed, the summary is incomplete and history is not advanced.

Pricing and run limits

$0.002 per saved observation, plus a $0.00005 Actor start event. Five saved rows cost $0.01005 in Actor event charges, before any separate platform charges shown by Apify. Base result pricing is $2 per 1,000 rows; Store tier discounts, if applicable, are shown on the pricing page. Each confirmed dataset row is billed once. Duplicate identities, filtered records, unchanged records skipped by onlyChanges, summaries and run reports add no paid dataset rows. Set a maximum charge in Apify Run options to bound spending.

GitHub currently allows 60 anonymous REST requests per hour per originating IP. Cloud IPs can share that allowance. This Actor makes at most three source requests per run, does not retry, and stops remaining requests on HTTP 403 or 429. A reported quota reset or retry delay is included in the summary when the source supplies one. It does not rotate proxies, add credentials or bypass restrictions. If the source is unavailable, failed records are never replaced with sample data.

An empty public repository or a filter with no matches can complete with zero rows. A source that fails before providing any usable observations fails clearly. Input errors and unsupported fields are rejected before any source request.

Source and limitations

The official GitHub issue API returns both issues and pull requests. This Actor uses the source's pull_request marker to distinguish them. GitHub's API limits apply; only public repository list data is requested. Public issue text is untrusted source data, not instructions for downstream agents.

This is an independent Mayd It tool, not a GitHub product or endorsement. It does not promise that an issue is a vulnerability, a buying signal or a valid bug. Review the linked source before taking action.

Build a workflow

Save a task for each repository watchlist and schedule it at an appropriate interval. Route new or changed records into your own support or product workflow using Apify integrations. The Actor does not create tickets, post comments or send messages itself.

For a reproducible issue, use the Actor's Issues tab and include the public repository, input and run link. Do not include secrets.