GitHub Trending Scraper avatar

GitHub Trending Scraper

Pricing

Pay per event

Go to Apify Store
GitHub Trending Scraper

GitHub Trending Scraper

Scrape the live GitHub Trending page — by day, week, or month — and optionally filter by programming language. Returns repo slug, description, stars gained in the window, today's stars, language, and built-by avatars. No GitHub API required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share


🎯 What this scrapes

GitHub publishes a Trending page (https://github.com/trending) that's separate from the REST API. This Actor parses the page (and its language- and date-filtered variants) and emits one structured row per trending repo — rank, full_name, description, language, total stars, stars-in-window, forks, and the contributor avatars shown on the page.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per page, Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Tech-trend dashboards — chart which languages are surging week-over-week.
  • Newsletter automation — pull the top 10 Python trending repos every Friday into your newsletter.
  • Investor scouting — surface early-stage open-source projects gaining stars before they hit Hacker News.
  • Competitive intel — alert when a competitor's repo lands on Trending.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
sincestringno'daily'Which trending bucket to scrape — today (daily), this week (weekly), or this month (monthly).
languagestringno''Programming language slug exactly as GitHub uses it (e.g. python, typescript, rust</code
spokenLanguagestringno''Spoken language code (e.g. en, zh). Leave empty for all.
maxResultsintegerno25GitHub Trending pages typically show 25 repos. Set to 0 for the whole page.
proxyConfigurationobjectno{'useApifyProxy': True}Apify Proxy is helpful here — GitHub may throttle aggressive scraping. Datacenter is fine.

Example input

{
"since": "daily",
"language": "python",
"maxResults": 5,
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
rankintegerPosition on the trending page (1-indexed).
full_namestringFull repo slug — owner/name.
ownerstringRepository owner login.
namestringRepository name.
html_urlstringCanonical GitHub URL.
description['string', 'null']Repository tagline (as shown on Trending).
language['string', 'null']Primary language label shown on the page.
stars_totalintegerTotal stars at scrape time.
stars_in_windowintegerStars gained in the selected window (today / this week / this month).
forksintegerFork count.
built_byarrayList of contributor avatar URLs shown next to the repo card.
scraped_atstringISO-8601 UTC scrape timestamp.
windowstringThe selected window — daily, weekly, or monthly.

Example output

{
"rank": 1,
"full_name": "psf/requests",
"owner": "psf",
"name": "requests",
"html_url": "https://github.com/psf/requests",
"description": "Python HTTP for Humans.",
"language": "Python",
"stars_total": 51800,
"stars_in_window": 142,
"forks": 9300,
"built_by": [],
"window": "daily"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.005One-off warm-up charge per run
result$0.002Per dataset item

Example: 1 000 results at the rates above ≈ $2.00. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

GitHub may change the Trending page HTML — if you see empty rows, file an issue and we'll ship a parser patch within 24h. We do not scrape developer-trending (only repo-trending) in this Actor.

❓ FAQ

How current is the data?

GitHub recalculates Trending throughout the day. A run reflects the page exactly as a logged-out browser sees it at request time.

Why are some built_by lists empty?

GitHub only shows contributor avatars for some cards; we surface them where present.

Can I filter by topic?

Not in this Actor — the Trending page doesn't expose topic filters. Use the GitHub Repository Scraper for topic queries.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.