Hooks

Top-performing hooks corpus-wide

The strongest verbatim hooks across the whole Virlo corpus (~970k video hooks + ~440k slideshow hooks, growing daily), ranked by Virality Score (default) or raw views over a 7/14/30-day publish window. Each item carries the exact opening line, both hook classifications, the source post with metrics, and usage_count (how many posts open with the same hook; identical hooks are collapsed to their strongest source). Filter by platform, category, hook_type, visual_hook_type, language, or min_views. Use this for "what hooks are working right now"; use /v1/hooks/search to find hooks with a given phrasing and /v1/agents/{id}/hooks for a niche you already track. Never rank by raw views across platforms: the default Virality Score is the cross-platform signal. Top 1,000 results. $0.25 per call.

get/v1/hooks/trending

Request

  • Base URL: https://api.virlo.ai
  • URL: https://api.virlo.ai/v1/hooks/trending
  • Auth: HTTP bearer

Query parameters

limitnumber

Items per page (1-100, default 20). Values above 100 are clamped.

pagenumber

Page number, 1-indexed (default 1).

content_type'video' | 'slideshow' | 'all'

Corpus slice: video (default), slideshow (TikTok carousels), or all.

platform'tiktok' | 'youtube' | 'instagram'

Only hooks from this platform. Omit for all platforms.

category'art_design' | 'automotive' | 'beauty' | 'business_career' | 'crafts_diy' | 'education' | 'entertainment' | 'fashion' | 'finance' | 'fitness' | 'food_beverage' | 'gaming' | 'health_wellness' | 'home_garden' | 'kids_content' | 'lifestyle' | 'music' | 'news_politics' | 'parenting_family' | 'pets' | 'real_estate' | 'relationships_dating' | 'religion_spirituality' | 'science_nature' | 'sports' | 'tech' | 'travel' | 'other'

Content category of the source video. One of the listed slugs; anything else is a 400.

hook_typestring
Example:tutorial_promise

Only hooks of this spoken/text hook type (e.g. tutorial_promise). The list grows over time: GET /v1/hooks/types has the current values. An unknown value is a 400 that lists them.

visual_hook_type'text_hook' | 'extreme_closeup' | 'before_state' | 'shocking_image' | 'aesthetic_setup' | 'person_speaking_to_camera' | 'motion_action' | 'crowded_scene' | 'mystery_object' | 'dramatic_zoom' | 'animal_pet' | 'product_reveal'

Filter to one first-frame visual hook type (e.g. text_hook).

languagestring
Example:en

ISO language code of the hook text (e.g. en, es, pt). Detected per video.

min_viewsnumber

Only hooks from videos with at least this many views.

days7 | 14 | 30

Publish-date window in days.

sort'weighted_score' | 'views'

weighted_score (default) ranks by the Virality Score — ln(views/followers) × ln(followers) — which is comparable across creator sizes and platforms. views ranks by raw view count (never compare raw views across platforms).

Response

Example response

{
  "data": [
    {
      "hook_text": "Stop doing this if you want clear skin",
      "hook_type": "negation",
      "visual_hook_type": "person_speaking_to_camera",
      "language": "en",
      "outlier_ratio": 27.3,
      "weighted_score": 37.6,
      "usage_count": 1
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "total_pages": 3,
    "has_next_page": true
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.