Instagram Reel Script Analyzer: Hook, On-Screen Text & CTA avatar

Instagram Reel Script Analyzer: Hook, On-Screen Text & CTA

Pricing

from $28.00 / 1,000 analyzed reels

Go to Apify Store
Instagram Reel Script Analyzer: Hook, On-Screen Text & CTA

Instagram Reel Script Analyzer: Hook, On-Screen Text & CTA

Any Instagram reel as its script: the words said (with timestamps), the text shown on screen, the hook and its type, the beats with their times, the call to action, format, topics, summary and why it works, plus plays against the creator's median. Reels by link or a creator's latest. No login.

Pricing

from $28.00 / 1,000 analyzed reels

Rating

0.0

(0)

Developer

Zaiq

Zaiq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Instagram Reel Script Analyzer: hooks, on-screen text, beats and CTAs from any reel (no login)

Turn any Instagram reel into its script: the words said (with timestamps), the text shown on screen (read from the video's frames, so silent, music-only reels work too), the hook and its hook type, the beats with the second each starts and ends, the call to action, the format, topics, a summary, takeaways and why it works. Each row also carries the reel's plays, likes and comments.

Give reel links, or creators: their latest reels are analysed and each is compared with the creator's median plays, so the outliers (2x the median or more) stand out. Built for content strategists, social media managers, agencies, creators and AI agents who need the script, not the caption. No login, no cookies, nothing connected to your Instagram.

What you get

FieldWhat it holds
Scripttranscript (word for word), segments (each sentence with its start and end second), hasSpeech, language
On-screen textonScreenText: each text card or overlay with its start and end second, exactly as shown
Hookhook (spoken and on-screen opening, type, endsAtSeconds) and hookType: question, bold_claim, statistic, contrarian, story, how_to, listicle, curiosity_gap, pain_point, social_proof, demonstration, humor, direct_address, trend, visual, other
Structurestructure: beats (hook, context, problem, value, steps, proof, demo, story, twist, payoff, cta) with times and a one-line summary
Call to actioncta (verbatim text and type: follow, comment, save, share, link_in_bio, dm, buy, subscribe, visit, watch_more, none) and ctaType
Strategyformat (talking_head, voiceover_broll, tutorial, listicle, skit, vlog, slideshow, text_on_screen, interview, product_demo, reaction), topics, summary, takeaways, entities, whyItWorks
Performanceplays, likes, comments, and for creators creatorFollowers, creatorMedianPlays, playsVsCreatorMedian, outlier
The reelurl, shortCode, ownerUsername, postedAt, durationSeconds, caption, hashtags, audio, videoUrl, thumbnailUrl

What people use it for

  • Swipe files: the hooks, beats and CTAs of a niche's best reels, side by side
  • Competitor content: what a rival's top reels say and show, and which ones beat their own median
  • Hook research: hook types that win in your niche, counted across hundreds of reels
  • Scripts and briefs: a timed outline to brief a creator or an editor
  • Silent and text reels: recipes, listicles and tips that live on screen, written out
  • Client reporting: what worked, with plays against the creator's normal
  • AI agents: reel analysis inside any workflow, paid per reel

How to use it

  1. Paste reel links, or add creators (a username or profile link) and pick how many of their latest reels.
  2. Pick the language for the analysis (the spoken and on-screen words are always kept as they are).
  3. Click Start, then download the table (JSON, CSV, Excel) or read it through the API.

Input

FieldExampleNotes
Reel linkshttps://www.instagram.com/reel/...One per line; /p/ links work
CreatorsusernameTheir latest reels, compared with their median plays
Latest reels per creator6Up to 50
Write the analysis inEnglishOr the reel's own language, or 17 others
Timed transcriptonEach spoken sentence with its seconds; no extra charge

Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

{
"url": "https://www.instagram.com/reel/DecPSQfoaRe/",
"ownerUsername": "example.creator",
"postedAt": "2026-10-13T16:30:08+00:00",
"durationSeconds": 30.03,
"plays": 821881,
"likes": 20711,
"comments": 101,
"hasSpeech": true,
"language": "en",
"transcript": "Our seas are under pressure. What happens if we don't have any corals anymore? We don't have the fish that rely on them.…",
"segments": [
{
"start": 0.0,
"end": 2.2,
"text": "Our seas are under pressure."
},
{
"start": 2.2,
"end": 4.8,
"text": "What happens if we don't have any corals anymore?"
}
],
"hook": {
"spoken": "Our seas are under pressure.",
"onScreen": "Our seas are under pressure.",
"type": "bold_claim",
"endsAtSeconds": 2.2
},
"hookType": "bold_claim",
"onScreenText": [
{
"start": 0.3,
"end": 2.0,
"text": "Our seas are under pressure."
},
{
"start": 2.2,
"end": 5.0,
"text": "What happens if we don't have any corals anymore?"
},
{
"start": 5.0,
"end": 7.5,
"text": "We don't have the fish that rely on them."
},
{
"start": 7.5,
"end": 9.5,
"text": "If we lose them, we're going to care a lot."
},
{
"start": 27.5,
"end": 30.0,
"text": "… SPECIAL PREMIERE FRIDAY NOV 13 9/8c …"
}
],
"structure": [
{
"beat": "hook",
"start": 0.0,
"end": 2.2,
"summary": "Establishes the crisis facing global oceans with crashing waves."
},
{
"beat": "problem",
"start": 2.2,
"end": 9.5,
"summary": "Explains the critical consequences of losing coral reefs and marine life."
},
{
"beat": "value",
"start": 9.5,
"end": 27.0,
"summary": "Highlights scientific expeditions and conservation efforts across five ocean basins."
},
{
"beat": "cta",
"start": 27.0,
"end": 30.0,
"summary": "Promotes the premiere date and streaming platforms for the documentary special."
}
],
"cta": {
"text": "… SPECIAL PREMIERE FRIDAY NOV 13 9/8c",
"type": "watch_more"
},
"ctaType": "watch_more",
"format": "voiceover_broll",
"topics": [
"ocean conservation",
"marine biology",
"nature documentary",
"coral reefs"
],
"summary": "A documentary promo showcasing scientific teams exploring ocean basins to protect coral reefs and marine ecosystems. It urges viewers to watch the premiere of Expedition: Saving Our Seas.",
"takeaways": [
"Coral reef depletion directly threatens entire marine food webs.",
"Scientists are partnering with coastal communities across five ocean basins.",
"Expedition: Saving Our Seas premieres Friday November 13."
],
"whyItWorks": "It contrasts alarming ecological problems like coral bleaching with breathtaking footage and hopeful action by passionate scientists. The cinematic pacing and urgency build up excitement for the television special premiere.",
"framesRead": 15,
"creatorFollowers": null,
"playsVsCreatorMedian": null,
"outlier": null,
"analysisLanguage": "English"
}

A record named SUMMARY in the run's key-value store says what each link or creator returned, with notes (for example an image post or a private account, which are free) and how many reels were analysed. The example row is from a run on 17 October 2026 (creator name and the closing card shortened): a 30-second reel, 15 frames read, 14 text cards and 13 spoken sentences found; 1 reel was charged.

Pricing

  • $0.035 per analysed reel ($35 per 1,000), with its transcript, on-screen text, hook, beats, CTA, format, topics, summary and plays
  • Reels that could not be analysed, image posts and private or missing accounts are free
  • The AI model that watches the reel (Google's Gemini Flash) is billed by Apify at its exact cost: about $0.013 a reel on paid Apify plans (measured 17 October 2026 on reels of 30 to 73 seconds); Apify charges free-plan accounts 10 times that

What typical jobs cost at the list price:

JobCost
One reel$0.035
A creator's latest 12 reels$0.42
10 creators, 6 reels each$2.10
1,000 reels$35.00

On Apify's Scale and Business plans the per-event prices are lower (Store discounts). Set Maximum cost per run and the Actor stops cleanly when it is reached: you never pay more than that.

Tips

  • Analyse a creator's latest reels to see their outliers: the reels at 2x their median plays or more are the ones to study.
  • Count hookType and format across a niche to see what wins there.
  • Silent reels are read from their frames: onScreenText holds the whole tip, recipe or list.
  • Schedule a weekly run on your competitors to catch their new hits.

Use it through the API

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/instagram-reel-script-analyzer").call(run_input={"profiles": ["username"], "maxReelsPerAccount": 6})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/instagram-reel-script-analyzer').call({"profiles": ["username"], "maxReelsPerAccount": 6});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

HTTP (one call, results back)

curl -X POST 'https://api.apify.com/v2/acts/zaiq~instagram-reel-script-analyzer/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"profiles": ["username"], "maxReelsPerAccount": 6}'

Integrations and schedules

  • Schedules: run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
  • Make, Zapier, n8n, Google Sheets, Slack, Airtable: connect it through Apify's integrations, or send each finished run to a webhook.
  • Datasets: results stay in the run's dataset; export them or read them by API whenever you need them.

Use it with AI agents (MCP)

Add Apify's MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "analyse the latest 10 reels of these three creators and tell me which hooks beat their median". AI agents can also pay for runs directly through Apify's agentic payments.

Limits

  • Public reels only, signed out; private accounts return nothing (and cost nothing).
  • The AI reads one frame every 2 seconds (at most 40 a reel) and the reel's sound: fast cuts between frames can be missed, and times are close but not frame-exact.
  • Plays come from the creator's Reels tab: a link to an old reel may have no play count; the median comparison is made in creator runs.
  • Public data only: you are responsible for how you use it under Instagram's terms and the privacy laws that apply to you.

FAQ

Do I need an Instagram account or cookies?

No. Everything comes from what Instagram shows a signed-out visitor.

Does it work on reels with no speech?

Yes. The text on screen is read from the video's frames, so music-only recipes, listicles and tips get their full script, hook and beats.

How is this different from a transcript?

A transcript is only the words said. This also reads what is shown, finds the hook and its type, splits the reel into beats with times, and pulls out the call to action.

Which languages?

Any spoken or on-screen language is kept as it is; the analysis is written in English by default, or in the reel's own language, or 17 others.

What is an outlier?

A reel with at least twice the creator's median plays among the reels analysed in the same run.

How long can a reel be?

Any length Instagram allows; the frames are sampled across the whole reel.

Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's Issues tab: we answer there, usually within a day.


Also found as: instagram reel script, reel script extractor, instagram reel analyzer, reel hook analysis, instagram on-screen text, instagram video transcript, reel swipe file, instagram competitor analysis, viral reels analysis, instagram reels scraper.