Skip to main content
POST
/
api
/
v1
/
get-tiktok-video
Get TikTok video
curl --request POST \
  --url https://app.dumplingai.com/api/v1/get-tiktok-video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "https://www.tiktok.com/@stoolpresidente/video/7556301577875639583"
}'
{
  "id": "<string>",
  "desc": "<string>",
  "createTime": 123,
  "createTimeISO": "2023-11-07T05:31:56Z",
  "video": {},
  "author": {},
  "music": {},
  "challenges": [
    {}
  ],
  "stats": {},
  "textExtra": [
    {}
  ]
}

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 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
url
string<uri>
required
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 video retrieved.

id
string
desc
string
createTime
integer | null
createTimeISO
string<date-time> | null
video
object
author
object
music
object
challenges
object[]
stats
object
textExtra
object[]