Skip to main content
POST
/
api
/
v1
/
get-tiktok-profile-videos
List TikTok profile videos
curl --request POST \
  --url https://app.dumplingai.com/api/v1/get-tiktok-profile-videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "handle": "<string>",
  "maxCursor": "<string>",
  "trim": true,
  "requestSource": "API"
}'
{
  "aweme_list": [
    {
      "aweme_id": "<string>",
      "id": "<string>",
      "desc": "<string>",
      "create_time": 123,
      "statistics": {},
      "video": {},
      "author": {}
    }
  ],
  "max_cursor": "<string>",
  "min_cursor": "<string>",
  "has_more": 123,
  "hasMore": true,
  "extra": {}
}

Description

This endpoint allows you to fetch a paginated list of videos from a specified TikTok user’s profile. It returns comprehensive video metadata including statistics, timestamps, and pagination support for accessing more videos.

Endpoint

POST /api/v1/get-tiktok-profile-videos

Request Headers

HeaderTypeDescription
Content-TypestringMust be application/json.
AuthorizationstringYour API key (Bearer token). e.g. Bearer sk_xxx

Request Body

ParameterTypeDescriptionRequiredDefault
handlestringThe TikTok user handle (username).Yes
maxCursorstringOptional cursor for pagination. Pass the max_cursor from a previous response to get the next page.No
trimbooleanWhether to get a trimmed/simplified response.Nofalse
requestSourcestringOptional. Source of the request (e.g., MAKE_DOT_COM, ZAPIER, API).NoAPI
The handle is the username you see on TikTok, like stoolpresidente. Do not include the @ symbol.

Responses

Success (200 OK)

Returns a JSON object containing an array of videos and pagination information.
{
  "aweme_list": [
    {
      "aweme_id": "7460293617584139566",
      "desc": "Video description text here",
      "create_time": 1736092800,
      "statistics": {
        "comment_count": 1234,
        "digg_count": 56789,
        "download_count": 123,
        "play_count": 987654,
        "share_count": 456
      },
      "video": {
        "duration": 15,
        "cover": {
          "url_list": ["https://..."]
        }
      },
      "author": {
        "unique_id": "username",
        "nickname": "Display Name"
      }
    }
    // ... more videos
  ],
  "max_cursor": "1736092800000",
  "min_cursor": "1735488000000",
  "has_more": 1,
  "extra": {
    "now": 1736179200000
  }
}
Response Headers:
  • Content-Type: application/json
  • X-RateLimit-Limit: The rate limit for the user.
  • X-RateLimit-Remaining: The remaining number of requests for the user.

Error Responses

400 Bad Request

Indicates an issue with the request parameters.
{
  "error": "'handle' parameter is required and must be a non-empty string."
}
Possible error messages:
  • Invalid JSON in request body
  • 'handle' parameter is required and must be a non-empty string.
  • The video service could not process the handle.
  • The video service reported an issue.

401 Unauthorized

API key is missing, invalid, or inactive.
{
  "error": "API key is invalid or missing."
}

403 Forbidden

API key does not have enough credits.
{
  "error": "Insufficient credits. Please top up your account."
}

404 Not Found

The requested TikTok profile could not be found.
{
  "error": "TikTok profile not found for handle: [handle]"
}

500 Internal Server Error

An unexpected error occurred on the server.
{
  "error": "An unexpected server error occurred while fetching the TikTok profile videos: [specific error message]"
}
Possible error messages:
  • Service not configured. Please contact support.
  • Service authentication failed. Please contact support.
  • An unexpected server error occurred...

502 Bad Gateway

Indicates an issue with an upstream service.
{
  "error": "Received invalid data format from video service."
}
Possible error messages:
  • The video service is currently unavailable.
  • Received invalid data format from video service.
  • Error fetching video data from the upstream service.

503 Service Unavailable

Rate limit exceeded with an upstream service.
{
  "error": "Rate limit exceeded. Please try again later."
}

Example Request

cURL

curl -X POST \
  https://app.dumplingai.com/api/v1/get-tiktok-profile-videos \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "handle": "stoolpresidente" }'

Node.js (fetch)

async function getTikTokProfileVideos(apiKey, handle, maxCursor = null) {
  const url = 'https://app.dumplingai.com/api/v1/get-tiktok-profile-videos';
  const body = { handle };
  if (maxCursor) body.maxCursor = maxCursor;

  const options = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    },
    body: JSON.stringify(body)
  };

  try {
    const response = await fetch(url, options);
    const data = await response.json();
    if (!response.ok) {
      console.error(`Error: ${response.status}`, data);
      return null;
    }
    console.log(`Fetched ${data.aweme_list.length} videos`);
    console.log(`Has more: ${data.has_more}`);
    return data;
  } catch (error) {
    console.error('Failed to fetch TikTok profile videos:', error);
    return null;
  }
}

// Example usage:
// getTikTokProfileVideos('YOUR_API_KEY', 'stoolpresidente');

Notes

  • Use the max_cursor field from the response to paginate through all videos.
  • The has_more field indicates whether there are additional pages available (1 = yes, 0 = no).
  • Video statistics include view counts, likes (digg_count), comments, shares, and downloads.

Credit Cost

This endpoint costs 10 credits per successful request. For more details, see our Credit Costs page.

Rate Limiting

This endpoint is subject to standard API rate limits. Check the X-RateLimit-Limit and X-RateLimit-Remaining headers in the response to monitor your usage.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
handle
string
required
maxCursor
string

Cursor for pagination.

trim
boolean

When true, returns a simplified payload.

requestSource
enum<string>

Optional identifier describing where the API request originated.

Available options:
API,
WEB,
MAKE_DOT_COM,
ZAPIER,
N8N,
PLAYGROUND,
DEFAULT_AUTOMATION,
AGENT_PREVIEW,
AGENT_LIVE,
AUTOPILOT,
STUDIO

Response

TikTok videos retrieved.

aweme_list
object[]
max_cursor
string | null
min_cursor
string | null
has_more
integer | null
hasMore
boolean | null
extra
object