Social Trends · 5 Platforms
Pricing
from $1.00 / 1,000 social trends
Social Trends · 5 Platforms
Never charged when a platform goes quiet. Trending right now on X, TikTok, Pinterest, YouTube Charts and Google — five platforms in one run. One row shape with rank, metric and link, and every row says whether it was charged.
Pricing
from $1.00 / 1,000 social trends
Rating
0.0
(0)
Developer
Steadyfetch Team
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
26 minutes ago
Last modified
Categories
Share
Never charged when a platform goes quiet. What is trending right now on X, TikTok, Pinterest, YouTube Charts and Google — five platforms in one run, normalised to one row shape with rank, metric and link.
Unofficial. This actor is not affiliated with, endorsed by, or sponsored by X, TikTok, Pinterest, YouTube or Google. All product names and trademarks belong to their owners and are used here only to describe which public surfaces this tool reads.
Issues answered in about 3 hours.
Every row carries charged and missReason, so you can reconcile the invoice from the
dataset itself without opening the console. Only rows with charged: true were billed.
Output
One row shape for all five platforms, so they stack into a single table:
charged | platform | chart | rank | title | kind | metricName | metricValue | url |
|---|---|---|---|---|---|---|---|---|
| true | x | trends | 1 | #MANIFEST | hashtag | tweetVolume | null | http://twitter.com/search?q=%23MANIFEST |
| true | tiktok | top_hashtags_7d | 1 | #dollyparton | hashtag | viewCount | 852900000 | https://www.tiktok.com/tag/dollyparton |
| true | pinterest | top_trends | 2 | sterling point | search | searchCount | 100 | https://www.pinterest.com/search/pins/?q=sterling%20point |
| true | youtube | TRENDING_CHART | 1 | KATSEYE (캣츠아이) 'Hootie Frutti' Official MV | video | null | null | https://www.youtube.com/watch?v=is8UDe2PhKQ |
| true | google | daily_search_trends | 1 | palmeiras vs santos | search | approxTraffic | 2000 | https://trends.google.com/trends/explore?q=palmeiras%20vs%20santos&geo=US |
(Real rows from US runs. metricValue is null where the platform does not publish a
number for that chart — see "What each platform actually gives you".)
Browse the full sample dataset → — one real US run across X, Pinterest, YouTube Charts and Google (46 trends), ending with the run's own summary row. Nothing is trimmed for the demo.
Every row also carries country, place, metricText (the value exactly as published),
capturedAt (upstream's own timestamp for the data), fetchedAt, status, retryable,
statusReason, schemaVersion, and a details object holding that platform's native
fields. The last row of every run is a summary row with delivered, stoppedBy,
resumeCursor and chargedEvents.
Agent / API paste-block
Actor: steadyfetch/social-trends-scraperRequired: platforms (array: x | pinterest | youtube | google | tiktok — leaveempty for uncharged sample rows)Optional: country (string, default "US" — two-letter code; WORLDWIDE on X only)limitPerPlatform (integer, default 50, max 250)maxItems (integer, default 500 — hard cap for the whole run)maxRunSeconds (integer, default 300 — clean stop, never a timeout kill)Charges: social-trend once per delivered trend rowNote: omit a field to take its default; do NOT send null (the platform refuses anull before the run starts)Build spec: https://apify.com/steadyfetch/social-trends-scraper/apiToken: https://console.apify.com/settings/integrations
curl -X POST "https://api.apify.com/v2/acts/steadyfetch~social-trends-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"platforms":["x","pinterest","youtube","google","tiktok"],"country":"US","limitPerPlatform":25}'
What each platform actually gives you
| Platform | What the rows are | Rank order | Metric |
|---|---|---|---|
| X (Twitter) | the 50 trends X lists for that place, hashtags and plain searches | X's own order | tweetVolume — X publishes no post count on this endpoint, so it is normally null. A 0 would claim nobody posted; null says "not published" |
| TikTok | the top trending hashtags TikTok shows publicly — the top 3 for each of its 7-, 30- and 90-day windows (top_hashtags_7d/30d/90d), about 9 rows per run | TikTok's own rank, restarting per window | viewCount (TikTok's own shorthand kept verbatim in metricText); post count and category in details |
top search terms, with Pinterest's week-, month- and year-on-year change series in details | Pinterest's own ranking | searchCount | |
| YouTube Charts | trending MUSIC videos and artists — TRENDING_CHART (30 videos), then TOP_VIEWS_CHART (100 videos, 100 artists) | chart position, restarting per chart | viewCount on the top-views charts; the trending chart publishes none |
| the daily search trends feed, with the news stories Google attaches to each one | Google's own order | approxTraffic — a published floor ("500+"), kept verbatim in metricText |
TikTok here means exactly what TikTok shows without a login. TikTok's trend pages display the top ~3 hashtags per time window publicly and keep the rest of the list behind a login. This actor reads all three windows — 7, 30 and 90 days — and delivers those top rows honestly labelled, instead of pretending the full list is available. If you need deeper TikTok hashtag lists, this is not the actor for it.
YouTube here means YouTube Charts, and Charts is music. YouTube retired its general Trending feed as a product — the old endpoint answers with an empty "try searching" page on every client. This actor does not pretend otherwise: it returns the charts that still publish, and labels every row with which chart it came from. If you need general video, this is not the actor for it.
Pinterest data lags about six days. The actor asks Pinterest which date it actually has before requesting a window, so you get the freshest data that exists rather than an empty "today".
Links: X's link is X's own, passed through unchanged. YouTube links are built from the video or channel id in the response. Pinterest and Google publish no per-trend link, so those are search links built from the term.
Countries
country takes a two-letter code, and every platform is asked for the same one so the rows
line up.
WORLDWIDE works on X only — X is the one platform that publishes a real worldwide
trend list. TikTok, Pinterest, YouTube Charts and Google publish per country and have no
worldwide feed, so on those four WORLDWIDE comes back as an uncharged row naming the
fix. This actor never substitutes another country's data instead.
X serves trends by WOEID and carries a fixed list —
WORLDWIDE, AE, AR, AT, AU, BE, BH, BR, BY, CA, CH, CL, CO, DE, DK, DZ, EC, EG, ES, FR, GB,
GH, GR, ID, IE, IL, IN, IT, JO, JP, KE, KR, KW, LB, MX, MY, NG, NL, NO, NZ, OM, PE, PH, PK,
PL, PT, QA, RU, SA, SE, SG, TH, TR, UA, US, VE, VN, ZA. Every one of those was probed live
against the endpoint. A country outside the list comes back as an uncharged row naming
the fix, not as an empty result.
TikTok's trend pages carry their own fixed list — AE, AR, AU, BR, CA, CO, DE, EG, ES, FR, GB, ID, IL, IT, JP, KR, MX, MY, PH, SA, SG, TH, TR, TW, US, VN, ZA — taken from the page's own country selector. Same rule: a country outside it is an uncharged row naming the fix, before anything is fetched.
What you are never charged for
| situation | status | run status |
|---|---|---|
| A platform rate-limited, blocked or dropped us | platform_unavailable | SUCCEEDED — re-runnable, and the row says so |
| A platform answered normally and published nothing | empty_upstream | SUCCEEDED |
A platform does not carry the country you asked for (X's WOEID list; TikTok's country list; WORLDWIDE outside X) | unsupported_country | SUCCEEDED — the row names the fix |
| A platform name or country we could not read | input_error | SUCCEEDED — the row names the fix |
Your own maxItems / maxRunSeconds / cost cap | stopped_at_limit | SUCCEEDED — summary row + resumeCursor |
A refusal is reported as a refusal, never dressed up as "this platform has no trends". Two of these platforms can answer HTTP 200 with an error inside the body or with nothing in it at all — charging is gated on rows that actually parsed, never on the status line.
This actor may fail when the platform changes things — failed items are never charged.
Limits are hard limits
limitPerPlatform, maxItems and maxRunSeconds stop the run exactly where you set them.
The run still finishes successfully, the summary row names which limit bound, and
resumeCursor lists the platforms that were not reached.
FAQ
Does {} cost anything?
No. With no platforms selected it returns five uncharged sample rows — one per platform — so
you can see the exact output shape before spending anything. That run contacts nothing.
Why is metricValue empty on some rows?
Because that platform does not publish a number for that chart. Inventing one would be worse
than leaving it out; metricName is null too, so the empty is unambiguous.
Why does TikTok return about 9 rows when the others return dozens? Because that is everything TikTok shows without a login: the top ~3 hashtags for each of its 7-, 30- and 90-day windows. The rest of the list sits behind a TikTok login. This actor delivers exactly what the public page shows — around 9 honestly-labelled rows — rather than selling a "full list" it cannot fetch.
Can I run one platform on a schedule?
Yes — pass a single value in platforms. Each platform is fetched independently, and one
platform being down never blocks the others.
How do I join the five platforms?
They already share a schema. Group by platform + chart, sort by rank, and use title
as the term. capturedAt tells you how fresh each platform's data actually is.
Steadyfetch trends & keyword suite
One actor per surface, one job each, the same contract everywhere: all-inclusive pay per event, no start fee, charged only on delivery — so a workflow built for one of them ports to the next.
| What you want | Actor |
|---|---|
| Interest over time, related queries, regions, compare | Google Trends · No Charge on Miss |
| What is trending right now, by country | Google Trends Now · No Start Fee |
| Rising and Breakout queries, with the real growth number | Breakout Keywords from Trends |
| Autocomplete suggestions across 5 engines | Autocomplete Keywords · 5 Engines |
| Monthly search volume and CPC for a keyword list | Keyword Volume & CPC · No Minimum |
| What is trending on social platforms | this actor |
The rest of the steadyfetch shelf — same contract everywhere: all-inclusive pay per event, no start fee, charged only on delivery.
| Family | Actors |
|---|---|
| Ad creative intelligence | Facebook · Google Ads video · TikTok · LinkedIn · Google Ads text & OCR |
| Trends & keywords | Google Trends · Trends Now · Breakout keywords · Autocomplete keywords · Keyword volume & CPC · Social trends |
| YouTube transcripts | YouTube videos · YouTube channels |
| Reel transcripts · Profile posts | |
| Jobs | Indeed · Career sites by domain · Glassdoor · Multi-board · Google Jobs |
| Amazon | Products · Search · Bestsellers · Sellers |
| Any media file | Speech to Text · any link or file |
Unlinked names are publishing shortly on the same account — search steadyfetch on Apify Store.
Free templates
github.com/steadyfetch/n8n-templates — import-validated n8n workflows.