# Profile › Videos (/docs/api-reference/tiktok/profile-videos)

`GET https://api.insightsocial.app/v1/tiktok/profile/videos`

Returns a page of an account's recent public videos, each with caption, view, like, comment and share counts, and a thumbnail URL. Handle lookup covers login or age-walled profiles.

Use it to list what one account has posted and page through it. Results come back in TikTok's own order, so sort_by does not reorder them. To find videos from many accounts by keyword, use search.

**10 credits** per call.

Paginates by `cursor`: see [Pagination](https://www.insightsocial.app/docs/pagination).

Send your key in the `x-api-key` header.

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `handle` | string | no | TikTok username without the @ symbol. Provide at least one of: `handle`, `user_id`. |
| `user_id` | string | no | TikTok user id. Use this for faster responses. Provide at least one of: `handle`, `user_id`. |
| `since` | string | no | Only videos published on or after this date: YYYY-MM-DD (midnight UTC) or an ISO 8601 timestamp. Older videos are left off the page, and the page that reaches one ends the walk: `next_cursor` is not returned and `pagination.stopped_at` is `since`. Pinned videos sit out of date order and never end the walk. The page still costs what a page costs, so a daily poll pays for the pages it walks and no more. |
| `stop_at_id` | string | no | The id (`post.id`) or URL (`post.url`) of the newest video you already hold. The page stops just before it: that video and everything after it are left off, `next_cursor` is not returned, and `pagination.stopped_at` is `known_id`. A pinned video never counts as the stop point. If it is not on this page the page is returned in full with its cursor, so keep walking. `pagination.stopped_at` is `end` when the list ran out first and `null` while there is more to walk. |
| `sort_by` | string | no | Accepted for compatibility and ignored on this endpoint: neither `latest` nor `popular` reorders the page. Videos come back in TikTok's own order. To rank a creator's videos by views or likes, page through with `cursor` and sort the collected rows yourself. One of: latest, popular. |
| `region` | string | no | Two-letter country code that localises the request. Defaults to US. It does not filter the videos. The country TikTok registers each video to is post.ext.region. |
| `trim` | boolean | no | Accepted for compatibility; the response is already the canonical shape, so this flag has no effect. |
| `dry_run` | string | no | Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged. One of: 1. |
| `until` | string | no | Only rows published on or before this date: YYYY-MM-DD (that whole UTC day is included) or an ISO 8601 timestamp. Newer rows are left off each page and the walk does not stop, so older pages follow. A row with no date is kept. |
| `cursor` | string | no | The `pagination.next_cursor` from the previous page, sent back unchanged. Omit it for the first page. |
