# Twitter/X Trends Scraper (`automation-lab/twitter-trends-scraper`) Actor

Extract real-time trending topics from Twitter/X for any country, city, or worldwide. Get top 50 trends per location, hashtag detection, tweet volumes. No login required. 467 locations.

- **URL**: https://apify.com/automation-lab/twitter-trends-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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/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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## Twitter/X Trends Scraper

Extract real-time trending topics from Twitter/X for **any country, city, or worldwide** — no login required. Get top 50 trends per location with tweet volumes, hashtag detection, and bulk multi-location support in a single run.

The [Twitter/X Trends Scraper](https://apify.com/automation-lab/twitter-trends-scraper) uses the official Twitter v1.1 trends API via guest token authentication. It supports **467 locations** (62 countries + 400+ cities) and works without any Twitter account or API key.

### What does Twitter/X Trends Scraper do?

Twitter/X Trends Scraper fetches the current top 50 trending topics for any location on Twitter/X. Each trend includes the trend name (hashtag or keyword phrase), tweet volume where available, a direct Twitter search URL, and metadata about the location.

- Scrape trends for **multiple locations in one run** (US + UK + Worldwide + Tokyo in a single job)
- Supports **country codes** (US, UK, DE, JP, BR), **"worldwide"**, and numeric **WOEID** city codes
- Returns rank, tweet volume, hashtag flag, location metadata, and timestamp
- Use the built-in **location discovery mode** to see all 467 available locations with their WOEID codes
- Pure HTTP actor — fast and cost-efficient, no browser overhead

### Who is Twitter/X Trends Scraper for?

**Social media managers and content teams** — track what's trending in your target markets before publishing content. Know which hashtags are hot right now so your posts get seen. Monitor competitor hashtag performance across regions.

**Brand monitoring and PR teams** — detect trending topics relevant to your industry or brand. Set up scheduled runs every hour to get early alerts when brand-related terms start trending. Export to Google Sheets for team visibility.

**Market researchers and analysts** — compare trending topics across countries to understand regional cultural differences. Track trending topics over time for longitudinal research. Build datasets for academic or commercial trend analysis.

**Developers and data engineers** — integrate Twitter trend data into dashboards, Slack bots, or monitoring pipelines via the Apify API. Schedule runs hourly or daily and export results to databases, Google Sheets, or any webhook endpoint.

**Journalists and news teams** — quickly see what topics are going viral in specific countries before writing breaking news stories. Cross-reference with other sources to verify trend significance.

### Why use Twitter/X Trends Scraper?

- ✅ **No login required** — works with Twitter's public API via guest token
- ✅ **467 locations** — scrape trends for 62 countries, 400+ cities, or worldwide
- ✅ **Bulk multi-location** — fetch all locations in one run, not one by one
- ✅ **Location discovery mode** — built-in tool to find any city's WOEID code
- ✅ **Pay-per-trend pricing** — no wasted spend; pay only for what you scrape
- ✅ **Scheduled runs** — set up hourly or daily monitoring via Apify cron
- ✅ **API + integrations** — export to CSV, JSON, Google Sheets, webhooks

### What data can you extract?

| Field | Description |
|-------|-------------|
| 📊 `rank` | Position in the trending list (1-50) |
| 🏷️ `name` | Trend name: hashtag (#AI) or keyword phrase |
| 🔢 `tweetVolume` | Approximate 24-hour tweet count (null if unavailable) |
| ✅ `tweetVolumeAvailable` | Whether tweet volume data exists for this trend |
| #️⃣ `isHashtag` | True if trend starts with ## |
| 📢 `isPromoted` | True if trend is paid/promoted content |
| 🔗 `twitterSearchUrl` | Direct Twitter search URL for this trend |
| 🔍 `query` | URL-decoded search query string |
| 📍 `locationName` | Location name (e.g., "United States") |
| 🌍 `locationWoeid` | Yahoo WOEID numeric ID |
| 🏳️ `countryCode` | ISO 2-letter code (e.g., "US", "DE") |
| 🌐 `countryName` | Full country name |
| 🗂️ `locationType` | "Country", "Town", or "Supername" (worldwide) |
| ⏰ `asOf` | When Twitter last updated these trends |
| 🕐 `scrapedAt` | When this item was scraped by the actor |

Each location returns up to 50 trends. Running for 3 locations (Worldwide + US + UK) gives up to 150 trend items.

### How much does it cost to scrape Twitter trends?

This Actor uses **pay-per-event** pricing — you pay only for the trends you scrape. No monthly subscription required. All platform compute costs are included.

| | Free | Starter ($29/mo) | Scale ($199/mo) | Business ($999/mo) |
|---|---|---|---|---|
| **Per trend** | $0.00023 | $0.0002 | $0.000156 | $0.00012 |
| **50 trends (1 location)** | $0.012 | $0.010 | $0.0078 | $0.006 |
| **500 trends (10 locations)** | $0.115 | $0.10 | $0.078 | $0.060 |

Plus a one-time run start fee of $0.003.

**Real-world cost examples:**

| Task | Locations | Trends | Duration | Cost (Free tier) |
|------|-----------|--------|----------|-----------------|
| Worldwide + US trends | 2 | 100 | ~15s | ~$0.026 |
| Top 10 countries | 10 | 500 | ~60s | ~$0.118 |
| All 62 countries | 62 | 3,100 | ~5min | ~$0.716 |

**Free plan:** Apify gives $5 in free credits — enough to scrape **~20,000 trends**.

### How to scrape Twitter/X trending topics

1. Go to [Twitter/X Trends Scraper](https://apify.com/automation-lab/twitter-trends-scraper) on Apify Store
2. Enter the locations you want to monitor: `worldwide`, `US`, `UK`, `DE`, `JP` — or any country code
3. Set `maxTrendsPerLocation` (default 50 — Twitter's maximum)
4. Click **Save & Run**
5. Download results as JSON, CSV, or Excel from the **Dataset** tab

**To find city WOEID codes:** Enable the `getAvailableLocations` option — the actor will output all 467 available locations with their WOEID codes. Then use the numeric WOEID (e.g., `2459115` for New York, `44418` for London).

**Example inputs:**

```json
{
    "locations": ["worldwide", "US", "UK", "JP", "BR"],
    "maxTrendsPerLocation": 50
}
````

```json
{
    "locations": ["2459115", "44418", "2643743"],
    "maxTrendsPerLocation": 20
}
```

```json
{
    "getAvailableLocations": true
}
```

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `locations` | array | `["worldwide"]` | Location codes to scrape: country codes (US, UK, DE), "worldwide", or WOEID numbers |
| `maxTrendsPerLocation` | integer | 50 | Max trends per location (1-50, Twitter provides at most 50) |
| `getAvailableLocations` | boolean | false | Output all 467 available locations with WOEID codes instead of trends |

**Supported location formats:**

- `"worldwide"` or `"WW"` — global trending topics (WOEID 1)
- Country codes: `"US"`, `"UK"` or `"GB"`, `"DE"`, `"FR"`, `"JP"`, `"BR"`, `"IN"`, `"MX"`, and 50+ others
- WOEID numbers: any numeric string like `"2459115"` (New York), `"44418"` (London)

### Output examples

```json
{
    "rank": 1,
    "name": "#WorldCup",
    "twitterSearchUrl": "http://twitter.com/search?q=%23WorldCup",
    "query": "#WorldCup",
    "tweetVolume": 842300,
    "tweetVolumeAvailable": true,
    "isHashtag": true,
    "isPromoted": false,
    "locationName": "United States",
    "locationWoeid": 23424977,
    "countryName": "United States",
    "countryCode": "US",
    "locationType": "Country",
    "asOf": "2026-04-01T14:30:00Z",
    "scrapedAt": "2026-04-01T14:35:22.123Z"
}
```

```json
{
    "rank": 3,
    "name": "April Fools",
    "twitterSearchUrl": "http://twitter.com/search?q=%22April+Fools%22",
    "query": "April Fools",
    "tweetVolume": null,
    "tweetVolumeAvailable": false,
    "isHashtag": false,
    "isPromoted": false,
    "locationName": "Worldwide",
    "locationWoeid": 1,
    "countryName": "",
    "countryCode": null,
    "locationType": "Supername",
    "asOf": "2026-04-01T14:00:00Z",
    "scrapedAt": "2026-04-01T14:35:25.456Z"
}
```

### Tips for best results

- 🔁 **Schedule runs hourly** to track trend velocity — see the Apify Scheduler in your actor settings
- 📊 **Start small** — run with 1-2 locations first to verify the output before scraping all 62 countries
- 🌍 **Use country codes** for simplicity; switch to WOEID numbers when you need city-level granularity
- 📂 **Export to Google Sheets** for easy team sharing and charting — see Integrations below
- ⚠️ **Note on tweet volume** — Twitter doesn't provide volume for all trends. `tweetVolumeAvailable: false` means volume data is unavailable from Twitter, not that the trend has low volume
- 🔍 **Use getAvailableLocations** first to discover the exact city codes before setting up a production run

### Integrations

**Twitter Trends → Google Sheets (daily briefing)**
Connect via Make or Zapier: trigger the actor daily, push new dataset items to a Google Sheet. Your team sees yesterday's top trends every morning.

**Twitter Trends → Slack alert**
Schedule hourly runs, then use Apify webhooks to POST new trend data to a Slack channel. Get notified the moment a relevant keyword starts trending.

**Twitter Trends → Database (BigQuery, Snowflake)**
Use the Apify API to pull dataset items after each run and insert into your data warehouse. Build historical trend timelines for longitudinal research.

**Twitter Trends → Zapier automation**
Trigger Zapier workflows whenever specific keywords appear in trends. Automatically add trending hashtags to your social media scheduling queue.

**Monitoring pipeline**
Run for 10+ countries every hour → export JSON → load into Elasticsearch → visualize with Kibana dashboards. See which topics are trending globally vs locally.

### Using the Apify API

**Node.js:**

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('automation-lab/twitter-trends-scraper').call({
    locations: ['worldwide', 'US', 'UK'],
    maxTrendsPerLocation: 50,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} trends`);
```

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("automation-lab/twitter-trends-scraper").call(
    run_input={
        "locations": ["worldwide", "US", "UK"],
        "maxTrendsPerLocation": 50,
    }
)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["name"], "|", item["locationName"], "| rank:", item["rank"])
```

**cURL:**

```bash
curl -X POST "https://api.apify.com/v2/acts/automation-lab~twitter-trends-scraper/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": ["worldwide", "US", "UK"],
    "maxTrendsPerLocation": 50
  }'
```

### Use with AI agents via MCP

Twitter/X Trends Scraper is available as a tool for AI assistants that support the [Model Context Protocol (MCP)](https://docs.apify.com/platform/integrations/mcp).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

#### Setup for Claude Code

```bash
claude mcp add --transport http apify "https://mcp.apify.com"
```

#### Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

```json
{
    "mcpServers": {
        "apify": {
            "url": "https://mcp.apify.com"
        }
    }
}
```

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

#### Example prompts

Once connected, try asking your AI assistant:

- "Use automation-lab/twitter-trends-scraper to get the top trends in the US, UK, and Japan right now and show me which are hashtags vs keyword phrases"
- "Scrape Twitter trends for all major European countries and tell me which topics are trending in multiple regions simultaneously"
- "Get worldwide Twitter trends and search for related recent tweets for the top 3 trending topics"

Learn more in the [Apify MCP documentation](https://docs.apify.com/platform/integrations/mcp).

### Is it legal to scrape Twitter trends?

Yes — trend data extracted by this actor is publicly available. Twitter displays trending topics to all users without requiring a login, and the v1.1 trends API endpoints accessed here are publicly accessible. The actor uses a guest token in the same way a standard browser does when visiting twitter.com.

This actor only accesses publicly visible trend information — not private user data, direct messages, or account-protected content. Usage remains subject to Twitter's Terms of Service. We recommend using the data responsibly and for ethical purposes only.

For questions about GDPR compliance or commercial use, consult your legal advisor.

### FAQ

**How often does Twitter update trending topics?**
Twitter updates trending topics approximately every 5-10 minutes. Running the actor hourly provides good coverage for monitoring use cases. If you need near-real-time data, Apify Scheduler supports runs as frequent as every few minutes.

**Why is `tweetVolume` null for some trends?**
Twitter does not provide tweet volume data for all trending topics — this is a limitation of the Twitter API, not the actor. Topics with `tweetVolumeAvailable: false` are genuinely trending but Twitter chose not to expose their volume. This is common for local/niche trends.

**What does WOEID mean?**
WOEID stands for "Where on Earth ID" — a numeric identifier from Yahoo's GeoPlanet system that Twitter uses to identify geographic locations. Run the actor with `getAvailableLocations: true` to see all 467 available locations and their WOEID codes.

**How many locations does Twitter support?**
Twitter provides trend data for 467 locations: 1 worldwide, 62 countries, and 404 cities. Not all cities are available — it depends on Twitter's data availability for that region.

**Why are all 50 trend results showing but some countries return fewer?**
Twitter guarantees up to 50 trends per location but may return fewer for locations with limited trend data. The actor returns whatever Twitter provides.

**The actor returned 0 trends — what happened?**
This typically means the Twitter API returned an error. Try again after a few minutes. If the issue persists, check if the location code is valid using `getAvailableLocations: true`. Rate limiting is rarely an issue for trend scraping since it uses the v1.1 guest token endpoint.

**Can I get historical trend data?**
No — Twitter's trends API only returns current trends (last refresh cycle). To build historical data, schedule recurring runs and store each run's output in a database.

### Other social media scrapers

- 🐦 [Twitter/X Scraper](https://apify.com/automation-lab/twitter-scraper) — scrape tweets, profiles, user timelines, followers, and search results
- 🎵 [TikTok Scraper](https://apify.com/automation-lab/tiktok-scraper) — extract TikTok videos, profiles, comments, and hashtag feeds
- 📸 [Instagram Scraper](https://apify.com/automation-lab/instagram-scraper) — scrape Instagram posts, profiles, and hashtag content
- 💼 [LinkedIn Jobs Scraper](https://apify.com/automation-lab/linkedin-jobs-scraper) — extract job listings from LinkedIn with full details
- 🤖 [Reddit Scraper](https://apify.com/automation-lab/reddit-scraper) — scrape Reddit posts, comments, and subreddit data
- 📊 [Google Trends Scraper](https://apify.com/automation-lab/google-trends-scraper) — extract Google Trends data for keyword interest over time
- 📰 [Google News Scraper](https://apify.com/automation-lab/google-news-scraper) — scrape Google News headlines and articles by topic

# Actor input Schema

## `locations` (type: `array`):

Enter location codes to get trends for. Use: <code>worldwide</code> for global trends, country codes like <code>US</code>, <code>UK</code>, <code>DE</code>, <code>JP</code>, <code>BR</code> — or WOEID numbers for cities (e.g., <code>2459115</code> for New York). Run <code>getAvailableLocations</code> mode to see all 467 available locations.

## `maxTrendsPerLocation` (type: `integer`):

Maximum number of trending topics to return per location. Twitter provides up to 50 trends per location.

## `getAvailableLocations` (type: `boolean`):

When enabled, outputs the full list of 467 available locations with their WOEID codes instead of trend data. Use this to discover city and country codes.

## Actor input object example

```json
{
  "locations": [
    "worldwide",
    "US",
    "UK"
  ],
  "maxTrendsPerLocation": 50,
  "getAvailableLocations": false
}
```

# Actor output Schema

## `overview` (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 = {
    "locations": [
        "worldwide",
        "US",
        "UK"
    ],
    "maxTrendsPerLocation": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/twitter-trends-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 = {
    "locations": [
        "worldwide",
        "US",
        "UK",
    ],
    "maxTrendsPerLocation": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/twitter-trends-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 '{
  "locations": [
    "worldwide",
    "US",
    "UK"
  ],
  "maxTrendsPerLocation": 50
}' |
apify call automation-lab/twitter-trends-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/twitter-trends-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Twitter/X Trends Scraper",
        "description": "Extract real-time trending topics from Twitter/X for any country, city, or worldwide. Get top 50 trends per location, hashtag detection, tweet volumes. No login required. 467 locations.",
        "version": "0.1",
        "x-build-id": "VTMR2BXR1vGxBP9EE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~twitter-trends-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-twitter-trends-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/automation-lab~twitter-trends-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-twitter-trends-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/automation-lab~twitter-trends-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-twitter-trends-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",
                "required": [
                    "locations"
                ],
                "properties": {
                    "locations": {
                        "title": "Locations to scrape",
                        "type": "array",
                        "description": "Enter location codes to get trends for. Use: <code>worldwide</code> for global trends, country codes like <code>US</code>, <code>UK</code>, <code>DE</code>, <code>JP</code>, <code>BR</code> — or WOEID numbers for cities (e.g., <code>2459115</code> for New York). Run <code>getAvailableLocations</code> mode to see all 467 available locations.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxTrendsPerLocation": {
                        "title": "Max trends per location",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of trending topics to return per location. Twitter provides up to 50 trends per location.",
                        "default": 50
                    },
                    "getAvailableLocations": {
                        "title": "Get all available locations",
                        "type": "boolean",
                        "description": "When enabled, outputs the full list of 467 available locations with their WOEID codes instead of trend data. Use this to discover city and country codes.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
