GitHub Trending Repos Scraper
Pricing
from $8.25 / 1,000 items
GitHub Trending Repos Scraper
Pull GitHub trending repositories with stars, forks, language, description, contributors, license, topics, and full repo metadata. Choose daily, weekly, or monthly windows and filter by programming language or spoken language. Export to JSON, CSV, or Excel for developer intelligence and tech trends.
Pricing
from $8.25 / 1,000 items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
17 days ago
Last modified
Categories
Share

🐙 GitHub Trending Repos Scraper
🚀 Pull GitHub's daily, weekly, and monthly trending repositories with full repo metadata. Multi-period and multi-language fanout reaches 100+ unique repos per run. No GitHub token required.
🕒 Last updated: 2026-05-01 · 📊 24 fields per repo · 🐙 220M+ public repos on GitHub · 📈 multi-period fanout · 🔗 GitHub API enrichment
The GitHub Trending Repos Scraper extracts trending repositories from the public GitHub trending page and enriches each with full repo metadata via the GitHub API: stars, forks, language, topics, license, watchers, open issues, default branch, repo size, archived flag, fork flag, template flag, and full ISO timestamps for created, updated, and pushed dates.
GitHub trending is the canonical signal for what developers are building right now. VC firms screen for emerging projects, dev relations teams track adoption, and tech writers cover what is rising. The official trending page caps at 25 entries per query, so this Actor combines daily, weekly, and monthly windows across the top 14 programming languages to reach 100+ unique repos per run.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| VC analysts, developer relations, tech writers, recruiters, dev tool teams | Emerging project discovery, language trend tracking, competitive intel, content research |
📋 What the GitHub Trending Repos Scraper does
Five filtering workflows in a single run:
- 📈 Multi-period fanout. Combines daily, weekly, and monthly trending lists when
sinceis set to the default. - 🌐 Multi-language fanout. Walks the top 14 programming languages (TypeScript, Python, Rust, Go, Java, C++, etc.) when no language is specified.
- 🗣️ Spoken-language filter. Optional
spoken_language_codefilter for repos with READMEs in a specific language. - 🔍 Language filter. Restrict results to a single programming language (e.g. only
rust). - 🔗 API enrichment. Each parsed repo is enriched via
api.github.com/repos/{owner}/{name}for full metadata.
Each row reports rank, full name, owner, name, URL, description, language, language color, star and fork totals, stars gained in the period, period label, contributors shown on the trending card, plus enriched fields: GitHub repo ID, homepage, license, default branch, open issues, watchers, repo size in KB, archived, fork, is-template, topics, and timestamps for created, updated, and pushed.
💡 Why it matters: GitHub trending is one of the few free signals that reflects developer attention in real time. VCs use it for early scouting. DevRel teams use it to gauge competitor traction. Tech writers use it to find stories. The 25-row cap on the official page is a hard ceiling, so multi-period and multi-language fanout is the practical way to reach 100+ unique repos.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
| maxItems | integer | 10 | Repos to return. Free plan caps at 10, paid plan at 1,000,000. |
| language | string | empty | Programming language filter (e.g. rust, python). Empty triggers fanout across top 14 languages. |
| spokenLanguage | string | empty | Spoken language code (e.g. en, zh). Filters repos by README language. |
| since | string | "daily" | daily, weekly, or monthly. Daily triggers period fanout. |
| enrichWithApi | boolean | true | Adds full GitHub API enrichment per repo (license, topics, issues, etc.). |
Example: top 100 trending repos this week, all languages.
{"maxItems": 100,"since": "weekly","enrichWithApi": true}
Example: trending Rust repos with full enrichment.
{"maxItems": 50,"language": "rust","since": "monthly","enrichWithApi": true}
⚠️ Good to Know: GitHub's anonymous API rate limit is 60 requests per hour per IP. With
enrichWithApi=trueon a 100-repo run, you stay well under that. For very large runs, disable enrichment or rotate proxies.
📊 Output
Each repo record contains 24 fields when enrichment is enabled, 13 fields without. Download as CSV, Excel, JSON, or XML.
🧾 Schema
| Field | Type | Example |
|---|---|---|
🏆 rank | integer | 1 |
🏷️ fullName | string | "warpdotdev/warp" |
👤 owner | string | "warpdotdev" |
📦 name | string | "warp" |
🔗 url | string | "https://github.com/warpdotdev/warp" |
📝 description | string | null | "Warp is an agentic development environment..." |
🧮 language | string | null | "Rust" |
🎨 languageColor | string | null | "#dea584" |
⭐ totalStars | integer | 49284 |
🍴 totalForks | integer | 3208 |
📈 starsThisPeriod | integer | 8399 |
📅 period | string | "daily" |
👥 contributorsShown | array | [] |
🆔 githubId | integer | 384219990 |
🏠 homepage | string | null | "https://warp.dev" |
📄 license | string | null | "AGPL-3.0" |
🌿 defaultBranch | string | "master" |
🐛 openIssues | integer | 3265 |
👁️ watchers | integer | 312 |
💾 size | integer | 154580 |
🗄️ archived | boolean | false |
🍴 fork | boolean | false |
📋 isTemplate | boolean | false |
🏷️ topics | array | ["rust", "terminal", "shell"] |
📅 createdAt | ISO 8601 | "2021-07-08T18:48:08Z" |
📅 updatedAt | ISO 8601 | "2026-04-30T22:13:28Z" |
📅 pushedAt | ISO 8601 | "2026-04-30T22:13:30Z" |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 🆓 | No GitHub token. Reads the public trending page plus anonymous API access. |
| 📈 | Period fanout. Combines daily, weekly, and monthly to break the 25-row ceiling. |
| 🌐 | Language fanout. Walks the top 14 programming languages for breadth. |
| 🔗 | API enrichment. Adds license, topics, issues, watchers, and timestamps per repo. |
| 🆔 | Stable repo IDs. Each row carries the GitHub repo ID for cross-referencing. |
| 🚀 | Fast. Typical 100-row pull completes in 25 to 35 seconds. |
| 🛠️ | Configurable. Disable enrichment for faster, lighter pulls when you only need names and stars. |
📊 In a single 29-second run the Actor returned 100 unique trending repos across 3 periods and 14 languages.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| Direct trending page scrape | Free | 25 rows max | Live | Single period | Engineer hours |
| GitHub Search API | Free with token | Star-sorted | Live | Star range only | Token required |
| Paid dev intel platforms | $$$ subscription | Aggregated | Daily | Built-in | Account setup |
| ⭐ GitHub Trending Repos Scraper (this Actor) | Pay-per-event | 100+ via fanout | Live | Period, language | None |
Same trending page GitHub publishes, with multi-period and multi-language fanout to reach more rows.
🚀 How to use
- 🆓 Create a free Apify account. Sign up here and get $5 in free credit.
- 🔍 Open the Actor. Search for "GitHub Trending" in the Apify Store.
- ⚙️ Pick filters. Optional language and spoken-language filters.
- ▶️ Click Start. A 100-row run typically finishes in 25 to 35 seconds.
- 📥 Download. Export as CSV, Excel, JSON, or XML.
⏱️ Total time from sign-up to first dataset: under five minutes.
💼 Business use cases
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🔌 Automating GitHub Trending Repos Scraper
Run this Actor on a schedule, from your codebase, or inside another tool:
- Node.js SDK: see Apify JavaScript client for programmatic runs.
- Python SDK: see Apify Python client for the same flow in Python.
- HTTP API: see Apify API docs for raw REST integration.
Schedule daily or weekly runs from the Apify Console. Pipe results into Google Sheets, S3, BigQuery, or your own webhook with the built-in integrations.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
📈 What does period fanout do?
When since is set to daily, the Actor combines daily, weekly, and monthly trending lists to break past the 25-row cap on a single page. Set since explicitly to skip fanout.
🌐 What does language fanout do?
When no language is specified, the Actor walks the top 14 programming languages to broaden coverage. Each language has its own trending list of up to 25 rows.
🔗 Why use API enrichment?
The trending page returns rank, name, description, language, and star totals. The GitHub API adds license, topics, watchers, open issues, default branch, repo size, archived flag, and full timestamps.
🛡️ What about GitHub API rate limits?
Anonymous access is 60 requests per hour per IP. A 100-row enriched run uses 100 requests. For higher volumes, disable enrichment or rotate proxies.
📦 How many repos can I pull?
Up to roughly 350 unique repos per run via full fanout (14 languages × 3 periods × 25 rows minus overlaps). Free plan caps at 10, paid plan at 1,000,000.
🗣️ What is the spoken-language filter?
GitHub trending supports filtering by README language code (e.g. en for English, zh for Chinese). Pass any valid two-letter code.
📅 How often does GitHub trending refresh?
The trending page recomputes throughout the day. Each run hits the live page so you always get current results.
💼 Can I use this for commercial work?
Yes. The Actor reads only what GitHub publicly serves to any browser. Always honor GitHub's terms of service when republishing repo data.
💳 Do I need a paid Apify plan?
The free plan returns up to 10 rows per run. Paid plans return up to 1,000,000.
⚠️ What if a run fails?
Most failures are transient. Retry once. If the issue persists, open a contact form and include the run URL.
🔁 How fresh is the data?
Live. Each run hits GitHub trending and the GitHub API at run time.
⚖️ Is this legal?
Yes. The Actor reads public HTML and the public GitHub API. It does not authenticate, does not bypass rate limits, and does not scrape private repos.
🔌 Integrate with any app
- Make - drop run results into 1,800+ apps.
- Zapier - trigger automations off completed runs.
- Slack - post run summaries to a channel.
- Google Sheets - sync each run into a spreadsheet.
- Webhooks - notify your own services on run finish.
- Airbyte - load runs into Snowflake, BigQuery, or Postgres.
🔗 Recommended Actors
- 💬 Stack Exchange Q&A Scraper - pair trending repos with developer Q&A.
- 📚 Wikipedia Pageviews Scraper - cross-reference repo trends with public-interest spikes.
- 🅱️ Bing Search Scraper - track which repos rank for which keywords.
- 🦆 DuckDuckGo Search Scraper - alternative SERP signal alongside GitHub data.
- 📰 Substack Publication Scraper - capture how technical newsletters cover trending repos.
💡 Pro Tip: browse the complete ParseForge collection for more pre-built scrapers and data tools.
🆘 Need Help? Open our contact form and we'll route the question to the right person.
GitHub is a registered trademark of GitHub, Inc., a subsidiary of Microsoft. This Actor is not affiliated with or endorsed by GitHub. It uses only publicly accessible HTML and API endpoints.