# What's Trending Now - Google, Wikipedia & Hacker News (`appdata-labs/trending-now-aggregator`) Actor

One call returns what is trending right now across three official sources: Google Trends trending searches, Wikipedia's most-read articles and Hacker News top stories, in one common row shape with rank, title, URL and a popularity metric. Built for AI agents, newsrooms and content teams. No login.

- **URL**: https://apify.com/appdata-labs/trending-now-aggregator.md
- **Developed by:** [Kobkoon Janngam](https://apify.com/appdata-labs) (community)
- **Categories:** Agents, MCP servers, News
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 trending item returneds

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?

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

## What's Trending Now — Google, Wikipedia & Hacker News in one call

**One call returns what is trending right now across three official sources:** Google's trending searches, Wikipedia's most-read articles and Hacker News' top stories. Every item comes back in the same row shape (rank, title, URL and a popularity metric), so you can compare them side by side. For AI agents that need today's context, newsrooms, and content teams looking for a story.

**Quick start:** press **Start** with no configuration. You get Google's trending searches in the US, the 20 most-read English Wikipedia articles of the latest day, and the top 20 Hacker News stories: 50 rows in about 4–6 seconds in our local runs.

### Sample output

| source | rank | title | metricText | startedAt |
|---|---|---|---|---|
| google | 1 | jadan baugh | 500+ searches | 2026-10-31T15:00:00Z |
| google | 2 | john kerry | 200+ searches | 2026-10-31T15:00:00Z |
| wikipedia | 1 | Patrick Stewart | 1,882,386 views | 2026-10-30 |
| wikipedia | 2 | Sunny Ozell | 488,907 views | 2026-10-30 |
| hackernews | 1 | Molly(Signal fork) has not been updated since 3 months and is vulnerable | 143 points, 88 comments | 2026-10-31T10:23:41Z |
| hackernews | 2 | We Took over ChatGPT Accounts | 149 points, 68 comments | 2026-10-31T10:30:11Z |

These rows come from a run on 31 October 2026.

### The row shape

| Field | Google | Wikipedia | Hacker News |
|---|---|---|---|
| `title` | the search term | the article | the story |
| `url` | Google Trends explore link | the article | the linked page (or the discussion) |
| `metric` / `metricName` | lower bound of searches / `approxSearches` | page views that day / `views` | points / `points` |
| `startedAt` | when the trend started | the day counted | when it was posted |
| `context` | the linked news headlines | short description and extract | comment count and author |
| extras | `news`, `region` (country), `imageUrl` | `region` (language), `imageUrl` | `comments`, `discussionUrl` |

A field that a source does not have is `null`, never missing. Rows stay under 2.5 KB in every run we measured.

### Input

| Field | Default | Notes |
|---|---|---|
| `sources` | all three | Any of `google`, `wikipedia`, `hackernews`. |
| `country` | `US` | Country for Google: a code or an English name such as `Thailand`. |
| `wikipediaLanguage` | `en` | Which Wikipedia: `en`, `de`, `ja`, `th`… |
| `maxPerSource` | `20` | Up to 50. Google's feed lists 10 trends per country. |

### One source down never costs you the others

The three sources are read in parallel and independently. If one fails (an unknown country, a Wikipedia language that does not exist, a source that is down), the others still return and the `SUMMARY` record names the failed source and why. The run fails only when every source failed.

### How it works

- **Google:** the Trending Now RSS feed that Google Trends publishes for feed readers.
- **Wikipedia:** Wikimedia's featured-content feed and its most-read list. Today's list appears only after the day is counted, so the Actor uses the most recent day that has one. It identifies itself with a User-Agent and contact URL, as Wikimedia asks.
- **Hacker News:** the official Firebase API, a few requests at a time.

No login, no cookies, no API key, no page scraping.

### Pricing

You pay per item returned: **$3 per 1,000 items**, whichever source it came from. A failed source costs nothing. The run respects your spending limit.

### FAQ

**Why is the Wikipedia date a day or two behind?** Wikimedia publishes the most-read list once a day has finished. The row's `startedAt` tells you which day it covers.

**Can I get only one source?** Yes. Set `sources` to `["hackernews"]`, for example.

**Can I get Google trends for several countries?** This Actor takes one country, to keep one call small. For many countries, use our Google Trends Trending Now Actor.

### Works well with

Same publisher, same output conventions, same honest-failure rules:

- [**google-trends-trending-now**](https://apify.com/appdata-labs/google-trends-trending-now) — What people are searching on Google right now, by country, with the news behind it.
- [**bluesky-trending-topics**](https://apify.com/appdata-labs/bluesky-trending-topics) — What Bluesky is talking about now, with post counts and top posts.

### Disclaimer

This is an unofficial tool, not affiliated with Google, the Wikimedia Foundation or Y Combinator. It reads only public feeds and APIs that each publishes for programs to use. Wikipedia text is available under CC BY-SA; credit it when you republish.

# Actor input Schema

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

Which trend sources to read: google (Google Trends trending searches), wikipedia (most-read Wikipedia articles of the latest day) and hackernews (Hacker News top stories). If one source fails, the others still return.

## `country` (type: `string`):

Country for Google trending searches, as a two-letter code (US, GB, TH) or an English name (Thailand). Only affects the google source.

## `wikipediaLanguage` (type: `string`):

Which Wikipedia's most-read list to return, as a language code: en, de, fr, es, ja, th and so on. Only affects the wikipedia source.

## `maxPerSource` (type: `integer`):

Return at most this many items from each source. Google's feed currently lists 10 trends per country; Wikipedia and Hacker News go up to 50 here.

## Actor input object example

```json
{
  "sources": [
    "google",
    "hackernews"
  ],
  "country": "GB",
  "wikipediaLanguage": "de",
  "maxPerSource": 10
}
```

# Actor output Schema

## `rows` (type: `string`):

One call returns what is trending right now across three official sources

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

Sources requested and read, items per source, and any source that failed with the reason.

# 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 = {
    "sources": [
        "google",
        "wikipedia",
        "hackernews"
    ],
    "country": "US",
    "wikipediaLanguage": "en",
    "maxPerSource": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("appdata-labs/trending-now-aggregator").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 = {
    "sources": [
        "google",
        "wikipedia",
        "hackernews",
    ],
    "country": "US",
    "wikipediaLanguage": "en",
    "maxPerSource": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("appdata-labs/trending-now-aggregator").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 '{
  "sources": [
    "google",
    "wikipedia",
    "hackernews"
  ],
  "country": "US",
  "wikipediaLanguage": "en",
  "maxPerSource": 20
}' |
apify call appdata-labs/trending-now-aggregator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,appdata-labs/trending-now-aggregator"
        }
    }
}
```

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/eElbgMQv9EMdxDOrd/builds/cuIu6rUpweBthes4q/openapi.json
