Chinese low-subscriber long videos

A dedicated opportunity ranking that returns Strict items by default.

GET
https://api.shortsmonkey.com/v1/rankings/chinese-low-subscriber-long-videos?start_date=2026-07-01&end_date=2026-07-20&quality=strict&limit=20

1 credit per actual 1–20 items

Chinese low-subscriber long videos#

A dedicated opportunity ranking that returns Strict items by default.

Authentication#

Send Authorization: Bearer sm_live_.... Never place the full key in URLs, cookies, bodies, logs, or analytics.

Data freshness#

Rankings read stable snapshots published by the worker. Public reads never trigger a YouTube refresh.

Request#

ItemValueDescription
MethodGETHTTP request method
Full URLhttps://api.shortsmonkey.com/v1/rankings/chinese-low-subscriber-long-videos?start_date=2026-07-01&end_date=2026-07-20&quality=strict&limit=20Production API URL
AuthenticationAuthorization: Bearer sm_live_...Send the full key only in the header
Content typeNo request bodyGET requests have no request body
Credits1 credit per actual 1–20 itemsError responses cost 0 credits

Request parameters#

NameLocationTypeRequiredDefaultValues or limitsDescription
periodQuerystringNotodaytoday / 7d / all_timePreset publication window; omit when using custom dates
start_dateQuerystring(date)ConditionalYYYY-MM-DDInclusive UTC start date; must be paired with end_date
end_dateQuerystring(date)ConditionalYYYY-MM-DDInclusive UTC end date; cannot be earlier than the start date
trackQuerystringNoall1–80 charactersFilter by track identifier; all includes every track
qualityQuerystringNostrictstrict / allReturn strict data only or include expanded candidates
limitQueryintegerNo201–50Maximum number of items on this page
all_cursorQuerystringNoall_data.next_cursor, valid for 24 hoursFetch the next unfiltered page
filter_cursorQuerystringNofilter_data.next_cursor, valid for 24 hoursFetch the next filtered page without changing filters
cursorQuerystringNoDeprecated compatibility parameterAlias for filter_cursor; do not send both

Success response fields#

all_data is an unfiltered page from the stable snapshot; filter_data is a page from the same snapshot after endpoint defaults and request filters. Each result paginates independently.

Dot notation represents nested objects and [] represents array items. Unknown subscriber counts are null with subscriber_count_hidden: true. One request is billed once using the larger returned item count, never the sum of both sets.

Field pathTypeNullableDescription
data.all_data.itemsarray<object>NoUnfiltered video items on the current page
data.all_data.items[].video_idstringNoYouTube video ID
data.all_data.items[].titlestringNoVideo title
data.all_data.items[].video_urlstringNoYouTube video URL
data.all_data.items[].channel.idstringYesChannel ID
data.all_data.items[].channel.titlestringNoChannel title
data.all_data.items[].channel.subscribersintegerYesSubscriber count; null when hidden
data.all_data.items[].channel.subscriber_count_hiddenbooleanNoWhether the subscriber count is hidden
data.all_data.items[].viewsintegerNoView-count snapshot
data.all_data.items[].views_to_subscribers_rationumberYesViews-to-subscribers ratio
data.all_data.items[].opportunity_scorenumberYesOpportunity score
data.all_data.items[].duration_secondsintegerNoVideo duration in seconds
data.all_data.items[].published_atstring(date-time)YesVideo publication time in UTC ISO 8601
data.all_data.items[].snapshot_atstring(date-time)YesData collection time
data.all_data.items[].nichestringYesNiche or category
data.all_data.items[].trackstringYesDataset track identifier
data.all_data.items[].regionstringYesRegion code
data.all_data.items[].reasonsarray<string>NoRanking reasons
data.all_data.items[].video_typestringNoshorts or long
data.all_data.next_cursorstringYesNext-page cursor for this result set; null when finished
data.filter_data.itemsarray<object>NoVideo items after defaults and request filters
data.filter_data.items[].video_idstringNoYouTube video ID
data.filter_data.items[].titlestringNoVideo title
data.filter_data.items[].video_urlstringNoYouTube video URL
data.filter_data.items[].channel.idstringYesChannel ID
data.filter_data.items[].channel.titlestringNoChannel title
data.filter_data.items[].channel.subscribersintegerYesSubscriber count; null when hidden
data.filter_data.items[].channel.subscriber_count_hiddenbooleanNoWhether the subscriber count is hidden
data.filter_data.items[].viewsintegerNoView-count snapshot
data.filter_data.items[].views_to_subscribers_rationumberYesViews-to-subscribers ratio
data.filter_data.items[].opportunity_scorenumberYesOpportunity score
data.filter_data.items[].duration_secondsintegerNoVideo duration in seconds
data.filter_data.items[].published_atstring(date-time)YesVideo publication time in UTC ISO 8601
data.filter_data.items[].snapshot_atstring(date-time)YesData collection time
data.filter_data.items[].nichestringYesNiche or category
data.filter_data.items[].trackstringYesDataset track identifier
data.filter_data.items[].regionstringYesRegion code
data.filter_data.items[].reasonsarray<string>NoRanking reasons
data.filter_data.items[].video_typestringNoshorts or long
data.filter_data.next_cursorstringYesNext-page cursor for this result set; null when finished
data.all_data.items[].quality_tierstringNostrict or expanded
data.filter_data.items[].quality_tierstringNostrict or expanded
data.all_data.items[].is_expanded_candidatebooleanNoWhether the item is an expanded candidate
data.filter_data.items[].is_expanded_candidatebooleanNoWhether the item is an expanded candidate
meta.methodology_versionstringNoRanking methodology version
meta.request_idstringNoRequest trace ID
meta.snapshot_idstringNoStable snapshot ID
meta.snapshot_atstring(date-time)NoSnapshot timestamp
meta.data_statusstringNoDataset status
credits.costintegerNoActual credits charged
credits.remainingintegerNoRemaining account credits
credits.period_ends_atstring(date-time)NoCurrent credit-period end

Pagination and cursors#

Send all_data.next_cursor as all_cursor and filter_data.next_cursor as filter_cursor. The cursors are independent, opaque, signed, and valid for 24 hours; legacy cursor is only an alias for filter_cursor.

ETag#

Rankings support If-None-Match. A hit returns HTTP 304 with X-Credits-Cost: 0.

Errors and rate limits#

Every error contains code, stable English message, request_id, and details. All 4xx/5xx responses cost zero credits.

HTTP statusCodeCauseSuggested action
400INVALID_REQUESTInvalid parameter format, combination, or rangeCorrect the parameters using details.issues
401INVALID_API_KEYThe key is invalid or inactiveCheck the Bearer header and key status
402SUBSCRIPTION_REQUIRED / CREDITS_EXHAUSTEDSubscription or credits are unavailableCheck the plan, balance, and key safety budget
429RATE_LIMITEDRate or concurrency limit exceededRetry after the Retry-After interval
503DATA_STALE / SERVICE_UNAVAILABLEData or service is temporarily unavailableRetry later and retain request_id
curl -X GET "https://api.shortsmonkey.com/v1/rankings/chinese-low-subscriber-long-videos?start_date=2026-07-01&end_date=2026-07-20&quality=strict&limit=20" \
  -H "Authorization: Bearer $SHORTSMONKEY_API_KEY"