curl -X POST "https://api.hooked.so/v1/social/account/analyze" \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"username": "fitnessguru",
"platform": "tiktok"
}'
const response = await fetch('https://api.hooked.so/v1/social/account/analyze', {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: 'fitnessguru',
platform: 'tiktok'
})
});
const data = await response.json();
console.log(data.data.account);
import requests
response = requests.post(
'https://api.hooked.so/v1/social/account/analyze',
headers={
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
json={
'username': 'fitnessguru',
'platform': 'tiktok'
}
)
account = response.json()['data']['account']
print(f"Analyzed {account['displayName']} with {account['stats']['followers']} followers")
{
"success": true,
"message": "Account analyzed successfully",
"data": {
"account": {
"id": "clx123abc",
"username": "fitnessguru",
"platform": "tiktok",
"displayName": "Fitness Guru",
"bio": "Helping you get fit one video at a time",
"avatarUrl": "https://cdn.tiktok.com/avatar.jpg",
"isVerified": true,
"stats": {
"followers": 1500000,
"following": 250,
"videos": 342,
"likes": 45000000
},
"analytics": {
"engagementRate": 12.5,
"viralityScore": 78.3,
"avgViews": 890000
},
"topHashtags": ["fitness", "workout", "gym"],
"keywords": ["fitness", "exercise", "motivation"],
"lastAnalyzed": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"profileUrl": "https://www.tiktok.com/@fitnessguru"
}
}
}
Social Accounts
Analyze Account
Analyze a social media account and extract insights
POST
/
v1
/
social
/
account
/
analyze
curl -X POST "https://api.hooked.so/v1/social/account/analyze" \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"username": "fitnessguru",
"platform": "tiktok"
}'
const response = await fetch('https://api.hooked.so/v1/social/account/analyze', {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: 'fitnessguru',
platform: 'tiktok'
})
});
const data = await response.json();
console.log(data.data.account);
import requests
response = requests.post(
'https://api.hooked.so/v1/social/account/analyze',
headers={
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
json={
'username': 'fitnessguru',
'platform': 'tiktok'
}
)
account = response.json()['data']['account']
print(f"Analyzed {account['displayName']} with {account['stats']['followers']} followers")
{
"success": true,
"message": "Account analyzed successfully",
"data": {
"account": {
"id": "clx123abc",
"username": "fitnessguru",
"platform": "tiktok",
"displayName": "Fitness Guru",
"bio": "Helping you get fit one video at a time",
"avatarUrl": "https://cdn.tiktok.com/avatar.jpg",
"isVerified": true,
"stats": {
"followers": 1500000,
"following": 250,
"videos": 342,
"likes": 45000000
},
"analytics": {
"engagementRate": 12.5,
"viralityScore": 78.3,
"avgViews": 890000
},
"topHashtags": ["fitness", "workout", "gym"],
"keywords": ["fitness", "exercise", "motivation"],
"lastAnalyzed": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"profileUrl": "https://www.tiktok.com/@fitnessguru"
}
}
}
Overview
This endpoint analyzes a social media account by scraping their profile, videos, and generating analytics. The analysis includes engagement metrics, content keywords, popular hashtags, and more.Request Body
string
required
The account username (without the @ symbol). Will be normalized automatically.
string
required
The platform to analyze:
tiktok: Analyze a TikTok accountyoutube: Analyze a YouTube account
Response
boolean
Indicates if the request was successful
string
Status message
object
Show data
Show data
object
The analyzed account with full details
Show account
Show account
string
Internal account ID
string
Account username
string
Platform (tiktok or youtube)
string
Display name
string
Account bio
string
Profile picture URL
boolean
Verification status
object
Follower/following counts, videos, likes
object
Engagement rate, virality score, average views
array
Most used hashtags
array
Extracted content keywords
string
Analysis timestamp
string
Link to the profile
curl -X POST "https://api.hooked.so/v1/social/account/analyze" \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"username": "fitnessguru",
"platform": "tiktok"
}'
const response = await fetch('https://api.hooked.so/v1/social/account/analyze', {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: 'fitnessguru',
platform: 'tiktok'
})
});
const data = await response.json();
console.log(data.data.account);
import requests
response = requests.post(
'https://api.hooked.so/v1/social/account/analyze',
headers={
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
json={
'username': 'fitnessguru',
'platform': 'tiktok'
}
)
account = response.json()['data']['account']
print(f"Analyzed {account['displayName']} with {account['stats']['followers']} followers")
{
"success": true,
"message": "Account analyzed successfully",
"data": {
"account": {
"id": "clx123abc",
"username": "fitnessguru",
"platform": "tiktok",
"displayName": "Fitness Guru",
"bio": "Helping you get fit one video at a time",
"avatarUrl": "https://cdn.tiktok.com/avatar.jpg",
"isVerified": true,
"stats": {
"followers": 1500000,
"following": 250,
"videos": 342,
"likes": 45000000
},
"analytics": {
"engagementRate": 12.5,
"viralityScore": 78.3,
"avgViews": 890000
},
"topHashtags": ["fitness", "workout", "gym"],
"keywords": ["fitness", "exercise", "motivation"],
"lastAnalyzed": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"profileUrl": "https://www.tiktok.com/@fitnessguru"
}
}
}
Error Handling
Account already analyzed
Account already analyzed
If the account has already been analyzed, you’ll receive a 400 error. Use the Refresh Account endpoint to update existing accounts.
{
"success": false,
"message": "Account already analyzed. Use refresh endpoint to update."
}
Account not found
Account not found
If the username doesn’t exist on the platform:
{
"success": false,
"message": "Account not found: username"
}
Analysis may consume API credits depending on the depth of data scraped.