GitHub Issues Scraper avatar

GitHub Issues Scraper

Pricing

from $3.62 / 1,000 results

Go to Apify Store
GitHub Issues Scraper

GitHub Issues Scraper

Pull issue details from any public GitHub repository. Extract issue number, title, body, labels, assignees, state, created and updated dates, author, comments count, and linked pull requests. Ideal for tracking project progress, triaging bug reports, or analyzing open-source contribution patterns.

Pricing

from $3.62 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

ParseForge

🐛 GitHub Issues Scraper

Export GitHub Issues in seconds. Give it a repository URL, get a clean dataset of issue titles, numbers, state, labels, assignees, and more, ready as CSV, JSON, Excel, or XML.

This actor collects issue data from any public GitHub repository. It extracts dozens of fields including title, number, state, labels, assignees, comments count, and timestamps. It accesses the GitHub Issues page via a stealth browser to ensure all data is rendered, even for repositories with JavaScript-heavy pages.

The actor supports two modes: a quick preview mode (free users limited to 10 items) and a full scrape mode for paid users, with a maximum of 1,000,000 issues. You can filter by repository URL and set the maximum number of issues to scrape. The actor automatically handles pagination to collect all issues up to the limit.

Who it's forWhat they do with it
Developers, project managers, QA engineers, open source maintainers, data analysts, researchersTrack bug reports, monitor feature requests, analyze issue trends, export issues for reporting, migrate issues to another system, audit repository health

👉 Jump to: What it does · Use cases · Why choose this · Output · Input · Pricing · API · FAQ


📋 What does the GitHub Issues Scraper do?

  • Preview mode: Scrape up to 10 issues for free to test the output.
  • Full scrape: Set maxItems up to 1,000,000 to export all issues from a repository.

Open the input and run it. Paste a GitHub repository issues URL, set the maximum number of issues you need, and the first rows land in under a minute.


🎯 What can you do with GitHub data?

1. 🐛 Track bug reports. A QA engineer pastes the repository URL of their project, sets maxItems to 500, and gets a dataset of all open bugs with labels, assignees, and creation dates. They use this to prioritize fixes and assign tasks.

2. 📊 Analyze feature requests. A product manager scrapes all issues labeled 'enhancement' from a competitor's repository to understand user demands. They export to CSV and analyze trends.

3. 🔄 Migrate issues to another platform. A developer exports all issues from a GitHub repository to import into Jira or GitLab. They use the full scrape mode to get all fields, then transform the data.


⭐ Why choose this GitHub scraper

What you get
Complete dataAll issue fields including labels, assignees, milestones, and comments count.
Fast exportScrape thousands of issues in minutes, not hours.
No codingNo API tokens or GitHub credentials required.

📊 What data can you extract from GitHub?

Export to CSV, Excel, JSON or XML from the Dataset tab, or pull them straight from the API.

Field groupIncluded data
Identityurl
Contenttitle, body
Author and sourceauthorAvatarUrl, author
EngagementcommentsCount
Locationstate
TimecreatedDate, updatedDate, closedDate, scrapedAt
OtherissueNumber, repositoryFullName, labels, assignees, linkedPullRequests, error

Sample record

{
"authorAvatarUrl": "https://avatars.githubusercontent.com/u/28902667?v=4",
"issueNumber": 32995,
"title": "DevTools: Allow searching by component name in Profiler trace",
"url": "https://github.com/react/react/issues/32995",
"state": "closed",
"repositoryFullName": "facebook/react",
"author": "hoxyq",
"createdDate": "2025-04-23T18:53:27Z",
"updatedDate": "2026-08-05T16:53:49Z",
"closedDate": "2026-08-05T16:53:45Z",
"body": "We should have a mechanism to look up a specific component in a specific commit.\n\nI don't think we should have an input, as on Components panel, we should rather listen to `cmd+f` shortcut and display an input in a collapsable view, similarly to what Chrome does. We should also display the number of components that satisfy search query and allow moving between them, like we do in Components panel.\n\nThe search will only consider components from a selected (current) commit, it should not search through every commits (whole trace).\n\n",
"commentsCount": 6,
"scrapedAt": "2026-08-11T17:36:31.833Z"
}

⚙️ How do you configure the GitHub Issues Scraper?

A first run with the defaults

{
"repositoryUrl": "https://github.com/facebook/react/issues",
"maxItems": 10
}

A larger pull

{
"repositoryUrl": "https://github.com/facebook/react/issues",
"maxItems": 200
}

Paste a GitHub repository issues URL, set the maximum number of issues you need, and the first rows land in under a minute.


💰 How much does it cost to scrape GitHub?

This Actor uses pay-per-result pricing: $0.004 per result collected. You are billed only for the results you receive; a run that returns nothing costs nothing.

RunResultsCost
Quick check10 results (free tier)$0.00
Small pull100 results~$0.50
Standard job1,000 results~$5.00
Large dataset10,000 results~$50.00

New Apify accounts include $5 in free credit. Prices drop on paid tiers, so the figures above are the ceiling rather than what a regular user pays. Create a free account.


🚀 How do you scrape GitHub?

  1. Sign up. Create a free Apify account with $5 in credit.
  2. Open the Actor. Go to the GitHub Issues Scraper page.
  3. Set your input. Paste a GitHub repository issues URL, set the maximum number of issues you need, and the first rows land in under a minute.
  4. Run it, then download. Results appear in the Dataset tab as CSV, Excel, JSON or XML.

🔌 Use it as an API

Call it from anything that can send an HTTP request. This returns the dataset in the same response:

curl -X POST \
"https://api.apify.com/v2/acts/parseforge~github-issues-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "repositoryUrl": "https://github.com/facebook/react/issues", "maxItems": 10 }'

Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('parseforge/github-issues-scraper').call({ "repositoryUrl": "https://github.com/facebook/react/issues", "maxItems": 10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parseforge/github-issues-scraper").call(run_input={ "repositoryUrl": "https://github.com/facebook/react/issues", "maxItems": 10 })
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

$APIFY_TOKEN is your Apify API token, from Settings in the console. Save a tested input as an Apify Task and attach a schedule for recurring collection. Full reference: the Apify API documentation.


🤖 Use with AI agents via MCP

Give an AI agent live access to GitHub through the Model Context Protocol (MCP). Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/github-issues-scraper"

Then prompt the agent naturally to run the scraper and read back the results.


🧩 Integrate with any app

Connects to any cloud service through Apify integrations:


🛠️ Troubleshooting


❓ GitHub scraper FAQ


Browse the full ParseForge collection for more scrapers.


🆘 Need help? Open our contact form or email parseforge@protonmail.com to report an issue, request a scraper, or discuss a custom data project.


⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by GitHub, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.