GitHub Trending Scraper avatar

GitHub Trending Scraper

Pricing

Pay per event

Go to Apify Store
GitHub Trending Scraper

GitHub Trending Scraper

Scrape trending repositories from GitHub — stars, forks, language, description, and contributors.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

8 hours ago

Last modified

Categories

Share

Scrape trending repositories from GitHub Trending. Get stars, forks, language, description, and contributor info for the hottest open-source projects.

GitHub Trending Scraper extracts data from GitHub's trending repositories page. It collects repository names, descriptions, star counts, fork counts, programming language, daily/weekly/monthly star gains, and top contributors.

You can filter by programming language (Python, JavaScript, Rust, etc.) and time range (today, this week, this month).

GitHub Trending is the go-to source for discovering popular and rising open-source projects. It's updated continuously and reflects what the developer community is actively using and starring.

Key reasons to scrape it:

  • Developer tools discovery — Find new libraries and frameworks gaining traction
  • Competitive intelligence — Track trending projects in your tech stack
  • Investment research — Spot emerging technologies and developer tools
  • Newsletter content — Curate weekly trending repos for developer newsletters
  • Market research — Understand technology adoption trends

Use cases

  • Developers discovering new tools and libraries in their stack
  • CTOs and engineering managers tracking technology trends
  • Venture capitalists identifying hot open-source projects
  • Developer advocates curating content for newsletters and blogs
  • Researchers studying open-source software adoption patterns
  • Recruiters identifying active open-source contributors
  1. Go to GitHub Trending Scraper on Apify Store
  2. Optionally select a programming language filter
  3. Choose a time range (today, this week, or this month)
  4. Click Start and wait for results
  5. Download data as JSON, CSV, or Excel

Input parameters

ParameterTypeDefaultDescription
languagestring""Programming language filter (e.g., "python", "javascript")
sincestring"daily"Time range: daily, weekly, or monthly
spokenLanguageCodestring""Spoken language code (e.g., "en", "zh")

Input example

{
"language": "python",
"since": "weekly"
}

Output

Each repository in the dataset contains:

FieldTypeDescription
ranknumberPosition on the trending page
ownerstringRepository owner/organization
namestringRepository name
fullNamestringFull name (owner/name)
urlstringRepository URL
descriptionstringRepository description
languagestringPrimary programming language
starsnumberTotal star count
forksnumberTotal fork count
starsTodaynumberStars gained in the selected period
builtByarrayTop contributors (username + avatar URL)
scrapedAtstringISO timestamp of extraction

Output example

{
"rank": 1,
"owner": "ruvnet",
"name": "wifi-densepose",
"fullName": "ruvnet/wifi-densepose",
"url": "https://github.com/ruvnet/wifi-densepose",
"description": "WiFi DensePose turns commodity WiFi signals into real-time human pose estimation...",
"language": "Rust",
"stars": 22361,
"forks": 2659,
"starsToday": 5096,
"builtBy": [
{ "username": "ruvnet", "avatar": "https://avatars.githubusercontent.com/u/2934394" }
],
"scrapedAt": "2026-03-03T02:47:49.561Z"
}

Pricing

GitHub Trending Scraper uses pay-per-event pricing:

EventPrice
Run started$0.001
Repo extracted$0.001 per repo

Cost examples

ScenarioReposCost
Daily trending (all)~25$0.026
Weekly Python~25$0.026
Monthly TypeScript~25$0.026

Platform costs are negligible — typically under $0.001 per run.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/github-trending-scraper').call({
language: 'python',
since: 'weekly',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} trending repos`);
items.forEach(repo => {
console.log(`#${repo.rank} ${repo.fullName}${repo.stars} (+${repo.starsToday})`);
});

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/github-trending-scraper').call(run_input={
'language': 'python',
'since': 'weekly',
})
dataset = client.dataset(run['defaultDatasetId']).list_items().items
print(f'Found {len(dataset)} trending repos')
for repo in dataset:
print(f"#{repo['rank']} {repo['fullName']}{repo['stars']} (+{repo['starsToday']})")

Integrations

GitHub Trending Scraper works with all Apify integrations:

  • Scheduled runs — Track trending repos daily, weekly, or monthly
  • Webhooks — Get notified when a scrape finishes
  • API — Trigger runs and fetch results programmatically
  • Google Sheets — Export trending repos directly to a spreadsheet
  • Slack — Send daily trending digest to your team channel

Connect to Zapier, Make, or Google Sheets for automated workflows.

Tips

  • Run daily on a schedule to build a historical dataset of trending repos
  • Filter by language to focus on your tech stack
  • Compare starsToday across runs to identify repos with sustained momentum
  • Use builtBy data to discover active open-source contributors in a space
  • Combine with GitHub API for deeper analysis of trending repos (README content, issue count, etc.)

FAQ

How many repos does it return? GitHub Trending typically shows 25 repositories per page. The exact number varies by time of day and filters applied.

Can I get trending developers instead of repos? Currently this scraper focuses on repositories. GitHub also has a trending developers page that could be supported in a future version.

How often does GitHub update trending? GitHub Trending is updated continuously throughout the day. Running the scraper at different times may yield different results.

Is this affected by rate limiting? The scraper makes a single request per run, so rate limiting is not a concern.