List TikTok profile videos
List videos from a TikTok profile by handle.
Headers
Get your API keyAPI key (`sfk_...`)
TikTok handle whose videos should be listed.
min 1 chars · max 128 chars
Optional sort order for the returned TikTok videos.
one of: latest, popular
Pagination cursor returned by a previous response.
min 1 chars
Optional TikTok user id to speed up the request.
min 1 chars
Optional ISO 3166-1 country code for the request.
Optional flag for a smaller response with fewer fields.
Whether to include videos pinned to the top of the profile. Default: `true`. Set `false` to leave pinned videos out; pages can then come back shorter or empty, so keep following `hasMore` and `cursor`. Send the same value on every page.
When true, hosts source media for 90 days and returns delivery URLs in each video's `hostedMedia`.
Endpoint-specific response payload.
Whether videos could be listed for this handle: `found` (the list may still be empty), `private` (the account is private, so no videos are visible) or `not_found` (no such account). Treat unknown values like `not_found`.
one of: found, private, not_found
TikTok videos for the requested profile page. Always empty when `lookupStatus` is `private` or `not_found`. With `found`, an empty array means no videos on this page (for example none in the selected sort window).
TikTok video identifier.
min 1 chars
Caption text shown for the TikTok video.
ISO-8601 timestamp when the video was created, when available.
Canonical public TikTok URL for the video.
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.
Video duration in milliseconds, when available.
≥ 0
Whether the video is pinned on the profile.
Whether TikTok marks the video as an ad.
Engagement metrics for the video.
View count reported by TikTok for the video.
≥ 0
Like count reported by TikTok for the video.
≥ 0
Comment count reported by TikTok for the video.
≥ 0
Share count reported by TikTok for the video.
≥ 0
Save or collection count reported by TikTok for the video.
≥ 0
Download-related media URLs for the video.
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.
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. Preferred over the watermarked URL when both are present.
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`: durable hosted copies of the source media (the CDN URLs above can expire), and/or per-asset failures for this video.
Whether SocialFetch stored a durable copy of this asset.
one of: stored, failed
Normalized media kind.
one of: image, video
Which source field this asset was derived from.
one of: display, thumbnail, video
Original CDN URL that was requested for hosting. Still transient; prefer `url` when status is stored.
Public HTTPS URL of the stored file on the media CDN when status is stored. The link stays valid until the file is deleted at `retainedUntil`; save the file if you need it longer.
ISO-8601 timestamp when the returned URL stops working. Same as `retainedUntil`, because the link stays valid until the file is deleted.
ISO-8601 timestamp when the stored object is deleted from SocialFetch storage (90-day tier).
MIME type of the stored bytes when status is stored.
min 1 chars
Stored size in bytes when status is stored.
≥ 0
Pixel width when known.
≥ 0
Pixel height when known.
≥ 0
Opaque parent entity id for this asset (post, reel, photo, or video id).
min 1 chars
Legacy Instagram media id alias for `entityId`. Prefer `entityId`.
min 1 chars
Typed failure code when status is failed.
min 1 chars
Short customer-safe failure message when status is failed.
min 1 chars
Pagination state for the current response.
Cursor to pass in the next request when more videos are available.
Whether another page of videos is available.
Metadata describing the request and billing outcome.
Unique request identifier for tracing this API call.
min 1 chars
Credits charged for this request.
≥ 0
Public API version that served the response.
one of: v1
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/profiles/charlidamelio/videos" \
-H "x-api-key: YOUR_API_KEY"Responses
TikTok videos for the requested profile.