Skip to main content

Description

This endpoint allows you to fetch comprehensive metadata about a specific TikTok video, including video details, author information, statistics, music, hashtag challenges, and more.

Endpoint

POST /api/v1/get-tiktok-video

Request Headers

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

Request Body

ParameterTypeDescriptionRequiredDefault
urlstringThe full TikTok video URL.Yes
requestSourcestringOptional. Source of the request (e.g., MAKE_DOT_COM, ZAPIER, API).NoAPI
The url must be a valid TikTok video URL, e.g., https://www.tiktok.com/@username/video/1234567890 or https://vm.tiktok.com/ZMhKxyz/

Responses

Success (200 OK)

Returns comprehensive video information including metadata, statistics, author details, music, and challenges.
{
  "id": "7321234567890123456",
  "desc": "This is the video description with #hashtags",
  "createTime": 1704067200,
  "createTimeISO": "2024-01-01T00:00:00.000Z",
  "video": {
    "id": "v123",
    "height": 1024,
    "width": 576,
    "duration": 15,
    "ratio": "720p",
    "cover": "https://...jpg",
    "downloadAddr": "https://...mp4",
    "playAddr": "https://...mp4",
    "format": "mp4",
    "bitrate": 1234567
  },
  "author": {
    "id": "6659752019493208069",
    "uniqueId": "username",
    "nickname": "Display Name",
    "avatarThumb": "https://...jpeg",
    "signature": "User bio text",
    "verified": true,
    "privateAccount": false
  },
  "music": {
    "id": "7123456789",
    "title": "Song Title",
    "playUrl": "https://...mp3",
    "authorName": "Artist Name",
    "original": false,
    "duration": 15
  },
  "challenges": [
    {
      "id": "123456",
      "title": "hashtagname",
      "desc": "Hashtag description",
      "coverThumb": "https://...jpeg"
    }
  ],
  "stats": {
    "diggCount": 12345,
    "shareCount": 678,
    "commentCount": 234,
    "playCount": 567890,
    "collectCount": 123
  },
  "textExtra": [
    {
      "hashtagName": "hashtag1",
      "hashtagId": "123",
      "start": 10,
      "end": 19
    }
  ],
  "duetEnabled": true,
  "stitchEnabled": true,
  "shareEnabled": true
}
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": "'url' parameter is required and must be a non-empty string."
}
Possible error messages:
  • Invalid JSON in request body
  • 'url' parameter is required and must be a non-empty string.
  • Invalid TikTok video URL format.
  • The video service could not process the provided URL.
  • 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 video could not be found.
{
  "error": "TikTok video not found for URL: [url]"
}

500 Internal Server Error

An unexpected error occurred on the server.
{
  "error": "An unexpected server error occurred while fetching the TikTok video: [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 structure from video service."
}
Possible error messages:
  • The video service is currently unavailable.
  • Received invalid data structure 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-video \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "url": "https://www.tiktok.com/@username/video/7321234567890123456" }'

Node.js (fetch)

async function getTikTokVideo(apiKey, url) {
  const endpoint = 'https://app.dumplingai.com/api/v1/get-tiktok-video';
  const options = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    },
    body: JSON.stringify({ url })
  };

  try {
    const response = await fetch(endpoint, options);
    const data = await response.json();
    if (!response.ok) {
      console.error(`Error: ${response.status}`, data);
      return null;
    }
    console.log('Video ID:', data.id);
    console.log('Author:', data.author.uniqueId);
    console.log('Stats:', data.stats);
    return data;
  } catch (error) {
    console.error('Failed to fetch TikTok video:', error);
    return null;
  }
}

// Example usage:
// getTikTokVideo('YOUR_API_KEY', 'https://www.tiktok.com/@username/video/7321234567890123456');

Notes

  • The response includes comprehensive video metadata suitable for analytics, content management, and monitoring.
  • Video statistics include views (playCount), likes (diggCount), comments, shares, and saves (collectCount).
  • The textExtra array provides detailed information about hashtags mentioned in the video description with their positions.
  • Music information is included when the video uses a soundtrack.
  • Challenge/hashtag data includes cover images and descriptions.

Credit Cost

This endpoint costs 1 credit 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.