# Emerging Launch Radar: GitHub Trending + Hacker News Momentum (`precious_bathmat/emerging-launch-radar`) Actor

Spot new developer tools, open source projects and startup launches early. Combines GitHub Trending repos (stars gained) with Hacker News momentum (Show HN, Launch HN and GitHub links) into one ranked list with a momentum score.

- **URL**: https://apify.com/precious\_bathmat/emerging-launch-radar.md
- **Developed by:** [Mariam Ahmed](https://apify.com/precious_bathmat) (community)
- **Categories:** Developer tools, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 launches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Emerging Launch Radar: GitHub Trending + Hacker News Momentum

Spot **new open source projects, developer tools and startup launches** while they are taking off. This Actor combines **GitHub Trending** (repositories gaining stars fastest) with **Hacker News momentum** (Show HN, Launch HN and stories linking to GitHub) into one ranked list, with a **momentum score** for every launch.

No API key, no GitHub token and no login needed.

### What does this do?

New projects usually break out on GitHub Trending, on Hacker News, or on both. Checking both every day by hand is slow, and it is easy to miss the ones that matter. This Actor reads both, joins posts to the repositories they link to, and ranks everything by momentum.

```mermaid
flowchart LR
    A[GitHub Trending<br/>stars gained] --> C[Joined by repo<br/>and homepage]
    B[Hacker News<br/>Show HN, Launch HN,<br/>GitHub links] --> C
    C --> D[Ranked launches<br/>with momentum score]
```

### Who is it for?

| You are | You use it to |
|---|---|
| **Venture capital and angel investors** | Find breakout open source projects and technical founders early |
| **Developer relations and dev tool marketers** | Track competitors and new tools in your space every week |
| **Tech journalists and newsletter writers** | Fill "what launched this week" roundups with real traction numbers |
| **Engineers and CTOs** | Discover useful new libraries in your language before everyone else |
| **Recruiters** | Find developers behind fast-growing projects |

### What data do you get?

One row per launch:

| Field | Meaning |
|---|---|
| `rank`, `name`, `launchUrl`, `description` | The launch and where to find it |
| `momentumScore` | Combined traction score (see below) |
| `signals`, `onBothPlatforms` | Where it is trending: GitHub Trending, Show HN, Launch HN, Hacker News |
| `githubStarsGained`, `githubStarsPerDay`, `githubStars`, `githubForks` | GitHub traction |
| `language`, `githubTrendingRank`, `githubTrendingPage` | Language and position on the trending list |
| `repoCreatedAt`, `repoHomepage`, `repoTopics`, `repoLicense` | Repository details, when available |
| `hackerNewsPoints`, `hackerNewsComments`, `hackerNewsPosts` | Hacker News traction across all posts about the launch |
| `hackerNewsTopTitle`, `hackerNewsTopUrl`, `hackerNewsTopPostedAt` | The biggest Hacker News post |
| `hackerNewsPostList` | Up to 10 posts with points, comments and links |

### How the momentum score works

`momentumScore` adds about **20 points for every tenfold increase** in GitHub stars gained per day and in Hacker News points:

- 10 stars a day ≈ 20, 100 stars a day ≈ 40, 1,000 stars a day ≈ 60
- 10 Hacker News points ≈ 20, 100 points ≈ 40, 1,000 points ≈ 60

A project that is big on both platforms scores the highest. Launches on both are rare, so `onBothPlatforms` flags them.

### Example: this month's launches on both platforms

Python, TypeScript, JavaScript, Rust and Go repositories trending on GitHub this month that also got real traction on Hacker News, from a run in September 2026:

| Rank | Launch | Stars gained | Hacker News | Momentum |
|---|---|---|---|---|
| 1 | ayghri/i-have-adhd | +24,963 | 540 points, 372 comments | 113.1 |
| 2 | experientiallabs/experiential | +4,496 | 222 points, 47 comments | 90.5 |
| 3 | RyanCodrai/turbovec | +2,412 | 302 points, 33 comments | 87.8 |

A normal weekly run returns about 100 launches: the top GitHub Trending repositories plus the strongest Show HN and GitHub-linked Hacker News posts.

#### Sample output (JSON)

```json
{
  "rank": 1,
  "name": "i-have-adhd",
  "launchUrl": "https://github.com/ayghri/i-have-adhd",
  "description": "A skill to stop your coding agent from burying the answer. ADHD-friendly output.",
  "signals": ["GitHub Trending (this month)", "Hacker News"],
  "onBothPlatforms": true,
  "momentumScore": 113.1,
  "language": "Python",
  "githubStars": 46164,
  "githubStarsGained": 24963,
  "githubStarsPerDay": 832.1,
  "githubTrendingRank": 2,
  "repoCreatedAt": "2026-05-13T20:42:06Z",
  "repoLicense": "MIT",
  "hackerNewsPoints": 540,
  "hackerNewsComments": 372,
  "hackerNewsTopTitle": "I-have-ADHD: A skill to stop coding agents from burying the answer",
  "hackerNewsTopUrl": "https://news.ycombinator.com/item?id=49610631"
}
```

### How to use it

1. Choose a **time window**: today, this week or this month.
2. Optional: add **GitHub languages** (python, typescript, rust, go…) and **keywords** (ai, agent, database…).
3. Turn on **Only launches on both platforms** for the strongest signals only.
4. Click **Start**. Export to Excel, CSV or JSON, or send new launches to Slack or email with Apify integrations.

**Tip:** schedule a weekly run with your keywords and connect a Slack integration to get a launch digest every Monday.

### Popular radars

Ready to run:

**GitHub Trending**

- [GitHub Trending repositories today](https://apify.com/precious_bathmat/emerging-launch-radar/examples/github-trending-repositories-today)
- [GitHub Trending repositories this week](https://apify.com/precious_bathmat/emerging-launch-radar/examples/github-trending-repositories-this-week)
- [Trending Python repositories](https://apify.com/precious_bathmat/emerging-launch-radar/examples/trending-python-repositories)
- [Trending TypeScript repositories](https://apify.com/precious_bathmat/emerging-launch-radar/examples/trending-typescript-repositories)
- [Trending JavaScript repositories](https://apify.com/precious_bathmat/emerging-launch-radar/examples/trending-javascript-repositories)
- [Trending Rust repositories](https://apify.com/precious_bathmat/emerging-launch-radar/examples/trending-rust-repositories)
- [Trending Go repositories](https://apify.com/precious_bathmat/emerging-launch-radar/examples/trending-go-repositories)

**Hacker News**

- [Hacker News launches this week](https://apify.com/precious_bathmat/emerging-launch-radar/examples/hacker-news-launches-this-week)
- [Top Hacker News launches this month](https://apify.com/precious_bathmat/emerging-launch-radar/examples/hacker-news-launches-this-month)

**Cross-platform**

- [Trending AI projects this week](https://apify.com/precious_bathmat/emerging-launch-radar/examples/trending-ai-projects-this-week)
- [Breakout projects on GitHub and Hacker News](https://apify.com/precious_bathmat/emerging-launch-radar/examples/breakout-projects-github-and-hacker-news)

#### Run it with the API

```bash
curl -X POST "https://api.apify.com/v2/acts/precious_bathmat~emerging-launch-radar/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "period": "weekly",
    "languages": ["python", "rust"],
    "keywords": ["ai", "agent"]
  }'
```

### Pricing

**$0.01 per launch returned.**

| Job | Launches | Cost |
|---|---|---|
| Launches on both platforms this month | usually under 10 | under $0.10 |
| Weekly radar, top 25 | 25 | $0.25 |
| Weekly radar, all sources | about 100 | about $1.00 |

Use **Max launches**, **Keywords** or **Only launches on both platforms** to pay only for what you need.

### FAQ

**Where does the data come from?**
The public GitHub Trending pages and the public Hacker News search API from Algolia. Repository details come from the public GitHub API.

**How are Hacker News posts matched to GitHub projects?**
By the link: a post that links to a GitHub repository, or to the website a repository lists as its homepage. Projects are never matched by name alone, because different projects often share a name.

**Which Hacker News posts count as launches?**
Every Show HN and Launch HN post, plus stories that link to a GitHub repository's home page or a release. Stories linking to GitHub issues, pull requests or commits are left out, because they are usually news or arguments about an existing project rather than a launch.

**Why are repository details sometimes empty?**
The GitHub API allows a limited number of anonymous requests per hour, so details are fetched for the top launches only, and skipped when the hourly limit is reached. Everything else in the row is still filled in.

**Why do few launches appear on both platforms?**
Most projects trend on one platform only. When one does break out on both, it is usually a strong signal, which is why it gets the highest scores.

**How far back does Hacker News go?**
3 days for "today", 7 days for "this week" and 30 days for "this month", so posts have time to collect points.

# Actor input Schema

## `period` (type: `string`):

GitHub Trending for today, this week or this month. Hacker News posts are taken from the last 3, 7 or 30 days to match.

## `sources` (type: `array`):

Where to look for launches.

## `languages` (type: `array`):

Read GitHub Trending for these programming languages, for example python, typescript, rust, go. Each language adds its own trending list. Leave empty for all languages.

## `keywords` (type: `array`):

Only keep launches whose name, description, topics or Hacker News title contain one of these whole words, for example ai, agent, database. Plurals count as different words, so add both (agent, agents).

## `minHackerNewsPoints` (type: `integer`):

Ignore Hacker News posts with fewer points than this.

## `onlyOnBothPlatforms` (type: `boolean`):

Keep only projects that are trending on GitHub and also got traction on Hacker News. These are rare but strong signals.

## `maxResults` (type: `integer`):

Return at most this many launches, highest momentum first.

## Actor input object example

```json
{
  "period": "weekly",
  "sources": [
    "githubTrending",
    "hackerNews"
  ],
  "minHackerNewsPoints": 10,
  "onlyOnBothPlatforms": false,
  "maxResults": 100
}
```

# Actor output Schema

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

One row per launch, highest momentum first.

## `summary` (type: `string`):

Trending pages read, Hacker News searches, repository details fetched and launches returned.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("precious_bathmat/emerging-launch-radar").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("precious_bathmat/emerging-launch-radar").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 '{}' |
apify call precious_bathmat/emerging-launch-radar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,precious_bathmat/emerging-launch-radar"
        }
    }
}
```

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/xR6Bcg5egzNCVUPeo/builds/L6XioeqYlII6IRV5o/openapi.json
