ScriptHooks API
Access a growing database of 3,600+ proven video hooks from content with 100K-8B+ views. Search by niche, emotion, format, and platform. Updated daily.
Overview
The ScriptHooks API gives you programmatic access to our curated database of viral video hooks. Each hook is tagged with metadata including archetype, emotional trigger, niche, and performance data.
Base URL
https://scripthooks.ai/api/hookdata
What's Included
- The hook text (exact wording from viral videos)
- View count from source video
- Platform (TikTok, YouTube, Reels, etc.)
- Archetype classification (curiosity gap, bold claim, etc.)
- Emotional trigger (fear, aspiration, surprise, etc.)
- Niche/vertical category
Authentication
All API requests require authentication via an API key. Include your key in the request header:
Authorization: Bearer YOUR_API_KEY
Getting an API Key
Contact team@scripthooks.ai to get your API key. Include your use case and expected call volume.
Already have an API key? View your dashboard to manage usage and regenerate keys.
Pricing
Simple, predictable pricing based on your usage needs.
- All endpoints
- Full hook metadata
- Email support
- All endpoints
- Full hook metadata
- Priority support
- Trend data access
- All endpoints
- Full hook metadata
- Dedicated support
- Trend data access
- Bulk export
- Unlimited endpoints
- Custom integrations
- SLA guarantee
- Dedicated account manager
Endpoints
Retrieve viral hooks from the database with filtering and pagination.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://scripthooks.ai/api/hookdata/hooks
Search hooks by niche, emotion, archetype, or keyword.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://scripthooks.ai/api/hookdata/hooks/search?q=nobody%20knows"
Get random viral hooks for inspiration.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://scripthooks.ai/api/hookdata/hooks/random?count=5"
Get complete hook data with metadata.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://scripthooks.ai/api/hookdata/hooks/full
List all hook archetypes with descriptions and examples.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://scripthooks.ai/api/hookdata/archetypes
Get API metadata and statistics.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://scripthooks.ai/api/hookdata/meta
Access trending hook patterns and rising archetypes.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://scripthooks.ai/api/hookdata/trends?period=30d"
Rate Limits
Response Schema
All successful responses return JSON with the following structure:
{
"success": true,
"data": [
{
"id": "hook_12345",
"text": "POV: You finally understand...",
"views": 2400000,
"platform": "TikTok",
"archetype": "curiosity_gap",
"emotional_trigger": "surprise",
"niche": "finance"
}
],
"count": 1,
"timestamp": "2026-01-14T12:00:00Z"
}
Error Codes
Invalid or missing API key
Too many requests - upgrade your plan or wait
Endpoint or resource doesn't exist
Something went wrong on our end
Code Examples
Quick examples to get you started in your language of choice.
Python
import requests
API_KEY = "your_api_key"
BASE_URL = "https://scripthooks.ai/api/hookdata"
def get_hooks(niche=None, archetype=None, limit=20):
headers = {"Authorization": f"Bearer {API_KEY}"}
params = {"limit": limit}
if niche:
params["niche"] = niche
if archetype:
params["archetype"] = archetype
response = requests.get(
f"{BASE_URL}/hooks",
headers=headers,
params=params
)
return response.json()
# Get curiosity gap hooks for finance
hooks = get_hooks(niche="finance", archetype="curiosity_gap")
for hook in hooks["data"]:
print(f"{hook['text']} - {hook['views']:,} views")
JavaScript
const API_KEY = 'your_api_key';
const BASE_URL = 'https://scripthooks.ai/api/hookdata';
async function getHooks({ niche, archetype, limit = 20 } = {}) {
const params = new URLSearchParams({ limit });
if (niche) params.append('niche', niche);
if (archetype) params.append('archetype', archetype);
const response = await fetch(
`${BASE_URL}/hooks?${params}`,
{
headers: {
'Authorization': `Bearer ${API_KEY}`
}
}
);
return response.json();
}
// Get curiosity gap hooks for finance
const hooks = await getHooks({
niche: 'finance',
archetype: 'curiosity_gap'
});
hooks.data.forEach(hook => {
console.log(`${hook.text} - ${hook.views.toLocaleString()} views`);
});
cURL
curl -X GET "https://scripthooks.ai/api/hookdata/hooks?niche=finance&archetype=curiosity_gap&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"