List TikTok collection videos

List videos in a public TikTok collection by URL.

GET/v1/tiktok/collections/videos
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
2
urlstringrequiredquery

Public TikTok collection URL.

min 1 chars · max 4096 chars

cursorstringoptionalquery

Pagination cursor returned by a previous response.

min 1 chars

Response fields
45

Endpoint-specific response payload.

datacollectionId
stringnullable

TikTok collection id when available.

TikTok videos in the requested collection. An empty array can mean no public videos in this collection, or other cases—this route has no lookupStatus.

datavideos[]id
string

TikTok video identifier.

min 1 chars

datavideos[]caption
stringnullable

Caption text shown for the TikTok video.

datavideos[]createdAt
stringnullable

ISO-8601 timestamp when the video was created, when available.

datavideos[]url
stringnullable

Canonical public TikTok URL for the video.

datavideos[]thumbnailUrl
stringnullable

Source-platform CDN thumbnail or cover URL when available. It can expire or be rejected outside the original retrieval context; it is not a SocialFetch-hosted asset. For durable hosted copies on this list route, pass `hostMedia=true`.

datavideos[]durationMs
integernullable

Video duration in milliseconds, when available.

≥ 0

datavideos[]pinned
boolean

Whether the video is pinned on the profile.

datavideos[]isAd
boolean

Whether TikTok marks the video as an ad.

Engagement metrics for the video.

datavideos[]statsviews
integer

View count reported by TikTok for the video.

≥ 0

datavideos[]statslikes
integer

Like count reported by TikTok for the video.

≥ 0

datavideos[]statscomments
integer

Comment count reported by TikTok for the video.

≥ 0

datavideos[]statsshares
integer

Share count reported by TikTok for the video.

≥ 0

datavideos[]statssaves
integer

Save or collection count reported by TikTok for the video.

≥ 0

Download-related media URLs for the video.

datavideos[]mediadownloadUrl
stringnullable

Source-platform CDN download URL, usually with watermark, when available. It can expire or be rejected outside the original retrieval context; it is not a SocialFetch-hosted asset. For durable hosted copies on this list route, pass `hostMedia=true`.

datavideos[]mediadownloadWithoutWatermarkUrl
stringnullable

Source-platform CDN download URL without watermark when available. It can expire or be rejected outside the original retrieval context; it is not a SocialFetch-hosted asset. For durable hosted copies on this list route, pass `hostMedia=true` (preferred over the watermarked URL when both are present).

datavideos[]details
objectoptional

Additional TikTok-native fields for this video (for example author, music, challenges, and full `video` and `statistics` objects). Keys that only duplicate the top-level fields are omitted.

Present only when `hostMedia=true`. Hosted copies and/or per-asset failures for this video.

datavideos[]hostedMedia[]status
string

Whether SocialFetch stored a durable copy of this asset.

one of: stored, failed

datavideos[]hostedMedia[]type
string

Normalized media kind.

one of: image, video

datavideos[]hostedMedia[]role
stringoptional

Which source field this asset was derived from.

one of: display, thumbnail, video

datavideos[]hostedMedia[]originalUrl
stringoptional

Source-platform CDN URL that was requested for hosting. Still transient; prefer `url` when status is stored.

datavideos[]hostedMedia[]url
stringoptional

Time-limited SocialFetch delivery URL when status is stored. Re-request hostMedia (or a future refresh route) before this expires if you still need access; object retention may outlive the delivery URL.

datavideos[]hostedMedia[]expiresAt
stringoptional

ISO-8601 timestamp when the returned delivery URL stops working.

datavideos[]hostedMedia[]retainedUntil
stringoptional

ISO-8601 timestamp when the stored object is deleted from SocialFetch storage (90-day tier).

datavideos[]hostedMedia[]mime
stringoptional

MIME type of the stored bytes when status is stored.

min 1 chars

datavideos[]hostedMedia[]bytes
integeroptional

Stored size in bytes when status is stored.

≥ 0

datavideos[]hostedMedia[]width
integernullableoptional

Pixel width when known.

≥ 0

datavideos[]hostedMedia[]height
integernullableoptional

Pixel height when known.

≥ 0

datavideos[]hostedMedia[]entityId
stringoptional

Opaque parent entity id for this asset (post, reel, photo, or video id).

min 1 chars

datavideos[]hostedMedia[]postId
stringoptional

Legacy Instagram media id alias for `entityId`. Prefer `entityId`.

min 1 chars

datavideos[]hostedMedia[]errorCode
stringoptional

Typed failure code when status is failed.

min 1 chars

datavideos[]hostedMedia[]errorMessage
stringoptional

Short customer-safe failure message when status is failed.

min 1 chars

Pagination state for the current response.

datapagehasMore
boolean

Whether another page is available.

datapagenextCursor
stringnullable

Cursor to pass in the next request when more pages exist; null on the last page.

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

metacached
booleanoptional

True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present.

Code example

curl "https://api.socialfetch.dev/v1/tiktok/collections/videos?url=https://www.tiktok.com/@kibblemaster808/collection/Want-to-go-7665668414573546258" \
  -H "x-api-key: YOUR_API_KEY"

Responses

TikTok collection videos.