Instagram Reel Script Analyzer: Hook, On-Screen Text & CTA
Pricing
from $28.00 / 1,000 analyzed reels
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
Maintained by CommunityActor 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
| Field | What it holds |
|---|---|
| Script | transcript (word for word), segments (each sentence with its start and end second), hasSpeech, language |
| On-screen text | onScreenText: each text card or overlay with its start and end second, exactly as shown |
| Hook | hook (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 |
| Structure | structure: beats (hook, context, problem, value, steps, proof, demo, story, twist, payoff, cta) with times and a one-line summary |
| Call to action | cta (verbatim text and type: follow, comment, save, share, link_in_bio, dm, buy, subscribe, visit, watch_more, none) and ctaType |
| Strategy | format (talking_head, voiceover_broll, tutorial, listicle, skit, vlog, slideshow, text_on_screen, interview, product_demo, reaction), topics, summary, takeaways, entities, whyItWorks |
| Performance | plays, likes, comments, and for creators creatorFollowers, creatorMedianPlays, playsVsCreatorMedian, outlier |
| The reel | url, 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
- Paste reel links, or add creators (a username or profile link) and pick how many of their latest reels.
- Pick the language for the analysis (the spoken and on-screen words are always kept as they are).
- Click Start, then download the table (JSON, CSV, Excel) or read it through the API.
Input
| Field | Example | Notes |
|---|---|---|
| Reel links | https://www.instagram.com/reel/... | One per line; /p/ links work |
| Creators | username | Their latest reels, compared with their median plays |
| Latest reels per creator | 6 | Up to 50 |
| Write the analysis in | English | Or the reel's own language, or 17 others |
| Timed transcript | on | Each 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:
| Job | Cost |
|---|---|
| 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
hookTypeandformatacross a niche to see what wins there. - Silent reels are read from their frames:
onScreenTextholds 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 ApifyClientclient = 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.
Related Actors from Zaiq
- instagram-transcript-scraper: what is said in Instagram reels, cheaper, without the analysis
- tiktok-transcript-scraper: what is said in TikTok videos
- douyin-transcripts-scraper: Douyin video to text, with SRT and English
- facebook-ads-library-scraper: every ad in Meta's Ad Library for a keyword or advertiser
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.