Social Fetch
YouTube

Search YouTube

Search YouTube.

Use `data.page.hasMore` and `data.page.nextCursor` for pagination rather than inferring completion from bucket sizes alone.

GET/v1/youtube/search
1credit
x-api-key*stringheader

API key (`sfk_...`)

Parameters
8
query*stringquery

Search query text for YouTube content.

min 1 chars · max 512 chars

uploadDatestringoptionalquery

Optional upload date filter for video results.

one of: today, this_week, this_month, this_year

sortBystringoptionalquery

Optional sort order for search results.

one of: relevance, popular

typestringoptionalquery

Optional content type filter for search results.

one of: videos, shorts, channels, playlists

durationstringoptionalquery

Optional duration filter for video results. Applies to videos, not shorts.

one of: under_3_min, between_3_and_20_min, over_20_min

regionstringoptionalquery

Optional two-letter region code for localized search results.

min 2 chars · max 2 chars

cursorstringoptionalquery

Opaque pagination cursor returned by a previous response.

min 1 chars

includeExtrasbooleanoptionalquery

When true, returns richer per-video metadata when available. May increase response time.

Response fields
132

Endpoint-specific response payload.

dataquery
string

Search query string evaluated for this response.

Matching YouTube videos.

datavideos[]id
string

YouTube content identifier.

min 1 chars

datavideos[]kind
string

Normalized media kind for this row.

one of: video, short, live

datavideos[]url
stringnullable

Canonical public URL for this item when available.

datavideos[]title
stringnullable

Title shown for this item.

datavideos[]thumbnailUrl
stringnullable

Thumbnail image URL when available.

Channel metadata when available.

datavideos[]channelid
stringnullable

Channel identifier when available.

datavideos[]channeltitle
stringnullable

Channel title when available.

datavideos[]channelhandle
stringnullable

Channel handle when available.

datavideos[]channelthumbnailUrl
stringnullable

Channel thumbnail URL when available.

datavideos[]viewCount
integernullable

View count when available.

≥ 0

datavideos[]viewCountText
stringnullable

Human-readable view count label when available.

datavideos[]publishedAt
stringnullable

ISO-8601 publish timestamp when available. May be null for some live items.

datavideos[]publishedTimeText
stringnullable

Human-readable relative publish time when available.

datavideos[]durationSeconds
integernullable

Duration in seconds when available.

≥ 0

datavideos[]durationText
stringnullable

Human-readable duration label when available.

Display badges such as New, Live, or 4K when present.

datavideos[]badges[]
stringoptional
datavideos[]description
stringnullableoptional

Description text when extras are requested and available.

datavideos[]likeCount
integernullableoptional

Like count when extras are requested and available.

≥ 0

datavideos[]likeCountText
stringnullableoptional

Human-readable like count when extras are requested.

datavideos[]commentCount
integernullableoptional

Comment count when extras are requested and available.

≥ 0

datavideos[]commentCountText
stringnullableoptional

Human-readable comment count when extras are requested.

Matching YouTube Shorts.

datashorts[]id
string

YouTube content identifier.

min 1 chars

datashorts[]kind
string

Normalized media kind for this row.

one of: video, short, live

datashorts[]url
stringnullable

Canonical public URL for this item when available.

datashorts[]title
stringnullable

Title shown for this item.

datashorts[]thumbnailUrl
stringnullable

Thumbnail image URL when available.

Channel metadata when available.

datashorts[]channelid
stringnullable

Channel identifier when available.

datashorts[]channeltitle
stringnullable

Channel title when available.

datashorts[]channelhandle
stringnullable

Channel handle when available.

datashorts[]channelthumbnailUrl
stringnullable

Channel thumbnail URL when available.

datashorts[]viewCount
integernullable

View count when available.

≥ 0

datashorts[]viewCountText
stringnullable

Human-readable view count label when available.

datashorts[]publishedAt
stringnullable

ISO-8601 publish timestamp when available. May be null for some live items.

datashorts[]publishedTimeText
stringnullable

Human-readable relative publish time when available.

datashorts[]durationSeconds
integernullable

Duration in seconds when available.

≥ 0

datashorts[]durationText
stringnullable

Human-readable duration label when available.

Display badges such as New, Live, or 4K when present.

datashorts[]badges[]
stringoptional
datashorts[]description
stringnullableoptional

Description text when extras are requested and available.

datashorts[]likeCount
integernullableoptional

Like count when extras are requested and available.

≥ 0

datashorts[]likeCountText
stringnullableoptional

Human-readable like count when extras are requested.

datashorts[]commentCount
integernullableoptional

Comment count when extras are requested and available.

≥ 0

datashorts[]commentCountText
stringnullableoptional

Human-readable comment count when extras are requested.

Matching YouTube channels.

datachannels[]id
string

YouTube channel identifier.

min 1 chars

datachannels[]name
stringnullable

Channel display name.

datachannels[]handle
stringnullable

Channel handle when available.

datachannels[]description
stringnullable

Channel description snippet when available.

datachannels[]thumbnailUrl
stringnullable

Channel avatar or banner thumbnail when available.

datachannels[]subscriberCount
integernullable

Subscriber count when available.

≥ 0

datachannels[]subscriberCountText
stringnullable

Human-readable subscriber count when available.

Display badges such as Verified when present.

datachannels[]badges[]
stringoptional

Matching YouTube playlists.

dataplaylists[]id
string

YouTube playlist identifier.

min 1 chars

dataplaylists[]title
stringnullable

Playlist title.

dataplaylists[]url
stringnullable

Canonical playlist URL when available.

dataplaylists[]thumbnailUrl
stringnullable

Playlist thumbnail URL when available.

dataplaylists[]videoCount
integernullable

Number of videos in the playlist when available.

≥ 0

dataplaylists[]videoId
stringnullable

Representative video id shown for the playlist when available.

dataplaylists[]videoUrl
stringnullable

Representative video URL when available.

Playlist owner channel when available.

dataplaylists[]channelid
stringnullable

Playlist owner channel id when available.

dataplaylists[]channeltitle
stringnullable

Playlist owner channel title.

dataplaylists[]channelhandle
stringnullable

Playlist owner handle when available.

dataplaylists[]channelurl
stringnullable

Playlist owner channel URL when available.

Grouped shelf rows when returned.

datashelves[]type
stringnullable

Shelf type label when available.

datashelves[]title
stringnullable

Shelf title when available.

Media items grouped in this shelf.

datashelves[]items[]id
string

YouTube content identifier.

min 1 chars

datashelves[]items[]kind
string

Normalized media kind for this row.

one of: video, short, live

datashelves[]items[]url
stringnullable

Canonical public URL for this item when available.

datashelves[]items[]title
stringnullable

Title shown for this item.

datashelves[]items[]thumbnailUrl
stringnullable

Thumbnail image URL when available.

Channel metadata when available.

datashelves[]items[]channelid
stringnullable

Channel identifier when available.

datashelves[]items[]channeltitle
stringnullable

Channel title when available.

datashelves[]items[]channelhandle
stringnullable

Channel handle when available.

datashelves[]items[]channelthumbnailUrl
stringnullable

Channel thumbnail URL when available.

datashelves[]items[]viewCount
integernullable

View count when available.

≥ 0

datashelves[]items[]viewCountText
stringnullable

Human-readable view count label when available.

datashelves[]items[]publishedAt
stringnullable

ISO-8601 publish timestamp when available. May be null for some live items.

datashelves[]items[]publishedTimeText
stringnullable

Human-readable relative publish time when available.

datashelves[]items[]durationSeconds
integernullable

Duration in seconds when available.

≥ 0

datashelves[]items[]durationText
stringnullable

Human-readable duration label when available.

Display badges such as New, Live, or 4K when present.

datashelves[]items[]badges[]
stringoptional
datashelves[]items[]description
stringnullableoptional

Description text when extras are requested and available.

datashelves[]items[]likeCount
integernullableoptional

Like count when extras are requested and available.

≥ 0

datashelves[]items[]likeCountText
stringnullableoptional

Human-readable like count when extras are requested.

datashelves[]items[]commentCount
integernullableoptional

Comment count when extras are requested and available.

≥ 0

datashelves[]items[]commentCountText
stringnullableoptional

Human-readable comment count when extras are requested.

Matching YouTube live streams.

dataliveStreams[]id
string

YouTube content identifier.

min 1 chars

dataliveStreams[]kind
string

Normalized media kind for this row.

one of: video, short, live

dataliveStreams[]url
stringnullable

Canonical public URL for this item when available.

dataliveStreams[]title
stringnullable

Title shown for this item.

dataliveStreams[]thumbnailUrl
stringnullable

Thumbnail image URL when available.

Channel metadata when available.

dataliveStreams[]channelid
stringnullable

Channel identifier when available.

dataliveStreams[]channeltitle
stringnullable

Channel title when available.

dataliveStreams[]channelhandle
stringnullable

Channel handle when available.

dataliveStreams[]channelthumbnailUrl
stringnullable

Channel thumbnail URL when available.

dataliveStreams[]viewCount
integernullable

View count when available.

≥ 0

dataliveStreams[]viewCountText
stringnullable

Human-readable view count label when available.

dataliveStreams[]publishedAt
stringnullable

ISO-8601 publish timestamp when available. May be null for some live items.

dataliveStreams[]publishedTimeText
stringnullable

Human-readable relative publish time when available.

dataliveStreams[]durationSeconds
integernullable

Duration in seconds when available.

≥ 0

dataliveStreams[]durationText
stringnullable

Human-readable duration label when available.

Display badges such as New, Live, or 4K when present.

dataliveStreams[]badges[]
stringoptional
dataliveStreams[]description
stringnullableoptional

Description text when extras are requested and available.

dataliveStreams[]likeCount
integernullableoptional

Like count when extras are requested and available.

≥ 0

dataliveStreams[]likeCountText
stringnullableoptional

Human-readable like count when extras are requested.

dataliveStreams[]commentCount
integernullableoptional

Comment count when extras are requested and available.

≥ 0

dataliveStreams[]commentCountText
stringnullableoptional

Human-readable comment count when extras are requested.

datatotalResults
integer

Count of top-level result rows returned in this response across all buckets.

≥ 0

Pagination information for the current response.

datapagenextCursor
stringnullable

Cursor to pass in the next request when another page exists.

datapagehasMore
boolean

Whether another page of results is available.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/youtube/search?query=value" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Search results for the requested query.

On this page

No Headings