GitHub REST API Integration Scraper (BYOC) avatar

GitHub REST API Integration Scraper (BYOC)

Pricing

Pay per usage

Go to Apify Store
GitHub REST API Integration Scraper (BYOC)

GitHub REST API Integration Scraper (BYOC)

Scrape public/private repositories, issues, PRs, and trending charts from GitHub via official REST API (BYOC).

Pricing

Pay per usage

Rating

0.0

(0)

Developer

viralanalyzer

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

10 days ago

Last modified

Share

🐙 GitHub Integration — Repo Info, Issues, PRs, Trending & Org Repos via Official REST API

🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português

Fetch GitHub data via the official GitHub REST API (api.github.com, version 2022-11-28) — single-repo metadata, open issues, open pull requests, trending repos from the last 7 days, and all public repos of an organization. Five focused modes, one actor. No browser. An optional Personal Access Token lifts the rate limit from 60 to 5000 req/h and unlocks private repos.

✨ Features

  • 📊 Repo Info — Full metadata for one repo: stars, forks, open issues, watchers, topics, license, language, default branch, homepage, fork flag, timestamps
  • 🐛 Repo Issues — Open issues with title, author, labels, comment count, body excerpt, timestamps
  • 🔀 Repo PRs — Open pull requests with the same rich fields as issues
  • 🔥 Trending Repos — Repos created in the last 7 days, sorted by stars, optionally filtered by language
  • 🏢 Org Repos — All public repos of an organization, sorted by last update
  • 🔑 Optional PAT — Provide a GitHub Personal Access Token to raise the limit 60 → 5000 req/h and reach private data (stored as a secret)
  • Pure REST — Direct calls to the official GitHub API, no scraping, no browser
  • 🛡️ Diagnostic Setup Guide — On recoverable conditions (bad input, rate limit, missing token, not found, zero results) it returns a clearly-labeled diagnostic record and never charges you

📥 Input

ParameterTypeRequiredDefaultDescription
modestringrepo-inforepo-info | repo-issues | repo-prs | trending | org-repos
repoFullNamestring⚠️microsoft/vscodeowner/repo format. Required for repo-info, repo-issues, repo-prs
orgNamestring⚠️apifyOrganization slug. Required for org-repos
languagestringpythonLanguage filter for trending (e.g. python, javascript). Empty = all
maxItemsinteger30Max items for issues, PRs, org repos. Range 1–500
githubTokenstring (secret)""Optional GitHub PAT. Raises limit 60 → 5000 req/h and grants private-repo access

⚠️ = required only for the modes noted above.

Input Examples

{ "mode": "repo-info", "repoFullName": "microsoft/vscode" }
{ "mode": "repo-issues", "repoFullName": "apify/crawlee", "maxItems": 50 }
{ "mode": "trending", "language": "python" }
{ "mode": "org-repos", "orgName": "apify", "maxItems": 50 }

📤 Output

The fields returned depend on the selected mode. Every record carries a scrapedAt ISO 8601 timestamp.

repo-info (1 record): fullName, description, language, stars, forks, openIssues, watchers, topics[], license, defaultBranch, homepage, isForked, createdAt, updatedAt, htmlUrl.

repo-issues / repo-prs (up to maxItems): id (issue/PR number), title, state, author, labels[], createdAt, updatedAt, commentsCount, htmlUrl, body (truncated to 500 chars), repo.

trending (up to 30): fullName, description, language, stars, forks, topics[], htmlUrl, createdAt.

org-repos (up to maxItems): fullName, description, language, stars, forks, htmlUrl, updatedAt, org.

Notes: description, language, license, homepage, author and body can be null. openIssues includes PRs (per GitHub's count).

Output Example (repo-info)

{
"fullName": "microsoft/vscode",
"description": "Visual Studio Code",
"language": "TypeScript",
"stars": 162000,
"forks": 28500,
"openIssues": 9100,
"watchers": 162000,
"topics": ["editor", "electron", "typescript"],
"license": "MIT License",
"defaultBranch": "main",
"homepage": "https://code.visualstudio.com",
"isForked": false,
"createdAt": "2015-09-03T20:23:38Z",
"updatedAt": "2026-06-05T08:14:00Z",
"htmlUrl": "https://github.com/microsoft/vscode",
"scrapedAt": "2026-06-05T12:00:00.000Z"
}

📋 Use Cases

  • Dependency Monitoring — Track stars, forks, open issues, license of repos your stack depends on
  • Competitive Intelligence — Watch an organization's full public repo footprint with org-repos
  • Trend Discovery — Surface fast-rising repos from the last 7 days by language with trending
  • Triage Dashboards — Pull open issues or PRs into your board with author, labels, comment counts
  • OSS Health Reports — Aggregate repo metadata across many projects into scorecards
  • LLM / Agent Context — Provide structured, real-time GitHub data to RAG and agentic workflows

❓ FAQ

Q: Do I need a GitHub token? A: No. It works without one, but unauthenticated GitHub requests are capped at 60 req/h per IP (shared datacenter IPs exhaust fast). Provide a PAT in githubToken to raise the limit to 5000 req/h and access private repos. The token is stored as a secret.

Q: Which modes need which inputs? A: repo-info, repo-issues and repo-prs require repoFullName (owner/repo). org-repos requires orgName. trending uses the optional language filter and needs neither.

Q: How many issues / PRs / repos can I fetch? A: Up to maxItems (1–500, default 30) for repo-issues, repo-prs and org-repos. The actor paginates the GitHub API at 100 per page until the limit is reached. trending returns up to 30 repos.

Q: What counts as "trending"? A: Repos created in the last 7 days, returned by GitHub search sorted by stars (descending), optionally filtered to a single language.

Q: Why did my run return a diagnostic record instead of data? A: For recoverable conditions — missing/invalid input, rate limit, missing/invalid token, repo or org not found, or zero results — the actor saves a clearly-labeled diagnostic record (setup_status: "DIAGNOSTIC_GUIDE") with causes and remediations, finishes successfully, and does not charge you. Add a token or fix the input and re-run.

Q: Does it return closed issues / PRs? A: No. Both repo-issues and repo-prs query open items only (state=open).

💰 Pricing

This actor uses Pay Per Event (PPE) pricing with a single event:

EventWhen it fires
item-fetchedOnce per item written to the dataset (the number of returned records)

You are charged only for real items returned. Runs that hit a recoverable condition (bad input, rate limit, not found, zero results) emit a diagnostic record and are not charged. See current per-event rates on the Apify Store page: https://apify.com/viralanalyzer/mcp-github-integration

📝 Changelog

v1.0 (Current)

  • ✅ Five modes: repo-info, repo-issues, repo-prs, trending, org-repos
  • ✅ Official GitHub REST API (api.github.com, version 2022-11-28)
  • ✅ Optional Personal Access Token (60 → 5000 req/h, private-repo access)
  • ✅ Pagination up to maxItems (1–500) for issues, PRs, org repos
  • ✅ Trending = repos created in the last 7 days, sorted by stars
  • ✅ Diagnostic Setup Guide on recoverable conditions — never charges PPE
  • ✅ PPE billing via item-fetched with owner-skip

🐙 GitHub Integration — Info de Repo, Issues, PRs, Trending & Repos de Org via API REST Oficial

🇺🇸 English | 🇧🇷 Português

Busque dados do GitHub via API REST oficial (api.github.com, versão 2022-11-28) — metadados de um repositório, issues abertas, pull requests abertos, repositórios em alta dos últimos 7 dias e todos os repositórios públicos de uma organização. Cinco modos focados, um actor. Sem navegador. Um Personal Access Token opcional eleva o limite de 60 para 5000 req/h e libera repositórios privados.

✨ Funcionalidades

  • 📊 Info de Repo — Metadados completos de um repo: estrelas, forks, issues abertas, watchers, tópicos, licença, linguagem, branch padrão, homepage, flag de fork, timestamps
  • 🐛 Issues do Repo — Issues abertas com título, autor, labels, contagem de comentários, trecho do corpo, timestamps
  • 🔀 PRs do Repo — Pull requests abertos com os mesmos campos ricos das issues
  • 🔥 Repos em Alta — Repos criados nos últimos 7 dias, ordenados por estrelas, opcionalmente filtrados por linguagem
  • 🏢 Repos de Org — Todos os repos públicos de uma organização, ordenados por última atualização
  • 🔑 PAT Opcional — Forneça um GitHub Personal Access Token para elevar o limite 60 → 5000 req/h e acessar dados privados (armazenado como secret)
  • REST Puro — Chamadas diretas à API oficial do GitHub, sem scraping, sem navegador
  • 🛡️ Guia de Diagnóstico — Em condições recuperáveis (input inválido, limite de taxa, token ausente, não encontrado, zero resultados) retorna um registro de diagnóstico claramente identificado e nunca cobra

📥 Entrada

ParâmetroTipoObrigatórioPadrãoDescrição
modestringrepo-inforepo-info | repo-issues | repo-prs | trending | org-repos
repoFullNamestring⚠️microsoft/vscodeFormato owner/repo. Obrigatório para repo-info, repo-issues, repo-prs
orgNamestring⚠️apifySlug da organização. Obrigatório para org-repos
languagestringpythonFiltro de linguagem para trending (ex: python, javascript). Vazio = todas
maxItemsinteiro30Máx. de itens para issues, PRs, repos de org. Faixa 1–500
githubTokenstring (secret)""GitHub PAT opcional. Eleva o limite 60 → 5000 req/h e dá acesso a repos privados

⚠️ = obrigatório apenas para os modos indicados acima.

Exemplos de Entrada

{ "mode": "repo-info", "repoFullName": "microsoft/vscode" }
{ "mode": "repo-issues", "repoFullName": "apify/crawlee", "maxItems": 50 }
{ "mode": "trending", "language": "python" }
{ "mode": "org-repos", "orgName": "apify", "maxItems": 50 }

📤 Saída

Os campos retornados dependem do mode selecionado. Todo registro carrega um timestamp scrapedAt em ISO 8601.

repo-info (1 registro): fullName, description, language, stars, forks, openIssues, watchers, topics[], license, defaultBranch, homepage, isForked, createdAt, updatedAt, htmlUrl.

repo-issues / repo-prs (até maxItems): id (número da issue/PR), title, state, author, labels[], createdAt, updatedAt, commentsCount, htmlUrl, body (truncado em 500 caracteres), repo.

trending (até 30): fullName, description, language, stars, forks, topics[], htmlUrl, createdAt.

org-repos (até maxItems): fullName, description, language, stars, forks, htmlUrl, updatedAt, org.

Observações: description, language, license, homepage, author e body podem ser null. openIssues inclui PRs (conforme a contagem do GitHub).

Exemplo de Saída (repo-info)

{
"fullName": "microsoft/vscode",
"description": "Visual Studio Code",
"language": "TypeScript",
"stars": 162000,
"forks": 28500,
"openIssues": 9100,
"watchers": 162000,
"topics": ["editor", "electron", "typescript"],
"license": "MIT License",
"defaultBranch": "main",
"homepage": "https://code.visualstudio.com",
"isForked": false,
"createdAt": "2015-09-03T20:23:38Z",
"updatedAt": "2026-06-05T08:14:00Z",
"htmlUrl": "https://github.com/microsoft/vscode",
"scrapedAt": "2026-06-05T12:00:00.000Z"
}

📋 Casos de Uso

  • Monitoramento de Dependências — Acompanhe estrelas, forks, issues abertas e licença dos repos que sua stack usa
  • Inteligência Competitiva — Observe toda a presença pública de repos de uma organização com org-repos
  • Descoberta de Tendências — Revele repos em ascensão dos últimos 7 dias por linguagem com trending
  • Dashboards de Triagem — Traga issues ou PRs abertos para seu board com autor, labels, contagem de comentários
  • Relatórios de Saúde OSS — Agregue metadados de repositórios de vários projetos em scorecards
  • Contexto para LLM / Agentes — Forneça dados estruturados e em tempo real do GitHub a workflows RAG e agênticos

❓ Perguntas Frequentes

P: Preciso de um token do GitHub? R: Não. Funciona sem token, mas requisições não autenticadas são limitadas a 60 req/h por IP (IPs de datacenter compartilhados se esgotam rápido). Forneça um PAT em githubToken para elevar o limite a 5000 req/h e acessar repos privados. O token é armazenado como secret.

P: Quais modos precisam de quais entradas? R: repo-info, repo-issues e repo-prs exigem repoFullName (owner/repo). org-repos exige orgName. trending usa o filtro opcional language e não precisa de nenhum.

P: Quantas issues / PRs / repos posso buscar? R: Até maxItems (1–500, padrão 30) para repo-issues, repo-prs e org-repos. O actor pagina a API do GitHub em 100 por página até atingir o limite. trending retorna até 30 repos.

P: O que conta como "em alta" (trending)? R: Repos criados nos últimos 7 dias, retornados pela busca do GitHub ordenados por estrelas (decrescente), opcionalmente filtrados por uma única language.

P: Por que minha execução retornou um registro de diagnóstico em vez de dados? R: Em condições recuperáveis — entrada ausente/inválida, limite de taxa, token ausente/inválido, repo ou org não encontrado, ou zero resultados — o actor salva um registro de diagnóstico claramente identificado (setup_status: "DIAGNOSTIC_GUIDE") com causas e remediações, encerra com sucesso e não cobra. Adicione um token ou corrija a entrada e rode de novo.

P: Retorna issues / PRs fechados? R: Não. Tanto repo-issues quanto repo-prs consultam apenas itens abertos (state=open).

💰 Preços

Este actor usa precificação Pay Per Event (PPE) com um único evento:

EventoQuando dispara
item-fetchedUma vez por item gravado no dataset (o número de registros retornados)

Você é cobrado apenas pelos itens reais retornados. Execuções que caem em condição recuperável (entrada inválida, limite de taxa, não encontrado, zero resultados) emitem um registro de diagnóstico e não são cobradas. Veja as taxas por evento atuais na página do Apify Store: https://apify.com/viralanalyzer/mcp-github-integration

🔗 Actors Relacionados

📝 Changelog

v1.0 (Atual)

  • ✅ Cinco modos: repo-info, repo-issues, repo-prs, trending, org-repos
  • ✅ API REST oficial do GitHub (api.github.com, versão 2022-11-28)
  • ✅ Personal Access Token opcional (60 → 5000 req/h, acesso a repos privados)
  • ✅ Paginação até maxItems (1–500) para issues, PRs, repos de org
  • ✅ Trending = repos criados nos últimos 7 dias, ordenados por estrelas
  • ✅ Guia de Diagnóstico em condições recuperáveis — nunca cobra PPE
  • ✅ Cobrança PPE via item-fetched com owner-skip