Hook & Virality Scorer - Rank Titles Before Posting avatar

Hook & Virality Scorer - Rank Titles Before Posting

Pricing

from $3.00 / 1,000 hook scoreds

Go to Apify Store
Hook & Virality Scorer - Rank Titles Before Posting

Hook & Virality Scorer - Rank Titles Before Posting

Score any title, hook or script before you post it. Each one gets a 0-100 virality score and an A-F grade. You also get a six-part breakdown, the words that scored, and suggested rewrites. No AI key needed. $3.00 per 1,000 hooks ($0.003 each), flat rate with no volume tiers.

Pricing

from $3.00 / 1,000 hook scoreds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Share

Hook & Virality Scorer: rank your title variants before you post

Send it the five titles you are arguing about and get each one back with a 0-100 score, an A to F grade, a six-part breakdown of where the points came from, the exact words it matched, and concrete suggestions for the parts that scored low. Send a batch and it ranks them best first.

It is a rules engine, not a model. It counts curiosity phrases, emotion words, power words, numbers, questions and "you" or "I" framing, in English. It will not tell you whether your idea is any good, and a high score is not a forecast of views.

InputTitles, hooks or scripts, as text
OutputOne row per text scored
CeilingNo cap on how many texts you send in one run
Account neededNone, and no AI key
Price$3.00 per 1,000 hooks, flat on every plan

🔍 What Hook & Virality Scorer does

The same text always gets the same score. There is no model call, nothing random and nothing that drifts between runs, which is the point: you can rewrite a title, score it again, and the difference in the number is a real difference in the text rather than a different mood on a different day.

Six dimensions make up the score: curiosity, emotion, power words, specificity, relatability and length. breakdown shows what each contributed and signals shows exactly which words and patterns it matched, so a score you disagree with is always traceable to something you can point at.

Length is scored differently for a title and for a script. In auto, anything up to 18 words is treated as a title, and titles do best between about four and eleven words. Scripts do best between 20 and 250 words. Set type yourself if auto guesses wrong for your format.

📥 What you give it

{
"texts": [
"I tried the viral 5am routine for 30 days",
"You won't believe what happened when I confronted my MIL",
"My morning routine"
],
"type": "auto",
"rankResults": true
}
FieldDefaultWhat it is
textsnoneThe titles, hooks or scripts to score. Plain strings, or objects with a title, hook, text or scriptText key. The box starts with three examples in it, which are suggestions and not defaults.
textnoneOne string, as an alternative to the array.
typeautoauto, title or script. This only changes how length is scored.
rankResultstrueSort the output best first and add a rank. Turn it off and rows come back in the order you sent them, with no rank field.

At least one of text or texts has to resolve to a non-empty string. With neither, the run fails rather than returning an empty dataset.

📤 What you get back

A real row:

{
"rank": 1,
"text": "I tried the viral 5am routine for 30 days",
"score": 36,
"grade": "D",
"breakdown": {
"curiosity": 0,
"emotion": 0,
"powerWords": 0,
"specificity": 12,
"relatability": 4,
"length": 8
},
"signals": {
"wordCount": 9,
"isTitle": true,
"hasNumber": true,
"isQuestion": false,
"addressesYou": false,
"firstPersonStory": true,
"powerWords": [],
"curiosityPhrases": [],
"emotionWords": [],
"fillerWords": []
},
"suggestions": [
"Open a curiosity gap...",
"Add an emotional or high-stakes word (shocking, heartbreaking, insane)."
]
}

The first suggestion is cut short here; the real one carries a full rewrite tip.

FieldWhat it is
score0 to 100. Useful for ranking your own variants against each other.
gradeThe score in bands, so you can gate on a letter instead of arguing about two points.
breakdownPoints from each of the six dimensions. A zero tells you which lever has not been pulled at all.
signalsWhat it actually matched: the word count, whether there is a number, whether it is a question, whether it addresses the reader, and the specific power, curiosity, emotion and filler words found. Empty arrays mean it found none.
suggestionsConcrete rewrite tips for whatever scored low. It tells you what is missing. It does not write the new title for you.
rank1 is the best-scoring text in the batch. Absent when ranking is off.

🧾 Reading the output

Every row is a scored text. There are no sample rows and no diagnostic rows in this one, so the dataset is exactly as long as the list you sent.

gradescore
A80 and above
B65 to 79
C50 to 64
D35 to 49
Fbelow 35

The row in the example above scores 36 with a D, and breakdown says why: full marks on specificity because it carries a number and enough words, nothing at all on curiosity, emotion or power words. That is a title stating a fact rather than opening a loop, which is exactly what the two suggestions are pointing at.

Read breakdown and signals together. A dimension at zero with an empty array beside it in signals means it genuinely matched nothing, not that it scored badly.

▶️ How to run it

  1. Open Hook & Virality Scorer and click Try for free.
  2. Replace the examples in Texts / variants with your own, one per entry.
  3. Leave Type on auto unless you are scoring a long script.
  4. Click Start.
  5. Read the ranked rows, or download the dataset as JSON, CSV or Excel.

💰 How much does it cost?

$3.00 per 1,000 hooks, which is $0.003 each. Flat on every Apify plan, no volume tiers.

You pay per text scored. Twenty title variants in one run is six cents. The same text sent twice is scored twice and counted twice, so strip duplicates before a large batch.

💡 What people use it for

  • Settling the five-title argument in thirty seconds, with a number and a reason instead of an opinion.
  • Scoring a back catalogue of your own published titles to see which hooks actually carried the good posts.
  • A pre-publish gate: anything below a C goes back for a rewrite.
  • Measuring a rewrite. Score the old title, score the new one, and the gap is real because the scoring does not move.
  • Checking the first twenty words of a script, which is the part people decide on.

🚧 What it does not do

  • No AI and no model call. Word lists and patterns, nothing more. It cannot judge whether your idea is interesting, only whether the wording carries the signals it looks for.
  • English only. The word lists are English, so a title in another language scores near zero for reasons that have nothing to do with the title.
  • Not a prediction. It ranks your variants against each other. It does not forecast views, and nothing here has been checked against real performance data.
  • No platform context. A hook for TikTok and a hook for a newsletter are scored the same way.
  • Three or more capitals in a row read as shouting. Acronyms like AITA, MIL or NBA cost points and can trigger a "reduce ALL-CAPS" suggestion, which is worth knowing before you take it.
  • It rewards the usual viral vocabulary, so it will happily mark a clickbait title above a careful one. Use it as a first pass, not as an editor.
  • No rewriting. suggestions names what is missing. Writing the better line is still your job.
  • Every text you send is scored, duplicates included.

🧭 Which creator tool do you need?

If you wantUse
To score and rank titles before postingThis one
A long video cut into ranked short clipsAI Viral Clip Cutter
A story turned into a finished faceless shortAI Faceless Video Generator
A video's subtitles as plain textYouTube Transcript Scraper
What people are actually searching forGoogle Trends Scraper

❓ Questions people ask

Do I need an OpenAI key or any other AI key? No. There is no model behind this, so there is nothing to connect and no second bill.

Will a high score make my video go viral? No, and nobody should sell you that. It tells you which of your own drafts carries more of the signals that tend to travel. The idea underneath still has to be worth watching.

Why did my title score badly? Read breakdown for the dimension at zero and signals for what it matched. It is usually curiosity: a title that states the outcome leaves nothing to open.

Does the score change between runs? No. Same text, same score, every time.

Can I score a whole script? Yes. Set type to script, and note that length scores best between 20 and 250 words.

Does it work in French or Spanish? Not usefully. The word lists are English.

🆘 If something breaks

Open the Issues tab on the actor page. Send the text you scored and the run ID. A score you think is wrong is worth reporting too, with the breakdown and signals from that row.