🐙 GitHub Trending Repos Scraper avatar

🐙 GitHub Trending Repos Scraper

Pricing

from $5.00 / 1,000 github trending repo records

Go to Apify Store
🐙 GitHub Trending Repos Scraper

🐙 GitHub Trending Repos Scraper

Scrape daily/weekly/monthly trending repositories from github.com/trending. Joined with GitHub REST API for license, topics, watchers, push date. Watchlist mode tracks rank/star changes day-over-day. Export, run via API, schedule, or integrate with other tools.

Pricing

from $5.00 / 1,000 github trending repo records

Rating

0.0

(0)

Developer

Skootle

Skootle

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

18 days ago

Last modified

Share

GitHub Trending Repos hero

TL;DR

Daily, weekly, monthly trending repositories from github.com/trending. Returns clean structured JSON with rank, stars, stars-gained-this-period, language, contributors, plus optional GitHub REST API enrichment for license, topics, watchers, default branch, push date, and archived/fork flags. Watchlist mode emits only repos where rank or stars changed. Built on the public github.com/trending HTML page plus optional api.github.com/repos/<owner>/<repo> enrichment.


Try it on a small dataset, then let us know what you think in a review.


GitHub Trending Repos extracts the trending repositories from github.com/trending and optionally joins each repo with its full GitHub REST API metadata. You pick which trending windows to pull (daily, weekly, monthly), optionally filter by programming language, and the actor returns one record per repo with: full name, owner, name, URL, description, language + color, stars, forks, stars gained this period, rank, top contributors, and the API enrichment block (license, topics, watchers, default branch, push date, created/updated dates, size, archived flag, fork flag).

Watchlist mode (watchlistMode: true) tracks stars and rank per repo across runs and emits only repos where either changed. Schedule daily and you get a clean diff feed of what's gaining or losing momentum.

GitHub Trending changes every few hours and nobody else gives it to you as structured data. Track rising projects before they hit the front page, for VC analysts on OSS-first investment targets, dev-relations teams watching category-adjacent momentum, weekly tech newsletters, AI agents tracking what new tech to learn, and recruiters mining contributor lists of fast-rising repos.

License audits and BFS-style compliance checks fall out naturally, every record carries license, topics, and archived/fork flags so a daily watchlist doubles as a compliance feed.

Who needs this?

  • AI / LLM teams tracking trending AI repos and benchmarks daily
  • VC and tech-scouting analysts sourcing OSS-first acquisition or investment targets
  • DevRel teams monitoring competitor and category-adjacent OSS momentum
  • Recruiters mining contributor lists of fast-rising repos for top-of-funnel candidates
  • License compliance teams auditing license types across trending dependencies
  • Technology radar / engineering leadership spotting new frameworks before they go mainstream
  • AI agents consuming a daily curated digest of dev innovation
  1. Open the Input tab on the actor page
  2. Pick periods in the periods field (daily, weekly, monthly). One run handles many.
  3. Optionally filter by language (languages: ["python", "typescript"]), empty means all languages combined
  4. Optionally set spokenLanguageCode for spoken-language filter (en, zh, ja)
  5. Optionally enable enrichWithApi (default true) for license, topics, watchers
  6. Optionally provide a githubToken (raises GitHub API quota from ~60/h to ~5,000/h)
  7. Optionally enable watchlistMode for daily diffs
  8. Set maxItems (default 25)
  9. Click Start

This actor is priced per event:

  • Actor Start: $0.01 once per run
  • GitHub trending repo record: tiered, charged per record written
Apify plan$/1000 records
FREE$25.00
BRONZE$21.25
SILVER$17.50
GOLD$15.00
PLATINUM$15.00
DIAMOND$13.50

A typical daily watchlist on the daily window with API enrichment returns ~25 repos on day 1, ~5-15 per day in watchlist mode. Roughly $0.10-$0.30 per daily run on GOLD.

Yes. github.com/trending is a public marketing page, anyone in a browser can read it. The GitHub REST API is also explicitly published with public read access (no auth required for public-repo endpoints, though authenticated requests get a higher rate limit). This actor honors both with respectful pacing.

GitHub's Acceptable Use Policy permits programmatic access to public data. The data scraped (repo names, stars, descriptions, contributor handles) is published by repo owners as marketing material specifically intended to be discoverable. Use freely for research, analytics, AI training, or commercial intelligence products.

Examples

{
"periods": ["daily"],
"languages": ["python"],
"enrichWithApi": true,
"watchlistMode": true,
"maxItems": 25
}
{
"periods": ["weekly"],
"languages": ["python", "typescript", "rust", "go"],
"enrichWithApi": true,
"maxItems": 100
}

Example 3: Daily all-languages combined

{
"periods": ["daily"],
"languages": [],
"enrichWithApi": true,
"maxItems": 25
}
{
"periods": ["monthly"],
"languages": ["typescript"],
"enrichWithApi": true,
"githubToken": "ghp_yourtoken",
"maxItems": 25
}

Example 5: Star-velocity tracker (watchlist on daily)

{
"periods": ["daily"],
"languages": ["python", "typescript"],
"enrichWithApi": false,
"watchlistMode": true,
"maxItems": 50
}

Run hourly. Diff output gives you star velocity in near-real-time.

Example 6: License-compliance audit

{
"periods": ["daily", "weekly"],
"languages": ["python", "javascript", "typescript", "go", "rust", "java"],
"enrichWithApi": true,
"githubToken": "ghp_yourtoken",
"maxItems": 200
}

Filter the output for enrichment.license values; flag GPL/AGPL repos against your team's allowed-license policy.

Example 7: Hiring funnel from contributor lists

{
"periods": ["weekly", "monthly"],
"languages": ["python", "typescript"],
"enrichWithApi": false,
"maxItems": 100
}

Each record carries contributors[] (login + avatar). Pipe to a recruiter pipeline.

Example 8: Spoken-language filter (Chinese-language repos)

{
"periods": ["weekly"],
"spokenLanguageCode": "zh",
"enrichWithApi": true,
"maxItems": 25
}

Input parameters

FieldTypeDefaultDescription
periodsenum[]["daily"]daily, weekly, monthly
languagesstring[][]Language slugs (python, typescript, rust). Empty = all combined.
spokenLanguageCodestring|nullnullSpoken-language filter (en, zh, ja)
enrichWithApibooltrueAdds 1 GitHub API call per repo
githubTokenstring|nullnullPAT raises API quota from ~60/h to ~5,000/h
watchlistModeboolfalseDiff against KV-stored last-seen rank+stars
maxItemsint25Hard cap
useApifyProxyboolfalseUsually unneeded

github_trending_repo

FieldTypeDescription
outputSchemaVersion, recordType, recordIdstringDiscriminated identity
fullName, owner, name, urlstringRepo identity + canonical URL
descriptionstringTagline
language, languageColorstringPrimary language + color
stars, forks, starsGainedThisPeriodintEngagement
rank, periodint / enumPosition + window
spokenLanguageCode, languageFilterstringFilters used
contributorsarray[{ login, avatarUrl }] (top 5)
enrichmentobject | nullWhen enrichWithApi: true: defaultBranch, license, homepage, topics[], openIssues, watchers, pushedAt, createdAt, updatedAt, size, archived, isFork, htmlUrl
fieldCompletenessScore, agentMarkdownint / stringQuality + LLM-ready summary
scrapedAtISO 8601Snapshot timestamp
{
"outputSchemaVersion": "2026-05-09",
"recordType": "github_trending_repo",
"recordId": "github:trending:daily:anthropics/financial-services",
"fullName": "anthropics/financial-services",
"owner": "anthropics",
"name": "financial-services",
"url": "https://github.com/anthropics/financial-services",
"language": "Python",
"stars": 15808,
"forks": 1988,
"starsGainedThisPeriod": 3660,
"rank": 1,
"period": "daily",
"contributors": [
{ "login": "user1", "avatarUrl": "https://avatars.githubusercontent.com/u/..." }
],
"enrichment": {
"license": "MIT",
"topics": ["ai", "claude", "finance"],
"watchers": 32,
"openIssues": 12,
"pushedAt": "2026-05-09T08:30:00Z",
"archived": false,
"isFork": false
},
"fieldCompletenessScore": 95,
"agentMarkdown": "**🐙 anthropics/financial-services** (#1 daily · Python)\n- ⭐ 15,808 · 🔱 1,988 · 📈 +3,660 daily\n- 🏷 ai, claude, finance\n- 📜 MIT\n- 🔗 https://github.com/anthropics/financial-services"
}

During the Actor run

The actor pulls trending repos and (optionally) the GitHub REST enrichment block with respectful pacing. No GitHub token required for small daily runs; pass one for higher quotas. Alongside the dataset, three artifacts land in the actor's key-value store: OUTPUT (run summary), AGENT_BRIEFING (top 10 by stars-gained), and WATCHLIST_STATE (per-repo last-seen rank + stars, when watchlistMode: true).

FAQ

Do I need a GitHub token?

For small runs (≤25 repos with enrichment), no, GitHub's unauthenticated API allows ~60 requests/hour, which covers a daily watchlist comfortably. For larger runs, provide a GitHub personal access token (PAT); authenticated requests get ~5,000/hour.

Can I monitor for star/rank changes only?

Yes. Set watchlistMode: true. The actor tracks stars and rank per repo per run and only emits records where either changed.

Can I filter by programming language?

Yes. languages: ["python", "typescript"]. The actor pulls github.com/trending/python?since=daily and github.com/trending/typescript?since=daily separately.

Can I filter by README spoken language?

Yes. Set spokenLanguageCode: "zh" (or any ISO-639-1 code). GitHub's trending page accepts this filter.

Yes, the top 5 contributors visible on the trending card are emitted as contributors[] (login + avatar URL).

Can I use this with the Apify API?

Yes. POST to https://api.apify.com/v2/acts/skootle~github-trending/runs.

Can I integrate with Make / Zapier / n8n / Slack?

Yes. Click Integrations on the actor page.

The trending page format has been stable for years. If it changes, the actor adapts within 24-48 hours.

Your feedback

Hit a bug or want a feature? Open an issue on the Issues tab rather than the reviews page, and we'll fix it fast (typically within 48 hours).

  • Monitor mode emits only what's new since last run, only repos where stars or rank changed, so a daily cron is a clean rising-projects feed for VC scouting or weekly tech newsletters
  • All 3 windows in one actor, daily, weekly, monthly, by language and by spoken-language, instead of refreshing github.com/trending tab by tab
  • Star-velocity ranking built in, starsGainedThisPeriod per record so you can sort by momentum, not raw stars
  • API enrichment per record, license, topics, watchers, push date, archived flag, and fork flag, so license audits and recruiter sourcing work off one dataset
  • Reliability free actors can't deliver, free actors break when GitHub shifts the trending page layout. We auto-test daily and ship a fix within 24-48 hours
  • No proxy required, runs are cheap and predictable for production pipelines
  • Agent-ready markdown per record drops straight into an LLM context window
  • Re-runs are safe to dedupe by ID, stable github:trending:<period>:<owner>/<repo> keys
  • Schema doesn't break your pipeline, versioned and bumped on breaking change

Other Skootle actors you might want to check

Support and contact

File issues on this actor's page, replies within 48 hours.