Get viral library video
curl --request GET \
--url https://rawugc.com/api/v1/viral-library/videos/{videoId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://rawugc.com/api/v1/viral-library/videos/{videoId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://rawugc.com/api/v1/viral-library/videos/{videoId}', 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://rawugc.com/api/v1/viral-library/videos/{videoId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://rawugc.com/api/v1/viral-library/videos/{videoId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://rawugc.com/api/v1/viral-library/videos/{videoId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rawugc.com/api/v1/viral-library/videos/{videoId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"tiktokId": "<string>",
"tiktokUrl": "<string>",
"username": "<string>",
"description": "<string>",
"stats": {
"views": 123,
"likes": 123,
"comments": 123,
"shares": 123,
"saves": 123
},
"hashtags": [
"<string>"
],
"soundName": "<string>",
"duration": 123,
"thumbnailUrl": "<string>",
"playUrl": "<string>",
"analysis": {
"hook": "<string>",
"summary": "<string>",
"whyItPerformed": [
"<string>"
],
"attributesToCopy": [
"<string>"
],
"hooksToTest": [
"<string>"
],
"keyframes": [
{
"timestamp": 123,
"type": "<string>",
"description": "<string>",
"visual": "<string>",
"audio": "<string>",
"text": "<string>"
}
],
"durationSeconds": 123,
"tags": [
"<string>"
],
"analyzedAt": 123
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}Viral Library
Get viral library video
Get a single video from the viral library with its full AI analysis, including per-second keyframes, hooks, performance insights, and actionable attributes.
GET
/
viral-library
/
videos
/
{videoId}
Get viral library video
curl --request GET \
--url https://rawugc.com/api/v1/viral-library/videos/{videoId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://rawugc.com/api/v1/viral-library/videos/{videoId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://rawugc.com/api/v1/viral-library/videos/{videoId}', 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://rawugc.com/api/v1/viral-library/videos/{videoId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://rawugc.com/api/v1/viral-library/videos/{videoId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://rawugc.com/api/v1/viral-library/videos/{videoId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rawugc.com/api/v1/viral-library/videos/{videoId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"tiktokId": "<string>",
"tiktokUrl": "<string>",
"username": "<string>",
"description": "<string>",
"stats": {
"views": 123,
"likes": 123,
"comments": 123,
"shares": 123,
"saves": 123
},
"hashtags": [
"<string>"
],
"soundName": "<string>",
"duration": 123,
"thumbnailUrl": "<string>",
"playUrl": "<string>",
"analysis": {
"hook": "<string>",
"summary": "<string>",
"whyItPerformed": [
"<string>"
],
"attributesToCopy": [
"<string>"
],
"hooksToTest": [
"<string>"
],
"keyframes": [
{
"timestamp": 123,
"type": "<string>",
"description": "<string>",
"visual": "<string>",
"audio": "<string>",
"text": "<string>"
}
],
"durationSeconds": 123,
"tags": [
"<string>"
],
"analyzedAt": 123
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}Authorizations
Use your API key from the RawUGC dashboard. Include as: Authorization: Bearer YOUR_API_KEY
Path Parameters
The video ID
Response
Video with full analysis
A viral video with its metadata and optional AI analysis
Unique video identifier
Original TikTok video ID
URL to the original TikTok video
TikTok creator username
Video caption/description
Engagement metrics
Show child attributes
Show child attributes
Hashtags used in the video
Name of the sound/music used
Video duration in seconds
Thumbnail image URL
Direct video playback URL
AI analysis data (null if not yet analyzed)
Show child attributes
Show child attributes
Was this page helpful?
⌘I

