# X (Twitter) Global Trending Scraper (`delicious_zebu/x-global-trending-scraper`) Actor

Scrape X (Twitter) Global Trending: the most popular posts by country, category and time window, plus the classic ranked trends list and trending topic chips. Rich post data (text, media, likes, views, author). Fast, API-based, no login.

- **URL**: https://apify.com/delicious\_zebu/x-global-trending-scraper.md
- **Developed by:** [ВAH](https://apify.com/delicious_zebu) (community)
- **Categories:** Social media, News, Automation
- **Stats:** 6 total users, 5 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 popular posts

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 X (Twitter) Global Trending Scraper do?

**X (Twitter) Global Trending Scraper** extracts data from X's new [Global Trending](https://x.com/i/jf/global-trending/home) page — the AI-curated hub that surfaces the most popular **posts**, trending **topics**, and ranked **trends** on X right now. It works as an unofficial **X / Twitter trends API alternative**, letting you pull structured trending data for **69 countries (worldwide + 68 individual countries)**, **24 content categories**, and **3 time windows** — no login or API keys required.

Unlike every other "Twitter trends" scraper, which only returns the old plain list of trending topic names, this Actor also captures the **actual popular posts** behind each trend — with full text, engagement metrics, media, and author details.

### Why use X (Twitter) Global Trending Scraper?

- 🔥 **Popular posts feed** — the real trending posts per country/category/time, not just topic names. This is data no other trends scraper provides.
- 🌍 **69 locations** — Global plus 68 countries (US, UK, Japan, Brazil, India, Germany, Saudi Arabia, and more).
- 🗂️ **24 categories** — News, Sports, Music, Technology, Cryptocurrency, Gaming, Movies & TV, Business & Finance, and more.
- ⏱️ **3 time windows** — Popular today, this week, or this month.
- 📊 **Rich per-post data** — likes, reposts, replies, quotes, **views**, bookmarks, media/video URLs, hashtags, and full author profile.
- 🧩 **Three data types in one Actor** — popular posts, the classic ranked trends list, and trending topic chips.
- ⚡ **Fast & API-based** — no browser automation and nothing for you to log in or configure. Just clean structured data.
- 🔁 **Batch runs** — scrape many countries and categories in a single run.

#### Common use cases

- Track what's trending across markets for **social media & marketing** teams.
- Feed **news monitoring**, **brand monitoring**, and **crisis detection** pipelines.
- Discover viral posts and creators for **content research** and **trendspotting**.
- Power **research & analytics** on public discourse by country and topic.

#### How this Actor compares

| Feature | This Actor | Typical trends scrapers |
|---|---|---|
| Popular posts (full tweets) | ✅ Yes | ❌ No (topic names only) |
| Ranked trends list | ✅ Yes | ✅ Yes |
| Trending topic chips | ✅ Yes | ❌ Rare |
| Countries | 69 (worldwide + 68) | Varies |
| Category filter | ✅ 24 categories | ❌ Rare |
| Time window (today/week/month) | ✅ Yes | ❌ Rare |
| Per-post engagement + views | ✅ Yes | ❌ No |
| Method | Direct API, no login | Often browser-based |

### What data can you extract?

The Actor produces three record types, tagged with a `resultType` field.

#### Popular posts (`resultType: "post"`)

| Field | Type | Description |
|---|---|---|
| country / category / timeWindow | string | The trending context the post came from |
| rank | number | Position in the feed (1 = top) |
| fullText | string | Full post text (long posts included) |
| tweetUrl / tweetId | string | Direct link and ID |
| createdAt / lang / source | string | Post time, language, client |
| likeCount / viewCount / repostCount | number | Engagement (plus reply, quote, retweet, bookmark counts) |
| mediaType / imageUrls / videoUrls | string / array | Media type and playable image/video links |
| hashtags / mentions / externalUrls | array | Entities in the post |
| isQuote / quotedTweetUrl | bool / string | Whether the post quotes another post, and the quoted post's link |
| authorHandle / authorName / authorId | string | Post author identity |
| authorVerified / authorFollowers / authorFollowing | bool / number | Author status and audience |
| authorBio / authorLocation / authorWebsite | string | Author profile details |
| authorProfileImage / authorBannerImage | string | Author images |

#### Ranked trends (`resultType: "trend"`)

| Field | Type | Description |
|---|---|---|
| country / locationName / woeid | string / number | The location of the trend |
| rank | number | Trend rank (1 = top) |
| name / query / searchUrl | string | Trend name and X search link |
| tweetVolume | number | Volume of posts for the trend. **Usually `null`** — X removed public trend volumes in early 2026 (this affects every trend tool, not just this one). Use the post metrics instead. |
| asOf | string | Timestamp reported by X |

#### Trending topic chips (`resultType: "topicChip"`)

| Field | Type | Description |
|---|---|---|
| country | string | The location of the topic |
| rank | number | Order in the topic list |
| name / searchUrl | string | Topic keyword and X search link |

### How to scrape X (Twitter) Global Trending

1. **Go to the Actor page** on Apify Store and click **Try for free**.
2. **Choose what to collect** — Popular posts, Ranked trends list, and/or Trending topic chips.
3. **Pick countries** (and categories + time window for posts). Leave defaults for the worldwide feed.
4. **Click Start** — the Actor pulls the trending data.
5. **Download results** — export as JSON, CSV, Excel, XML, or HTML, or via the Apify API.

> Tip: **Max posts per feed** defaults to `0` (the whole feed). Set a small number (≤20) if you just want a quick sample.

### How much does it cost?

Because this Actor talks directly to X's endpoints (no headless browser), it uses very little compute, so runs are cheap and fast. You can start on the **Apify Free plan** ($5 free usage every month) and scale up on any paid plan. As a rule of thumb, a popular-posts feed pages through the trending posts in lightweight requests of ~20 each (cap it with **Max posts per feed** for fewer), and the ranked-trends and topic-chip calls are one request per country.

### Input

Configure the run on the **Input** tab, or via JSON. All fields are optional — the defaults return the worldwide popular-posts feed for today.

| Field | Type | Default | Description |
|---|---|---|---|
| `resultTypes` | array | `["posts"]` | Which data to collect: `posts`, `trends`, `topicChips` |
| `countries` | array | `["Global"]` | Global + 68 countries; applies to all data types |
| `categories` | array | `["All"]` | 24 categories; applies to posts only |
| `timeWindow` | string | `"Today"` | `Today`, `This week`, or `This month` (posts only) |
| `languages` | array | `[]` | Keep only posts in these languages (empty = all) |
| `maxPostsPerFeed` | integer | `0` | Max posts per country×category feed. `0` (default) = whole feed (often 1,000+); set a number to cap it. ≤20 returns instantly |

**Example input:**

```json
{
  "resultTypes": ["posts", "trends", "topicChips"],
  "countries": ["Global", "United States", "Japan"],
  "categories": ["All", "Sports", "Technology"],
  "timeWindow": "This week",
  "languages": [],
  "maxPostsPerFeed": 0
}
````

### Output

Each item is one record. Real examples below.

**Popular post:**

```json
{
  "resultType": "post",
  "country": "United States",
  "category": "All",
  "timeWindow": "Today",
  "rank": 1,
  "tweetId": "2073382535266976165",
  "tweetUrl": "https://x.com/mattvanswol/status/2073382535266976165",
  "fullText": "🚨#BREAKING: A German soccer fan who flew to the USA ... THIS IS THE AMERICA I KNOW!!!!!! 🇺🇸🇺🇸🇺🇸",
  "createdAt": "2026-07-04 12:24:52+00:00",
  "lang": "en",
  "source": "Twitter Web App",
  "replyCount": 2824,
  "repostCount": 23226,
  "retweetCount": 22113,
  "quoteCount": 1113,
  "likeCount": 215321,
  "viewCount": 9175233,
  "bookmarkCount": 18345,
  "mediaType": "video",
  "imageUrls": ["https://pbs.twimg.com/amplify_video_thumb/2073379822957469696/img/wr6qHS3ROWPxLv26.jpg"],
  "videoUrls": ["https://video.twimg.com/amplify_video/2073379822957469696/vid/avc1/1920x1080/FPYsY1IFc1VcTJi2.mp4?tag=28"],
  "hashtags": ["BREAKING"],
  "mentions": [],           // usernames @-mentioned in the post; empty if none
  "externalUrls": [],       // links in the post; empty if none
  "isQuote": false,         // true if this post quotes another
  "quotedTweetUrl": "",     // link to the quoted post (when isQuote is true)
  "authorHandle": "mattvanswol",
  "authorName": "Matt Van Swol",
  "authorId": "1244068896157708289",
  "authorUrl": "https://x.com/mattvanswol",
  "authorVerified": true,
  "authorFollowers": 530151,
  "authorFollowing": 7622,
  "authorTweetsCount": 26840,
  "authorLocation": "Asheville, NC",
  "authorBio": "Former Nuclear Scientist for US Dept of Energy | Ex-Photographer for @apple, @united, and @hyatt",
  "authorWebsite": "https://tools.vote.online/embeds/check-your-registration?partnerId=06f73376",
  "authorProfileImage": "https://pbs.twimg.com/profile_images/1580221131985920001/XNlqL_Yx_normal.jpg",
  "authorBannerImage": "https://pbs.twimg.com/profile_banners/1244068896157708289/1665589063",
  "authorCreatedAt": "Sun Mar 29 01:08:41 +0000 2020"
}
```

**Ranked trend:**

```json
{
  "resultType": "trend",
  "country": "United States",
  "locationName": "United States",
  "woeid": 23424977,
  "rank": 1,
  "name": "Good Sunday",
  "query": "%22Good+Sunday%22",
  "searchUrl": "https://x.com/search?q=%22Good+Sunday%22",
  "tweetVolume": null,      // X removed public trend volumes in early 2026 — usually null
  "asOf": "2026-07-05T10:35:06Z"
}
```

**Trending topic chip:**

```json
{
  "resultType": "topicChip",
  "country": "United States",
  "rank": 1,
  "name": "America",
  "searchUrl": "https://x.com/search?q=America"
}
```

### Tips

- **Popular posts are the differentiator** — the `posts` result type is the unique value here; the classic `trends` list is what other scrapers return.
- **Posts per feed** — `maxPostsPerFeed` defaults to `0` = the whole feed (often 1,000+ posts). Set it to 20 or fewer for an instant quick sample.
- **`tweetVolume` is usually `null`** — X removed public tweet-volume numbers from trends in early 2026. The field is kept for completeness but is empty for most trends across the whole platform.
- **Batch smartly** — every country × category × time combination is one request. Selecting many of each multiplies the run size, so start small and scale up.
- **Automate it** — [schedule](https://docs.apify.com/platform/schedules) the Actor to capture trends hourly/daily, or connect it to your stack via the [Apify API](https://docs.apify.com/api/v2), webhooks, or integrations (Make, Zapier, Slack, Google Sheets).

### FAQ and support

#### Does this Actor need an X (Twitter) account or login?

No — you never provide any credentials. Small runs use public guest access; deep pagination (more than ~20 posts per feed) uses a logged-in session the Actor manages internally, so there's nothing for you to set up.

#### What's the difference between "trends" and "topic chips"?

`trends` is X's classic numbered trending-topics list per location (with search links). `topicChips` are the trending topic keywords shown on the new Global Trending page. Both are topic-level; `posts` gives you the actual popular tweets.

#### Why is `tweetVolume` empty / `null`? Is the Actor broken?

No, it's working correctly. X **removed the public "posts count" from its trends API in early 2026**, so the value is `null` for essentially all trends now — this affects every trends scraper on the market, not just this one. We keep the field so it fills in automatically if X ever restores it. For real popularity signals, use the **posts** result type, which has live `likeCount`, `viewCount`, and `repostCount`.

#### Why do some rows have empty columns?

The dataset mixes three record types. A post row won't have trend fields (like `woeid`) and vice-versa. Filter by `resultType`, or use per-type exports.

#### Can I get more than ~20 posts per feed?

Yes. Up to 20 return instantly; set **Max posts per feed** higher (or `0` for the whole feed, ~150+ posts) and the Actor pages through the full feed for you.

#### Is scraping X Global Trending legal?

This Actor only collects **publicly available** trending data. As with any scraping, you are responsible for how you use the data.

> **Personal data notice:** Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

#### Support

Found a bug or need a new feature (a country, a category, a field)? Open an issue on the Actor's **Issues** tab and we'll help.

# Actor input Schema

## `resultTypes` (type: `array`):

Pick one or more data types. **Popular posts** = the trending posts feed (richest data, unique to this Actor). **Ranked trends list** = the classic numbered trending-topics list. **Trending topic chips** = the topic keywords shown on the Global Trending page.

## `countries` (type: `array`):

Countries to cover. "Global" is the worldwide feed (matches the label on x.com). Applies to posts, trends and chips. Add several to compare markets in one run.

## `categories` (type: `array`):

Which category feeds to scrape for Popular posts. "All" is the default mixed feed. These match the category cards on the Global Trending page. Ignored for trends and chips.

## `timeWindow` (type: `string`):

Time range for Popular posts, matching the page's "Popular today / this week / this month" dropdown.

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

Keep only posts written in these languages. Leave empty to keep every language.

## `maxPostsPerFeed` (type: `integer`):

Maximum posts per country x category feed. 0 (default) fetches the whole feed (can be 1,000+ posts). Set a smaller number to cap it; 20 or fewer returns instantly.

## Actor input object example

```json
{
  "resultTypes": [
    "posts",
    "trends",
    "topicChips"
  ],
  "countries": [
    "Global"
  ],
  "categories": [
    "All"
  ],
  "timeWindow": "Today",
  "languages": [],
  "maxPostsPerFeed": 0
}
```

# Actor output Schema

## `overview` (type: `string`):

Table view using the 'overview' view from dataset\_schema.json.

## `rawResults` (type: `string`):

All items from the default dataset without a specific view.

# 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 = {
    "resultTypes": [
        "posts",
        "trends",
        "topicChips"
    ],
    "countries": [
        "Global"
    ],
    "categories": [
        "All"
    ],
    "timeWindow": "Today",
    "languages": [],
    "maxPostsPerFeed": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("delicious_zebu/x-global-trending-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 = {
    "resultTypes": [
        "posts",
        "trends",
        "topicChips",
    ],
    "countries": ["Global"],
    "categories": ["All"],
    "timeWindow": "Today",
    "languages": [],
    "maxPostsPerFeed": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("delicious_zebu/x-global-trending-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "resultTypes": [
    "posts",
    "trends",
    "topicChips"
  ],
  "countries": [
    "Global"
  ],
  "categories": [
    "All"
  ],
  "timeWindow": "Today",
  "languages": [],
  "maxPostsPerFeed": 0
}' |
apify call delicious_zebu/x-global-trending-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=delicious_zebu/x-global-trending-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "X (Twitter) Global Trending Scraper",
        "description": "Scrape X (Twitter) Global Trending: the most popular posts by country, category and time window, plus the classic ranked trends list and trending topic chips. Rich post data (text, media, likes, views, author). Fast, API-based, no login.",
        "version": "1.2",
        "x-build-id": "ieisOnryRo80aKKhg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/delicious_zebu~x-global-trending-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-delicious_zebu-x-global-trending-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/delicious_zebu~x-global-trending-scraper/runs": {
            "post": {
                "operationId": "runs-sync-delicious_zebu-x-global-trending-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/delicious_zebu~x-global-trending-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-delicious_zebu-x-global-trending-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "resultTypes": {
                        "title": "What to collect",
                        "type": "array",
                        "description": "Pick one or more data types. **Popular posts** = the trending posts feed (richest data, unique to this Actor). **Ranked trends list** = the classic numbered trending-topics list. **Trending topic chips** = the topic keywords shown on the Global Trending page.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "posts",
                                "trends",
                                "topicChips"
                            ],
                            "enumTitles": [
                                "Popular posts",
                                "Ranked trends list",
                                "Trending topic chips"
                            ]
                        },
                        "default": [
                            "posts"
                        ]
                    },
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "Countries to cover. \"Global\" is the worldwide feed (matches the label on x.com). Applies to posts, trends and chips. Add several to compare markets in one run.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Global",
                                "United States",
                                "Algeria",
                                "Argentina",
                                "Australia",
                                "Austria",
                                "Bangladesh",
                                "Belgium",
                                "Brazil",
                                "Canada",
                                "Chile",
                                "Colombia",
                                "Czech Republic",
                                "Denmark",
                                "Ecuador",
                                "Egypt",
                                "Ethiopia",
                                "Finland",
                                "France",
                                "Germany",
                                "Ghana",
                                "Greece",
                                "Hungary",
                                "India",
                                "Indonesia",
                                "Iran",
                                "Iraq",
                                "Ireland",
                                "Israel",
                                "Italy",
                                "Jamaica",
                                "Japan",
                                "Jordan",
                                "Kenya",
                                "Kuwait",
                                "Lebanon",
                                "Malaysia",
                                "Mexico",
                                "Morocco",
                                "Netherlands",
                                "New Zealand",
                                "Nigeria",
                                "Norway",
                                "Oman",
                                "Pakistan",
                                "Peru",
                                "Philippines",
                                "Poland",
                                "Portugal",
                                "Quatar",
                                "Romania",
                                "Russia",
                                "Saudi Arabia",
                                "Singapore",
                                "South Africa",
                                "South Korea",
                                "Spain",
                                "Sri Lanka",
                                "Sweden",
                                "Switzerland",
                                "Tanzania",
                                "Thailand",
                                "Tunisia",
                                "Turkey",
                                "Ukraine",
                                "United Arab Emirates",
                                "United Kingdom",
                                "Vietnam",
                                "Venezuela"
                            ]
                        },
                        "default": [
                            "Global"
                        ]
                    },
                    "categories": {
                        "title": "Post categories (posts only)",
                        "type": "array",
                        "description": "Which category feeds to scrape for Popular posts. \"All\" is the default mixed feed. These match the category cards on the Global Trending page. Ignored for trends and chips.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "All",
                                "News",
                                "Sports",
                                "Music",
                                "Dance",
                                "Celebrity",
                                "Relationships",
                                "Movies & TV",
                                "Technology",
                                "Business & Finance",
                                "Cryptocurrency",
                                "Gaming",
                                "Cars",
                                "Nature & Outdoors",
                                "Home & Garden",
                                "Travel",
                                "Health & Fitness",
                                "Pets",
                                "Food",
                                "Memes",
                                "Beauty",
                                "Fashion",
                                "Anime",
                                "Science",
                                "Religion"
                            ]
                        },
                        "default": [
                            "All"
                        ]
                    },
                    "timeWindow": {
                        "title": "Time window (posts only)",
                        "enum": [
                            "Today",
                            "This week",
                            "This month"
                        ],
                        "type": "string",
                        "description": "Time range for Popular posts, matching the page's \"Popular today / this week / this month\" dropdown.",
                        "default": "Today"
                    },
                    "languages": {
                        "title": "Language filter (optional, posts only)",
                        "type": "array",
                        "description": "Keep only posts written in these languages. Leave empty to keep every language.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "en",
                                "ar",
                                "bn",
                                "bg",
                                "ca",
                                "hr",
                                "cs",
                                "da",
                                "nl",
                                "fi",
                                "fr",
                                "de",
                                "el",
                                "gu",
                                "he",
                                "hi",
                                "hu",
                                "id",
                                "it",
                                "ja",
                                "kn",
                                "ko",
                                "mr",
                                "no",
                                "fa",
                                "pl",
                                "pt",
                                "ro",
                                "ru",
                                "sr",
                                "zh-cn",
                                "sk",
                                "es",
                                "sv",
                                "ta",
                                "th",
                                "zh-tw",
                                "tr",
                                "uk",
                                "ur",
                                "vi"
                            ],
                            "enumTitles": [
                                "English",
                                "Arabic",
                                "Bengali",
                                "Bulgarian",
                                "Catalan",
                                "Croatian",
                                "Czech",
                                "Danish",
                                "Dutch",
                                "Finnish",
                                "French",
                                "German",
                                "Greek",
                                "Gujarati",
                                "Hebrew",
                                "Hindi",
                                "Hungarian",
                                "Indonesian",
                                "Italian",
                                "Japanese",
                                "Kannada",
                                "Korean",
                                "Marathi",
                                "Norwegian",
                                "Persian",
                                "Polish",
                                "Portuguese",
                                "Romanian",
                                "Russian",
                                "Serbian",
                                "Chinese (Simplified)",
                                "Slovak",
                                "Spanish",
                                "Swedish",
                                "Tamil",
                                "Thai",
                                "Chinese (Traditional)",
                                "Turkish",
                                "Ukrainian",
                                "Urdu",
                                "Vietnamese"
                            ]
                        },
                        "default": []
                    },
                    "maxPostsPerFeed": {
                        "title": "Max posts per feed",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum posts per country x category feed. 0 (default) fetches the whole feed (can be 1,000+ posts). Set a smaller number to cap it; 20 or fewer returns instantly.",
                        "default": 0
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
