X (Twitter) Global Trending Scraper avatar

X (Twitter) Global Trending Scraper

Pricing

from $1.00 / 1,000 popular posts

Go to Apify Store
X (Twitter) Global Trending Scraper

X (Twitter) Global Trending Scraper

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.

Pricing

from $1.00 / 1,000 popular posts

Rating

0.0

(0)

Developer

ВAH

ВAH

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

5

Monthly active users

17 days ago

Last modified

Share

X (Twitter) Global Trending Scraper extracts data from X's new Global Trending 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.

  • 🔥 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

FeatureThis ActorTypical trends scrapers
Popular posts (full tweets)✅ Yes❌ No (topic names only)
Ranked trends list✅ Yes✅ Yes
Trending topic chips✅ Yes❌ Rare
Countries69 (worldwide + 68)Varies
Category filter✅ 24 categories❌ Rare
Time window (today/week/month)✅ Yes❌ Rare
Per-post engagement + views✅ Yes❌ No
MethodDirect API, no loginOften browser-based

What data can you extract?

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

Popular posts (resultType: "post")

FieldTypeDescription
country / category / timeWindowstringThe trending context the post came from
ranknumberPosition in the feed (1 = top)
fullTextstringFull post text (long posts included)
tweetUrl / tweetIdstringDirect link and ID
createdAt / lang / sourcestringPost time, language, client
likeCount / viewCount / repostCountnumberEngagement (plus reply, quote, retweet, bookmark counts)
mediaType / imageUrls / videoUrlsstring / arrayMedia type and playable image/video links
hashtags / mentions / externalUrlsarrayEntities in the post
isQuote / quotedTweetUrlbool / stringWhether the post quotes another post, and the quoted post's link
authorHandle / authorName / authorIdstringPost author identity
authorVerified / authorFollowers / authorFollowingbool / numberAuthor status and audience
authorBio / authorLocation / authorWebsitestringAuthor profile details
authorProfileImage / authorBannerImagestringAuthor images
FieldTypeDescription
country / locationName / woeidstring / numberThe location of the trend
ranknumberTrend rank (1 = top)
name / query / searchUrlstringTrend name and X search link
tweetVolumenumberVolume 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.
asOfstringTimestamp reported by X
FieldTypeDescription
countrystringThe location of the topic
ranknumberOrder in the topic list
name / searchUrlstringTopic keyword and X search link
  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.

FieldTypeDefaultDescription
resultTypesarray["posts"]Which data to collect: posts, trends, topicChips
countriesarray["Global"]Global + 68 countries; applies to all data types
categoriesarray["All"]24 categories; applies to posts only
timeWindowstring"Today"Today, This week, or This month (posts only)
languagesarray[]Keep only posts in these languages (empty = all)
maxPostsPerFeedinteger0Max posts per country×category feed. 0 (default) = whole feed (often 1,000+); set a number to cap it. ≤20 returns instantly

Example input:

{
"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:

{
"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:

{
"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:

{
"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 feedmaxPostsPerFeed 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 itschedule the Actor to capture trends hourly/daily, or connect it to your stack via the Apify API, 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.

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.

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.