# GitHub Trending Repos Scraper – Daily Weekly Monthly (`devil_port369-owner/github-trending-repos-scraper`) Actor

Scrape GitHub trending repositories without a token. Language filter, daily/weekly/monthly range, stars today, total stars, forks, description. Linear JSON for tech monitoring and content.

- **URL**: https://apify.com/devil\_port369-owner/github-trending-repos-scraper.md
- **Developed by:** [DataFusionX](https://apify.com/devil_port369-owner) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### What does GitHub Trending Repos Scraper do?

**GitHub Trending Repos Scraper extracts GitHub's daily, weekly, or monthly trending repositories — including rank, stars, stars-gained-today, forks, and description — filterable by programming language and spoken language.** It's built for developers, investors, and tech media teams who want to spot rising open-source projects the moment they break out, without manually refreshing GitHub's Trending page. Unlike manual browsing or the raw GitHub Search API (which can't replicate GitHub's trending algorithm), this Actor returns the exact same ranked trending list GitHub shows, as clean structured JSON.

### Why scrape GitHub trending repositories? (Business Use Cases)

- **Early Technology & Trend Discovery** — Spot breakout open-source projects and emerging frameworks before they hit mainstream tech media coverage.
- **VC & Startup Scouting** — Identify fast-growing open-source projects with high daily star velocity as early signals for investment or acquihire scouting.
- **Content & Newsletter Curation** — Automate "what's trending on GitHub today" roundups for developer newsletters, blogs, or social media accounts.
- **Competitive & Market Intelligence** — Monitor trending activity within a specific programming language or ecosystem to track where developer attention is shifting.

### Key Features

- Filter by programming language slug (e.g. `python`, `javascript`, `go`), or leave empty for all languages
- Filter by spoken/natural language code (e.g. `en`) to match regional trending lists
- Choose the trending window: daily, weekly, or monthly
- Returns stars, forks, and `stars_today` (star velocity) for each repository
- Structured JSON output ready for CSV, Excel, or dashboard import
- Lightweight, low compute-unit run — ideal for scheduled daily monitoring

### Input Parameters

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `spokenLanguageCode` | String | No | `""` (empty) | Optional spoken language filter (e.g. `en`); empty returns all spoken languages |
| `language` | String | No | `""` (empty) | Programming language slug (e.g. `python`, `javascript`, `go`); empty returns all languages |
| `since` | String | No | `"daily"` | Trending window: `daily` (Today), `weekly` (This week), or `monthly` (This month) |

Valid input sample:

```json
{
  "spokenLanguageCode": "",
  "language": "python",
  "since": "daily"
}
```

### Output Data Structure

Each output item represents one trending repository, including its rank, star velocity, and core metadata.

```json
{
  "rank": 1,
  "owner": "multimodal-art-projection",
  "name": "YuE",
  "full_name": "multimodal-art-projection/YuE",
  "description": "YuE2: frontier music generation with symbolic planning, zero-shot covers, and agentic music editing.",
  "language": "Python",
  "stars": 8635,
  "forks": 923,
  "stars_today": 559,
  "html_url": "https://github.com/multimodal-art-projection/YuE",
  "since": "daily",
  "language_filter": "python",
  "scraped_at": "2026-09-15T06:59:03.244601+00:00"
}
```

### How to use GitHub Trending Repos Scraper

1. Configure `language`, `spokenLanguageCode` (both optional), and `since` to set your trending window.
2. Click "Start" or trigger a run via the Apify API, Python, or JavaScript SDK.
3. Preview the ranked trending repositories dataset in the Apify Console.
4. Export to JSON, CSV, or Excel, or schedule recurring runs and route results into Zapier, Webhooks, or Google Drive.

### Integrations & Export Options

Results export natively to JSON, CSV, Excel, and XML, with direct compatibility with n8n, Zapier, and Make for no-code automation. Pair this Actor with Apify's built-in scheduler to run it daily and feed fresh trending data into database pipelines (Postgres, BigQuery, Airtable) or trigger webhook alerts when a new repository breaks into the top rankings.

### Custom Scrapers & Enterprise Automation Solutions

> Need a customized scraping solution, tailored workflow automation, or enterprise data extraction pipeline? Get custom development, maintenance, and setup tailored to your exact infrastructure requirements:
> 📬 **[Submit Your Custom Automation Requirements](https://mk1995.github.io/contact/)**

### Frequently Asked Questions (FAQ)

**1. Is scraping GitHub trending repositories legal and compliant?**
GitHub's Trending page is publicly accessible without authentication, and scraping publicly displayed rankings is generally acceptable, but always review GitHub's Terms of Service before commercial use.

**2. How much does it cost to scrape GitHub trending repos using this Actor?**
This is a lightweight Actor with a small, fixed-size result set per run, making it very low-cost in Apify compute units — well suited to frequent scheduled runs.

**3. Do I need proxies or coding skills to run this scraper?**
No. Simply set your language and time-window filters in the Apify Console's input form — no proxies or coding required.

**4. How does this compare to the official GitHub API?**
GitHub does not expose its Trending algorithm through the official API — the Trending page is only available as HTML, and the Search API cannot replicate its ranking. This Actor is the structured-data alternative, parsing the Trending page into clean, automatable JSON.

# Actor input Schema

## `spokenLanguageCode` (type: `string`):

Optional spoken language filter (e.g. en). Leave empty for all.

## `language` (type: `string`):

Programming language slug (e.g. python, javascript, go). Empty = all languages.

## `since` (type: `string`):

Trending window.

## Actor input object example

```json
{
  "since": "daily"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "spokenLanguageCode": "",
    "language": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("devil_port369-owner/github-trending-repos-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "spokenLanguageCode": "",
    "language": "",
}

# Run the Actor and wait for it to finish
run = client.actor("devil_port369-owner/github-trending-repos-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "spokenLanguageCode": "",
  "language": ""
}' |
apify call devil_port369-owner/github-trending-repos-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,devil_port369-owner/github-trending-repos-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/KuFnFJVlvo4otj5B5/builds/ovXd9wULsi7DCyhHw/openapi.json
