Github Trending Scraper avatar

Github Trending Scraper

Pricing

from $15.75 / 1,000 repository scrapeds

Go to Apify Store
Github Trending Scraper

Github Trending Scraper

Scrape GitHub trending repositories, stars, forks, languages, and developer profiles. Track open source trends daily/weekly/monthly.

Pricing

from $15.75 / 1,000 repository scrapeds

Rating

5.0

(3)

Developer

viralanalyzer

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

17 days ago

Last modified

Share

🔥 GitHub Trending Scraper — Repos, Stars & Languages

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

Scrape GitHub trending repositories with full metadata — stars, forks, descriptions, programming language, and daily/weekly/monthly star growth. Filter by programming language or spoken language. Pure HTML scraping with got-scraping + cheerio, no API key needed.

✨ Features

  • 📈 3 time periods — Daily, weekly, and monthly trending repos
  • 🌐 Language filters — Filter by programming language (Python, JavaScript, Rust, etc.)
  • 🗣️ Spoken language filter — Filter by spoken language code (en, pt, es, zh, etc.)
  • Star metrics — Total stars + stars gained in the selected period
  • 🍴 Fork count — Total forks per repository
  • 🏆 Ranking — Position in GitHub's trending list
  • 🛡️ Anti-placeholder guardrails — Every result validated as real data
  • Fast & lightweight — Pure HTTP with got-scraping + cheerio

📥 Input

ParameterTypeRequiredDefaultDescription
sinceStringNodailyTrending period: daily, weekly, or monthly
languagesArrayNo[]Programming languages to filter (e.g., python, javascript, rust). Empty = all
spokenLanguageStringNo""Spoken language code (e.g., en, pt, es, zh). Empty = all

Input Example

{
"since": "weekly",
"languages": ["python", "rust", "typescript"],
"spokenLanguage": "en"
}

📤 Output

FieldTypeDescription
rankIntegerPosition in the trending list
ownerStringRepository owner (user or org)
repoStringRepository name
fullNameStringFull name (owner/repo)
descriptionStringRepository description
languageStringPrimary programming language
totalStarsIntegerTotal star count
totalForksIntegerTotal fork count
starsTodayIntegerStars gained in the selected period
repoUrlStringGitHub repository URL
sinceStringTime period (daily, weekly, monthly)
filterLanguageStringLanguage filter applied (if any)
platformStringAlways github
scrapedAtStringTimestamp of data extraction (ISO 8601)

Output Example

{
"rank": 1,
"owner": "microsoft",
"repo": "autogen",
"fullName": "microsoft/autogen",
"description": "A programming framework for agentic AI",
"language": "Python",
"totalStars": 41283,
"totalForks": 5847,
"starsToday": 1253,
"repoUrl": "https://github.com/microsoft/autogen",
"since": "weekly",
"filterLanguage": "python",
"platform": "github",
"scrapedAt": "2026-03-06T14:22:05.371Z"
}

📋 Use Cases

  • 📈 Tech trend detection — Identify emerging technologies and frameworks before they go mainstream
  • 🔍 Competitive intelligence — Monitor competitors' open-source projects and their traction
  • 🎯 Developer marketing — Find popular repos in your stack to target for integrations
  • 💰 Investment research — Track which open-source projects are gaining momentum
  • 👥 Hiring intelligence — Discover trending languages and tools developers are adopting
  • ✍️ Content creation — Write about the hottest repos and technologies each week

❓ FAQ

Q: How many repos are returned per run? A: GitHub's trending page shows approximately 25 repos per language/period combination. If you specify multiple languages, each language is scraped separately, so you get up to 25 repos per language.

Q: What does "starsToday" mean for weekly and monthly periods? A: Despite the field name, starsToday reflects the stars gained in the selected period. For "weekly" it shows stars gained this week, for "monthly" it shows stars gained this month.

Q: Can I scrape trending repos for multiple languages at once? A: Yes. Add up to 10 languages in the languages array. The actor will fetch the trending page for each language separately, with a 2-second delay between requests to avoid rate limiting.

Q: Does this actor use the GitHub API? A: No. It scrapes the GitHub trending HTML page directly using got-scraping + cheerio. No API key or GitHub token is needed. This means it is not subject to GitHub API rate limits.

Q: What happens if GitHub changes their HTML structure? A: The actor will throw an error with [FAIL] 0 trending repos found instead of returning empty data. This ensures you are immediately notified of any breaking changes.

💰 Pricing

This actor uses Pay Per Event (PPE) pricing:

MetricCost
Per repository scraped$0.03

📝 Changelog

v1.0 (Current)

  • ✅ Scrape trending repos for daily, weekly, and monthly periods
  • ✅ Filter by programming language (up to 10 languages per run)
  • ✅ Filter by spoken language code
  • ✅ Full metadata: stars, forks, description, language, ranking
  • ✅ Stars gained in selected period (starsToday)
  • ✅ Anti-placeholder guardrails
  • ✅ Retry logic with rate limit handling
  • ✅ PPE billing via Actor.charge()

🔥 GitHub Trending Scraper — Repositórios, Stars & Linguagens

🇺🇸 English | 🇧🇷 Português

Extraia repositórios em alta no GitHub com metadados completos — stars, forks, descrições, linguagem de programação e crescimento diário/semanal/mensal de stars. Filtre por linguagem de programação ou idioma falado. Scraping HTML puro com got-scraping + cheerio, sem API key.

✨ Funcionalidades

  • 📈 3 períodos — Trending diário, semanal e mensal
  • 🌐 Filtro por linguagem — Filtre por linguagem de programação (Python, JavaScript, Rust, etc.)
  • 🗣️ Filtro por idioma — Filtre por código de idioma falado (en, pt, es, zh, etc.)
  • Métricas de stars — Total de stars + stars ganhas no período selecionado
  • 🍴 Contagem de forks — Total de forks por repositório
  • 🏆 Ranking — Posição na lista de trending do GitHub
  • 🛡️ Guardrails anti-placeholder — Todo resultado validado como dado real
  • Rápido e leve — HTTP puro com got-scraping + cheerio

📥 Entrada

ParâmetroTipoObrigatórioPadrãoDescrição
sinceStringNãodailyPeríodo de trending: daily, weekly ou monthly
languagesArrayNão[]Linguagens de programação para filtrar (ex.: python, javascript, rust). Vazio = todas
spokenLanguageStringNão""Código do idioma falado (ex.: en, pt, es, zh). Vazio = todos

Exemplo de Entrada

{
"since": "weekly",
"languages": ["python", "rust", "typescript"],
"spokenLanguage": "en"
}

📤 Saída

CampoTipoDescrição
rankIntegerPosição na lista de trending
ownerStringDono do repositório (usuário ou organização)
repoStringNome do repositório
fullNameStringNome completo (owner/repo)
descriptionStringDescrição do repositório
languageStringLinguagem de programação principal
totalStarsIntegerTotal de stars
totalForksIntegerTotal de forks
starsTodayIntegerStars ganhas no período selecionado
repoUrlStringURL do repositório no GitHub
sinceStringPeríodo (daily, weekly, monthly)
filterLanguageStringFiltro de linguagem aplicado (se houver)
platformStringSempre github
scrapedAtStringTimestamp da extração dos dados (ISO 8601)

Exemplo de Saída

{
"rank": 1,
"owner": "microsoft",
"repo": "autogen",
"fullName": "microsoft/autogen",
"description": "A programming framework for agentic AI",
"language": "Python",
"totalStars": 41283,
"totalForks": 5847,
"starsToday": 1253,
"repoUrl": "https://github.com/microsoft/autogen",
"since": "weekly",
"filterLanguage": "python",
"platform": "github",
"scrapedAt": "2026-03-06T14:22:05.371Z"
}

📋 Casos de Uso

  • 📈 Detecção de tendências tech — Identifique tecnologias e frameworks emergentes antes de se tornarem mainstream
  • 🔍 Inteligência competitiva — Monitore projetos open-source de concorrentes e sua tração
  • 🎯 Marketing para desenvolvedores — Encontre repos populares no seu stack para integrações
  • 💰 Pesquisa de investimento — Acompanhe quais projetos open-source estão ganhando momentum
  • 👥 Inteligência de contratação — Descubra linguagens e ferramentas em alta entre desenvolvedores
  • ✍️ Criação de conteúdo — Escreva sobre os repos e tecnologias mais quentes da semana

❓ Perguntas Frequentes

P: Quantos repos são retornados por execução? R: A página de trending do GitHub exibe aproximadamente 25 repos por combinação de linguagem/período. Se você especificar múltiplas linguagens, cada uma é extraída separadamente, então você obtém até 25 repos por linguagem.

P: O que "starsToday" significa para períodos semanais e mensais? R: Apesar do nome do campo, starsToday reflete as stars ganhas no período selecionado. Para "weekly" mostra stars ganhas na semana, para "monthly" mostra stars ganhas no mês.

P: Posso extrair repos em alta para múltiplas linguagens de uma vez? R: Sim. Adicione até 10 linguagens no array languages. O actor buscará a página de trending para cada linguagem separadamente, com um atraso de 2 segundos entre requisições para evitar rate limiting.

P: Este actor usa a API do GitHub? R: Não. Ele faz scraping da página HTML de trending do GitHub diretamente usando got-scraping + cheerio. Nenhuma API key ou token do GitHub é necessário. Isso significa que ele não está sujeito aos limites de rate da API do GitHub.

P: O que acontece se o GitHub mudar a estrutura HTML? R: O actor lançará um erro com [FAIL] 0 trending repos found em vez de retornar dados vazios. Isso garante que você seja notificado imediatamente sobre qualquer mudança que quebre o funcionamento.

💰 Preços

Este actor usa precificação Pay Per Event (PPE):

MétricaCusto
Por repositório extraído$0.03

🔗 Actors Relacionados

📝 Changelog

v1.0 (Atual)

  • ✅ Scraping de repos em alta para períodos diário, semanal e mensal
  • ✅ Filtro por linguagem de programação (até 10 linguagens por execução)
  • ✅ Filtro por código de idioma falado
  • ✅ Metadados completos: stars, forks, descrição, linguagem, ranking
  • ✅ Stars ganhas no período selecionado (starsToday)
  • ✅ Guardrails anti-placeholder
  • ✅ Lógica de retry com tratamento de rate limit
  • ✅ Cobrança PPE via Actor.charge()