Search viral library
curl --request GET \
--url https://rawugc.com/api/v1/viral-library/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://rawugc.com/api/v1/viral-library/search"
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/search', 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/search",
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/search"
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/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rawugc.com/api/v1/viral-library/search")
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{
"results": [
{
"video": {
"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
}
},
"score": 123
}
],
"query": "<string>",
"total": 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
Search viral library
Semantic search across all analyzed videos using natural language queries. Search by hooks, content themes, performance traits, or any aspect of the video analysis. Powered by vector embeddings for intelligent matching.
GET
/
viral-library
/
search
Search viral library
curl --request GET \
--url https://rawugc.com/api/v1/viral-library/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://rawugc.com/api/v1/viral-library/search"
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/search', 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/search",
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/search"
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/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rawugc.com/api/v1/viral-library/search")
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{
"results": [
{
"video": {
"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
}
},
"score": 123
}
],
"query": "<string>",
"total": 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
Query Parameters
Natural language search query (e.g., 'before after transformation', 'pattern interrupt hooks', 'skincare product demos')
Maximum number of results to return
Required range:
1 <= x <= 50Was this page helpful?
⌘I

