TikTok Video Detail
curl --request POST \
--url https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"video_id": "7543017294226558221"
}
'import requests
url = "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail"
payload = { "video_id": "7543017294226558221" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({video_id: '7543017294226558221'})
};
fetch('https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'video_id' => '7543017294226558221'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail"
payload := strings.NewReader("{\n \"video_id\": \"7543017294226558221\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"video_id\": \"7543017294226558221\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"video_id\": \"7543017294226558221\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"msg": "success",
"data": {
"id": "7543017294226558221",
"title": "Video title",
"description": "Video description",
"author": {
"id": "6638037497953681414",
"name": "username",
"nick_name": "Display name"
},
"stats": {
"like_count": 1000,
"comment_count": 100,
"share_count": 50,
"view_count": 10000
},
"create_time": 1756245606,
"video_url": "https://...",
"cover_url": "https://..."
},
"success": true,
"failed": false
}
TikTok
TikTok Video Detail
Get detailed information for TikTok videos.
POST
/
tiktok
/
video
/
detail
TikTok Video Detail
curl --request POST \
--url https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"video_id": "7543017294226558221"
}
'import requests
url = "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail"
payload = { "video_id": "7543017294226558221" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({video_id: '7543017294226558221'})
};
fetch('https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'video_id' => '7543017294226558221'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail"
payload := strings.NewReader("{\n \"video_id\": \"7543017294226558221\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"video_id\": \"7543017294226558221\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"video_id\": \"7543017294226558221\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"msg": "success",
"data": {
"id": "7543017294226558221",
"title": "Video title",
"description": "Video description",
"author": {
"id": "6638037497953681414",
"name": "username",
"nick_name": "Display name"
},
"stats": {
"like_count": 1000,
"comment_count": 100,
"share_count": 50,
"view_count": 10000
},
"create_time": 1756245606,
"video_url": "https://...",
"cover_url": "https://..."
},
"success": true,
"failed": false
}
Product: Visual Intelligence — Social Media Scraping
Use case: Fetch video metadata, transcripts, captions, and comments from YouTube, Instagram, TikTok, and Twitter/X
Host:
https://mavi-backend.memories.ai/serve/api/v2
Auth: Authorization: sk-mavi-... (no Bearer prefix)Channel routing guide: see Social Media Scraping Overview. Endpoints with a
channel request field let you choose apify, rapid, or memories.ai; endpoints without this field use managed routing.Each API call costs $0.01 USD.
Channel Options
If your request supports achannel option, use it to control how scraper data is sourced:
| Channel | What it means | Typical trade-off |
|---|---|---|
apify | Uses Apify, a dedicated web scraping platform with broad content coverage. | Most stable and most complete results, but usually more expensive. |
rapid | Uses RapidAPI, a lower-cost aggregation platform. | Lower cost, but less stable and often narrower coverage. |
memories.ai | Managed routing by Memories.ai. | Automatically selects the best price/performance path for your request. |
Recommendation: Start with
memories.ai unless you need to force a specific provider.Code Example
import requests
BASE_URL = "https://mavi-backend.memories.ai/serve/api/v2"
API_KEY = "sk-mavi-..."
HEADERS = {
"Authorization": f"{API_KEY}",
"Content-Type": "application/json"
}
def tiktok_video_detail(video_id: str):
url = f"{BASE_URL}/tiktok/video/detail"
data = {"video_id": video_id}
resp = requests.post(url, json=data, headers=HEADERS)
return resp.json()
# Usage example
result = tiktok_video_detail("your_tiktok_video_id")
print(result)
const axios = require('axios');
const BASE_URL = 'https://mavi-backend.memories.ai/serve/api/v2';
const API_KEY = 'sk-mavi-...';
const headers = {
'Authorization': API_KEY,
'Content-Type': 'application/json'
};
async function tiktokVideoDetail(videoId) {
const response = await axios.post(
`${BASE_URL}/tiktok/video/detail`,
{ video_id: videoId },
{ headers }
);
return response.data;
}
// Usage example
tiktokVideoDetail('your_tiktok_video_id')
.then(result => console.log(result));
curl -X POST "https://mavi-backend.memories.ai/serve/api/v2/tiktok/video/detail" \
-H "Authorization: sk-mavi-..." \
-H "Content-Type: application/json" \
-d '{
"video_id": "your_tiktok_video_id"
}'
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| video_id | string | Yes | TikTok video ID — the numeric ID at the end of the TikTok video URL |
How to get the
video_id: Extract the numeric ID from the end of a TikTok video URL.For example, from https://www.tiktok.com/@cutshall73/video/7543017294226558221, the video_id is 7543017294226558221.Response
Returns detailed information for the TikTok video.{
"code": 200,
"msg": "success",
"data": {
"id": "7543017294226558221",
"title": "Video title",
"description": "Video description",
"author": {
"id": "6638037497953681414",
"name": "username",
"nick_name": "Display name"
},
"stats": {
"like_count": 1000,
"comment_count": 100,
"share_count": 50,
"view_count": 10000
},
"create_time": 1756245606,
"video_url": "https://...",
"cover_url": "https://..."
},
"success": true,
"failed": false
}
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | string | Response code, indicates the operation result status |
| msg | string | Response message, describes the operation result |
| data | object | Response data object, contains video detailed information |
| data.id | string | Video ID |
| data.title | string | Video title |
| data.description | string | Video description |
| data.author | object | Author information |
| data.author.id | string | Author ID |
| data.author.name | string | Author username |
| data.author.nick_name | string | Author display name |
| data.stats | object | Statistics data |
| data.stats.like_count | number | Like count |
| data.stats.comment_count | number | Comment count |
| data.stats.share_count | number | Share count |
| data.stats.view_count | number | View count |
| data.create_time | number | Creation timestamp |
| data.video_url | string | Video URL |
| data.cover_url | string | Cover image URL |
| success | boolean | Indicates whether the operation was successful |
| failed | boolean | Indicates whether the operation failed |
Authorizations
Body
application/json
TikTok video ID
Example:
"7543017294226558221"
Response
200 - application/json
Successfully returned video detailed information
Response code, indicates the operation result status
Example:
200
Response message, describes the operation result
Example:
"success"
Response data object, contains video detailed information
Indicates whether the operation was successful
Example:
true
Indicates whether the operation failed
Example:
false
⌘I
