GitHub REST API Integration Scraper (BYOC) avatar

GitHub REST API Integration Scraper (BYOC)

Pricing

from $2.00 / 1,000 item fetcheds

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

from $2.00 / 1,000 item fetcheds

Rating

0.0

(0)

Developer

viralanalyzer

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

18 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