YouTube Most Popular Shorts (Top by Country & Category) avatar

YouTube Most Popular Shorts (Top by Country & Category)

Pricing

from $2.40 / 1,000 shorts results

Go to Apify Store
YouTube Most Popular Shorts (Top by Country & Category)

YouTube Most Popular Shorts (Top by Country & Category)

Find the most popular YouTube Shorts by country and category (API-only). Select regions, choose All or specific categories, set a time window, paginate, and export clean JSON with rank, stats, and video/channel metadata. Shorts are detected via duration + signals.

Pricing

from $2.40 / 1,000 shorts results

Rating

0.0

(0)

Developer

Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Discover the top most-popular YouTube Shorts by country and category using the YouTube Data API v3. API-only — no browser automation, fast, reliable, and cost-effective.

YouTube Most Popular Shorts

Features

  • Two-step pipeline: search for short-form candidates + enrich with full metadata
  • Discover Shorts for 50 countries via dropdown selector
  • Filter by 32 YouTube categories (Music, Gaming, News, etc.) or select [All categories]
  • Configurable time window (1–30 days) for freshness control
  • Shorts heuristic classification (duration + optional text signals like #shorts)
  • Multi-region and multi-category batching in a single run
  • Human-readable category names (videoCategoryTitle) alongside category IDs
  • Pagination support (up to 10 pages per combo)
  • Deduplication across region-category combinations
  • Rank numbering by view count within each region-category combo
  • Run summary saved to Key-Value Store
  • Pay-per-event ready (shorts-result)

How it works

  1. Select one or more regions (countries) from the dropdown
  2. Select one or more categories — or choose [All categories] for overall most popular
  3. The actor calls videoCategories.list once per region to resolve category names
  4. Step A — Discovery: For each region-category combo, calls search.list with videoDuration=short to find short-form candidates
  5. Step B — Enrichment: Batch-fetches full video details via videos.list (up to 50 IDs per call)
  6. Step C — Classification: Applies Shorts heuristic (duration ≤ 60s + optional text signals) to compute confidence
  7. Step D — Ranking: Sorts by view count descending, assigns rank, deduplicates, and pushes to dataset

Shorts detection limitations

YouTube Data API does not provide a first-class "Shorts" flag. This actor uses a heuristic approach:

  • Duration check: Videos ≤ 60 seconds (configurable) receive a +0.6 confidence boost
  • Text signals: Title/description containing #shorts or shorts (configurable) add +0.2 each
  • Videos below minShortsConfidence threshold are filtered out
  • Some true Shorts may be missed; some short non-Shorts videos may be included

Input Parameters

ParameterTypeDefaultDescription
regionsstring[]requiredSelect countries from dropdown (50 available)
categoriesstring[][]Category filter: "[All categories]", "Music (10)", etc. Empty = all
timeWindowDaysinteger7Only discover Shorts published within last N days (1–30)
orderBystringviewCountSearch order: viewCount, date, rating, relevance
maxResultsPerPageinteger50Results per API page (1–50)
maxPagesinteger2Search pages per combo (1–10). Each costs 100 quota units
shortsMaxDurationSecondsinteger60Max duration to classify as Short
shortsDetectionModestringduration_plus_textduration_only or duration_plus_text
shortsTextSignalsstring[]["#shorts","shorts"]Text patterns for Shorts detection
minShortsConfidencenumber0.5Minimum confidence to include (0–1)
includeRawApiResponsesbooleanfalseInclude raw API data in output
dedupeByVideoIdbooleantrueSkip duplicate videos across combos
apiKeystringOptional YouTube Data API v3 key
requestTimeoutSecsinteger30API request timeout
maxRetriesinteger3Retries for transient 5xx errors
minDelayMsinteger0Delay between pages (rate smoothing)
debugbooleanfalseVerbose logging

Input examples

Example 1 — All categories for US, top by views, last 7 days

{
"regions": ["US"],
"categories": [],
"timeWindowDays": 7,
"orderBy": "viewCount",
"maxResultsPerPage": 50,
"maxPages": 2,
"shortsMaxDurationSeconds": 60,
"shortsDetectionMode": "duration_plus_text",
"shortsTextSignals": ["#shorts", "shorts"],
"minShortsConfidence": 0.5,
"dedupeByVideoId": true,
"includeRawApiResponses": false,
"requestTimeoutSecs": 30,
"maxRetries": 3,
"minDelayMs": 0,
"debug": false
}

Example 2 — Travel & Events for US, latest first, last 7 days

{
"regions": ["US"],
"categories": ["19"],
"timeWindowDays": 7,
"orderBy": "date",
"maxResultsPerPage": 50,
"maxPages": 2,
"shortsMaxDurationSeconds": 60,
"shortsDetectionMode": "duration_plus_text",
"shortsTextSignals": ["#shorts", "shorts"],
"minShortsConfidence": 0.5,
"dedupeByVideoId": true,
"includeRawApiResponses": false,
"requestTimeoutSecs": 30,
"maxRetries": 3,
"minDelayMs": 0,
"debug": false
}

Output

Output Table View — Most Popular Shorts

Table view — All Fields

Output Table View — All Fields

Output fields

FieldTypeDescription
rankintegerPosition ranked by view count
retrievedAtstringISO 8601 timestamp when data was fetched
regionCodestringRegion this result was fetched for
videoCategoryIdstringCategory ID
videoCategoryTitlestringCategory name (e.g., "Music", "Gaming")
videoIdstringYouTube video ID
urlstringFull video URL
titlestringVideo title
descriptionstringVideo description
publishedAtstringISO 8601 publish date
channelIdstringChannel ID
channelTitlestringChannel name
durationstringISO 8601 duration (e.g., PT59S)
durationSecondsintegerDuration in seconds
thumbnailsobjectThumbnail URLs (default, medium, high, standard, maxres)
statisticsobject{ viewCount, likeCount, commentCount }
isShortsCandidatebooleanWhether the video passed Shorts classification
shortsSignalsstring[]Signals that contributed to classification
shortsConfidencenumberConfidence score (0–1)

JSON output example

{
"rank": 1,
"retrievedAt": "2026-02-27T03:27:12.448Z",
"regionCode": "US",
"videoCategoryId": "24",
"videoCategoryTitle": "Entertainment",
"videoId": "oFWQhXdGn2o",
"url": "https://www.youtube.com/watch?v=oFWQhXdGn2o",
"title": "I want Rumi 😅Roblox Brookhaven Funny Meme #roblox #funny #shorts",
"description": "",
"publishedAt": "2026-02-20T23:01:06Z",
"channelId": "UCfF7GECIz-rj74KMh9S4ilg",
"channelTitle": "MiAnimation🎬 ",
"duration": "PT22S",
"durationSeconds": 22,
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/oFWQhXdGn2o/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/oFWQhXdGn2o/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/oFWQhXdGn2o/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/oFWQhXdGn2o/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/oFWQhXdGn2o/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"statistics": {
"viewCount": 46242891,
"likeCount": 361345,
"commentCount": 1326
},
"isShortsCandidate": true,
"shortsSignals": [
"duration<=60",
"text:#shorts",
"text:shorts"
],
"shortsConfidence": 1
}

Quota usage

  • search.list costs 100 quota units per request (this dominates cost)
  • videos.list costs 1 quota unit per request (up to 50 IDs per batch)
  • videoCategories.list costs 1 quota unit per region (called once per region)

Cost formula

For R regions, C categories (or 1 for All), P pages:

  • Search calls: R x C x P (100 units each)
  • Videos calls: ceil((R x C x P x maxResultsPerPage) / 50) (1 unit each)
  • Total ≈ (R x C x P x 100) + ceil((R x C x P x maxResultsPerPage) / 50)

Example costs

ScenarioSearch callsVideos callsTotal units
1 region, all categories, 1 page11~101
2 regions, 2 categories, 2 pages84~804
5 regions, 3 categories, 2 pages3015~3,015

Best practices for low cost

  • Use fewer maxPages (each page = 100 units)
  • Reduce maxResultsPerPage for quick tests
  • Use timeWindowDays=7 (default) — wider windows increase result volume but not API cost

Supported regions (50 countries)

RegionCountryRegionCountry
USUnited StatesJPJapan
GBUnited KingdomKRSouth Korea
AUAustraliaTWTaiwan
CACanadaHKHong Kong
INIndiaSGSingapore
DEGermanyIDIndonesia
FRFranceTHThailand
ITItalyPHPhilippines
ESSpainMYMalaysia
PTPortugalVNVietnam
BRBrazilRURussia
MXMexicoUAUkraine
ARArgentinaPLPoland
COColombiaNLNetherlands
CLChileBEBelgium
SESwedenZASouth Africa
NONorwayEGEgypt
DKDenmarkNGNigeria
FIFinlandKEKenya
ATAustriaGHGhana
CHSwitzerlandAEUAE
IEIrelandSASaudi Arabia
NZNew ZealandILIsrael
TRTurkeyCZCzech Republic
GRGreeceRORomania

Common category IDs

IDCategoryIDCategory
1Film & Animation24Entertainment
2Autos & Vehicles25News & Politics
10Music26Howto & Style
15Pets & Animals27Education
17Sports28Science & Technology
20Gaming29Nonprofits & Activism
22People & Blogs30Movies
23Comedy44Trailers

Note: Not all categories are available in every region. The actor automatically resolves available categories per region.

Run summary

Each run saves a RUN_SUMMARY to the Key-Value Store with:

  • Total shorts emitted, search/videos API calls, estimated quota units
  • Skipped counts (low confidence, duplicates)
  • Per-combo breakdown (region, category, candidates found, classified, emitted, errors)