The Instagram Reels skip rate API is the per-Reel analytics field reelsSkipRate, the share of views that swiped away in the first 3 seconds. Creator OS returns it with igReelsAvgWatchTime and total watch time from GET /v1/analytics/posts or the MCP tool get_post_analytics. Meta reports these fields for Reels only.
Reel published
|
v
GET /v1/analytics/posts (or MCP get_post_analytics)
|
+-- reelsSkipRate .................. % gone in 3s
+-- igReelsAvgWatchTime ........... ms per view
+-- igReelsVideoViewTotalTime ..... ms across views
|
v
Agent reads the hook, picks the next
angle, rewrites the first 3 seconds
|
v
Next ReelWhat Is Instagram Reels Skip Rate?
Skip rate is the percentage of Reel views that end in a swipe within the first 3 seconds, and it is the closest thing Instagram gives you to a hook score.
Meta reports it as reelsSkipRate, and Meta reports the Reels watch fields only for Reels. So read skip rate as a Reels metric and nothing else. You cannot compare it to a photo post, and you should not try.
Read it as a single question: did the first frame and the first spoken line hold people long enough to see the rest?
- A low skip rate means viewers stayed past the hook. The rest of the Reel now has a chance to work.
- A high skip rate means the hook lost them. Watch time and saves further down the Reel tell you little, because most people never got there.
Creator OS stores these numbers per post and returns them alongside the usual per-post analytics, so a single call gives you the hook metric and the outcomes it produced.
How to Get Instagram Reels Skip Rate With an API
Create a Creator OS API key pinned to one workspace, then read the post analytics endpoint for the Reels you published; the same data is available to an AI app through the hosted MCP server.
There are three routes, and they all read the same numbers.
| Route | How you read it | Who it suits |
|---|---|---|
| REST API | GET /v1/analytics/posts with your cos_live_ key | Developers wiring dashboards or scheduled jobs |
| MCP server | Tool get_post_analytics over the hosted server | Claude, ChatGPT, Cursor and other MCP apps |
| CLI | creatoros analytics:posts | Local scripts and quick checks |
A key belongs to one workspace, which is one set of socials. An agent holding that key cannot read or post to another workspace. Read-only keys can be created in Settings, and read-only MCP connections only see read tools.
creatoros analytics:posts --platform instagram \
--from 2026-02-01 --to 2026-02-28 --sortBy engagement --limit 20
Authentication details and the exact request and response shapes live in the Creator OS docs. Start with the posts analytics reference and the MCP page rather than guessing at fields.
What igReelsAvgWatchTime and Total Watch Time Tell You
Average watch time tells you how long a view lasted, and total watch time tells you how much attention the Reel collected in aggregate; both are in milliseconds and Meta reports them for Reels.
| Field | Unit | Question it answers |
|---|---|---|
| reelsSkipRate | Percent of views | Did the first 3 seconds hold them? |
| igReelsAvgWatchTime | Milliseconds | Once they stayed, how long did they watch? |
| igReelsVideoViewTotalTime | Milliseconds | How much total watch time did the Reel earn? |
Use them as a pair, never alone. A Reel with a gentle skip rate and a short average watch time has a hook that works and a middle that sags: the fix is in the pacing, not the opening frame. A Reel with a rough skip rate and a long average watch time among the people who stayed may have a narrow, loyal audience and a mismatch in the opening second.
Total watch time moves with reach, so a breakout Reel can have a big total and an ordinary average. Convert to seconds before you reason about it, since the API reports milliseconds.
Where to Pull Per-Reel Metrics: /v1/analytics/posts and MCP get_post_analytics
Pull per-Reel metrics from GET /v1/analytics/posts for a date range, or call the MCP tool get_post_analytics for one post, and keep the Reel’s own post id so the numbers stay attached to the creative that produced them.
- Publish the Reel through Creator OS, so you get a post_ id back.
- Wait for Meta to report, then call the analytics endpoint for the date range covering the Reel.
- Match each row to its post id and store the skip rate, average watch time and total watch time together.
- Compare across Reels with the same format, length and topic, so the hook is the variable.
Post ids are opaque typed tokens, so treat them as strings and never parse them. If you also want follower movement and daily account trends next to the per-Reel numbers, get_daily_metrics and get_follower_stats sit in the same tool set, and the CLI equivalents are creatoros analytics:daily and creatoros accounts:follower-stats. Best time to post is a separate read: see using your own data to find the best time to post on Instagram.
How to Judge a Hook With Skip Rate and Average Watch Time
Judge a hook by sorting Reels into four buckets on skip rate and average watch time, then changing exactly one thing in the next Reel that targets the weak bucket.
| Skip rate | Average watch time | Reading | Next move |
|---|---|---|---|
| Low | Long | Hook and body both work | Repeat the structure, change the topic |
| Low | Short | Hook works, middle sags | Tighten the middle, cut a beat |
| High | Long among stayers | Hook misfires for cold viewers | Sharpen the first frame and first line |
| High | Short | Nothing is landing | Change the angle, not the edit |
Two practical rules keep this honest.
- Compare like with like. A 12 second Reel and a 60 second Reel have different average watch times by design, so group by length band before you read anything into a number.
- Change one variable per test. If you rewrite the hook, the caption and the cover at once, the next data point tells you nothing about which one moved.
The API hands you the numbers. The judgement about what counts as good for your account is yours, built from your own history rather than a universal benchmark.
Can an AI Agent Rewrite Hooks From Skip Rate Data?
Yes, and this is the workflow the numbers exist for: an agent reads the per-Reel metrics after publishing, decides what to change about the hook, and drafts the next Reel, while Creator OS supplies the posting and the data.
A concrete loop, run as a Claude Code skill or a scheduled automation:
- The agent calls get_post_analytics for every Reel from the last 14 days.
- It sorts by reelsSkipRate, highest first, and takes the three worst.
- For each, it reads the caption and the transcript of the first 3 seconds, then names the likely cause: slow first frame, no spoken hook, an overlong intro, a mismatch between caption and visual.
- It drafts three new opening lines per Reel and checks caption length with check_caption_length.
- You approve, and it schedules with create_post or creatoros posts:create.
Creator OS does not decide what to change; that logic lives in your prompt or your skill. What it does is put about 160 tools behind one connection, covering posts, analytics, comments, DMs, automations, webhooks and more, so the agent never has to leave the session to fetch a number. Destructive tools such as delete post and delete comment are marked so the AI app asks you first.
The Claude Code plugin adds a publish guard that asks Proceed or Cancel before anything is published, spent or deleted. Kevin walks through builds like this on the KevBuildsApps YouTube channel, and the launch video at youtube.com/watch?v=-QBJH_PK3pY shows the shape of it.
Instagram Reels MCP vs Graph API: Which Do You Use?
Use the Instagram Graph API when you are building your own integration from scratch and want raw Meta fields; use the Creator OS MCP server when you want an AI app to read Reels metrics and act on them without you writing the integration.
The Graph API is the underlying source Meta exposes. Working with it directly means handling app review, tokens, permission scopes and the shape of each response yourself, and it gives you the raw fields including the Reels watch metrics.
Creator OS wraps that work behind one authenticated connection. Set up the hosted MCP server at https://mcp.creatoros.ca/mcp in Claude through Settings, Connectors, Add custom connector, paste the URL, sign in and pick the workspace. The same URL works as a connector in ChatGPT in developer mode, and in Claude Code with:
claude mcp add --transport http creatoros \
https://mcp.creatoros.ca/mcp \
--header "Authorization: Bearer cos_live_..."
| Need | Graph API directly | Creator OS MCP |
|---|---|---|
| Raw Meta field names | Yes | Mapped to named tools and fields |
| An AI app reading Reels metrics | You build the bridge | Connect a URL, sign in |
| Acting on the data in the same session | Separate work | Posting, replies, automations in one tool set |
| Scope control | Token scopes | Read only or read and write per connection |
If you want to compare approaches in more depth, the Graph API alternative guide for developers covers the trade offs, and the MCP docs list every tool.
Frequently Asked Questions
Does the Instagram API return reels skip rate?
Yes, Meta reports it for Reels only, as the share of views that swiped away in the first 3 seconds. Creator OS returns it as reelsSkipRate from GET /v1/analytics/posts and the MCP tool get_post_analytics. Read it as a Reels field, not a number you can carry over to other post types.
What is a good skip rate for Instagram Reels?
There is no universal threshold, and any single number you read elsewhere will not match your audience. The useful benchmark is your own median skip rate across Reels of similar length and topic. Compare a new Reel to that median, not to a figure from someone else’s account.
How do I get average watch time per Reel with an API?
Read igReelsAvgWatchTime from GET /v1/analytics/posts or from get_post_analytics for a single post. The value is in milliseconds, so divide by 1000 before you reason about seconds. Pair it with igReelsVideoViewTotalTime to see aggregate attention on the same Reel.
Can I read Reels analytics through an MCP server?
Yes. The hosted server at https://mcp.creatoros.ca/mcp exposes get_post_analytics, get_daily_metrics and get_best_time_to_post among about 160 tools. Add the URL as a connector in Claude or ChatGPT, or register it in Claude Code, Cursor, Windsurf or VS Code with an Authorization header. Read-only connections cannot write.
What is the difference between skip rate and watch time?
Skip rate measures the first 3 seconds: how many viewers left before the Reel got going. Watch time measures what happened after that, in milliseconds per view and in total. Read them together, because a hook that holds people says nothing about whether the body of the Reel keeps them.
Get started
Connect Instagram, publish a Reel, and pull the numbers back a day later. That is the whole loop, and it beats guessing at what the first 3 seconds did. Create an account at https://www.creatoros.ca/sign-up.
Creator OS plans start at $14.99/month for 11 platforms plus Skool, with the API, the MCP server and the CLI included. The Agency plans add separate client workspaces with a scoped API key each, and the Ads add-on is $19.99/month on any plan. If you would rather try the whole thing for nothing first, the free trial covers it and you can cancel anytime.
For the wider publishing flow, see the Facebook Reels API walkthrough and how collab posts work across accounts. When you are ready to let an agent run the loop, start with the agents docs.
Get started for $0
Free trial for new subscribers. Cancel anytime.