Instagram Account 360 Intelligence — Posts, Reels & Carousels avatar

Instagram Account 360 Intelligence — Posts, Reels & Carousels

Pricing

from $0.18 / account audit

Go to Apify Store
Instagram Account 360 Intelligence — Posts, Reels & Carousels

Instagram Account 360 Intelligence — Posts, Reels & Carousels

Read any public Instagram account over 7 to 90 days or its entire history. Returns every post, reel and carousel with full metadata, AI reel transcripts, on-image text from every carousel slide, top-level comments with reply counts, engagement analytics, and agent-ready soul.md and design.md briefs.

Pricing

from $0.18 / account audit

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Instagram Scraper — Posts, Reels, Comments & AI Transcripts 🚀

Store Store Store Store

🎉 Reads the text burned into every image — the hook Instagram publishes nowhere as text

Built for marketers, agencies and content strategists who need a whole account, not one post


🔎 What is the Instagram Account Scraper — and when should you use it?

The Instagram Account Scraper turns a public Instagram handle into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. Point it at an account, pick a window from 7 days to the entire account, and every reel, feed post and carousel published in that span comes back in one dataset. No login, no browser automation to maintain.

Use it when you need: every post in a date range with captions, likes, comments, plays, hashtags, mentions, music, location and carousel slide counts. You also get reel transcripts, plus the verbatim on-image text and a one-line visual description for every image — each carousel slide, every single-image post and every reel cover — engagement rates benchmarked per format, best posting days and hours, and a written strategy rundown.

Use something else when: you already have the specific post URLs you care about and only want them transcribed. Use Instagram AI Transcript Extractor for that — it takes URLs, this takes an account.


🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/instagram-account-360-intelligence

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want a full content audit of an Instagram account using the Apify Actor `sian.agency/instagram-account-360-intelligence`.
Use it when I need: every reel, feed post and carousel an account published in a chosen window (7, 14, 30, 60, 90 days, or the entire account), with engagement metrics, reel transcripts, the on-image text and a visual description of every image (carousel slides, single-image posts and reel covers), and a strategy read of the whole account.
Don't use it when: I already have specific post URLs and just want them transcribed — use `sian.agency/instagram-ai-transcript-extractor` instead.
How to call it: give it `username` (a profile URL, a handle, or @handle — all accepted) and `windowDays` (7, 14, 30, 60, 90, or `all` for the entire account). Set `timeZone` to my audience's timezone so the best-day and best-hour analysis is meaningful. Toggle `includeImageText`, `includeTranscripts` and `includeRundown` to control depth.
Start with this input:
{
"username": "nasa",
"windowDays": "30",
"timeZone": "America/New_York",
"includeImageText": true,
"includeTranscripts": true,
"includeRundown": true
}
Ask me which account and which window, then run the Actor and summarise the results as a table sorted by engagement rate.

Things you can ask your agent for:

  • "Audit my top three competitors over the last 90 days and tell me which formats and hooks are working for each."
  • "Pull every carousel this account posted in 60 days, read all the slides, and show me how they structure a hook."
  • "Find this account's best posting day and hour in my timezone, and list the five posts that beat their format's median by the widest margin."

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/instagram-account-360-intelligence.md.


📋 Overview

You give it a handle. It gives you the account. Every post in your window, what each one said on screen and out loud, and a read of what is working.

What you get:

  • Every format in one run: reels, single images and carousels come back together, from one input
  • 👁️ On-image text from every slide: the hook, the payoff and the CTA of a carousel, extracted in slide order
  • 🎙️ Reel transcripts included: spoken audio with timestamped segments plus ready-to-use SRT and WebVTT
  • 🎯 Engagement judged fairly: each post is scored against the median of its own format, so a strong image is not buried by a viral reel
  • 💰 One input, whole account: a handle and a window, instead of a list of post URLs you had to collect first
  • 💎 A written rundown: content pillars, working hooks, posting patterns and recommendations, with the evidence cited

✨ Features

  • 📅 7 / 14 / 30 / 60 / 90-day windows, or the whole account: pick the span, get everything published inside it
  • 🧲 All three formats: reels, feed images and carousels in a single dataset
  • 👁️ Carousel OCR: every slide read in order, each paired with its own image URL
  • 🎙️ AI reel transcripts: text, timestamped segments, word-level timings, SRT and WebVTT
  • 📈 Per-format benchmarking: engagement rate, ratio against the format median, and percentile rank
  • Timezone-aware timing: best days and hours calculated in the timezone you name
  • #️⃣ Hashtag performance: which tags you actually repeat, and how they perform
  • 📌 Pinned-post detection: see what the account chooses to show first
  • 🧬 soul.md: the whole account reverse-engineered into a brief another agent can rebuild from
  • 🎨 design.md: the visual system as swappable JSON tokens — keep the structure, change the brand
  • 💬 Comments: top-level comments with author, likes and reply counts
  • 🌍 Whole-account mode: ignore dates and page back to the first post
  • 📄 HTML report: a shareable summary written even when a run fails, with one-click copy for each brief
  • 🧾 50 fields per post: captions, music, location, dimensions, owner and audio IDs and more

🎬 Quick Start

Give it a handle and a window. It resolves the account, pages the feed until it crosses your cutoff, reads the media, and writes a dataset plus a report.

curl -X POST https://api.apify.com/v2/acts/sian.agency~instagram-account-360-intelligence/runs?token=YOUR_TOKEN \
-d '{"username": "nasa", "windowDays": "30"}'

🚀 Getting Started (3 Simple Steps)

Step 1: Enter the account

Paste the profile URL straight from your browser, or type the handle. https://www.instagram.com/nasa/, nasa and @nasa all work.

Step 2: Pick your window

7, 14, 30, 60 or 90 days — or the entire account. Set your audience's timezone so posting-time advice means something.

Step 3: Run it

Open the dataset for the rows, or the HTML report for the read.

That's it! In a few minutes, you'll have:

  • Every post the account published in your window
  • What each one said, on screen and out loud
  • Which formats, hooks, days and hashtags are actually working

📥 Input Configuration

FieldTypeRequiredDescription
usernamestringYesPublic Instagram account — profile URL, handle, or @handle
windowDaysstringNo7, 14, 30, 60, 90, or all for the entire account. Defaults to 30
timeZonestringNoIANA timezone for posting-time analysis. Defaults to UTC
includeImageTextbooleanNoRead on-image text from every slide. Defaults to true
includeTranscriptsbooleanNoTranscribe reel audio (PAID only). Defaults to true
includeRundownbooleanNoWrite the strategy rundown. Defaults to true
includeSoulbooleanNoBuild soul.md, the account rebuild brief. Defaults to false
includeDesignSystembooleanNoBuild design.md, the visual system. Defaults to false
includeCommentsbooleanNoCollect top-level comments. Defaults to false
maxCommentsPerPostintegerNoComments per post, max 200 (free runs: 5). Defaults to 30
maxPostsintegerNoCap on posts collected. 0 means the whole window. Free runs: 3 newest

The four bold options each carry their own charge, so they are off by default — you opt into a cost, you never discover it afterwards.

Example:

{
"username": "nasa",
"windowDays": "90",
"timeZone": "Europe/Berlin"
}

Metadata-only (fastest, cheapest):

{
"username": "nasa",
"windowDays": "30",
"includeImageText": false,
"includeTranscripts": false,
"includeRundown": false
}

Clone-the-account kit (both briefs + comments):

{
"username": "nasa",
"windowDays": "90",
"includeSoul": true,
"includeDesignSystem": true,
"includeComments": true,
"maxCommentsPerPost": 30
}

Whole account, ever:

{
"username": "nasa",
"windowDays": "all"
}

Capped at 1000 posts. Above 300 posts the on-image text and transcript passes switch themselves off to protect your bill — set either to true explicitly to run it anyway.


🧬 soul.md — hand your account to an agent

Turn includeSoul on and the run writes soul.md: the account reverse-engineered into a brief another AI agent can build from. Paste it whole into Claude, ChatGPT or your own agent and it has everything it needs to run a comparable account.

What's in it: positioning and audience · exact posting cadence and the gaps to hold · format mix, and the gap between what the account posts and what actually performs · reel length in seconds, with the winners called out separately from the median · carousel slide counts · caption length and formula · content pillars read off the outlier posts, not the average one · the hook patterns that earn the stop, with real examples · voice, with do and don't lists · a seeded first-30-days calendar · anti-patterns · what to measure.

Every number in it is measured, not written by a model. The model is asked only for judgement and is instructed never to write a figure; the cadence, lengths and percentages are computed from your posts and injected by the actor. If the run collected only part of the window, the file says so at the top rather than letting you trust a cadence figure built on a partial sample.

🎨 design.md — replicate the look, keep your brand

Turn includeDesignSystem on and the run analyses the best-performing frames and writes design.md: the account's visual system as structured JSON tokens.

{
"palette": { "background": "#000000", "accent": "#C8803C", "...": "..." },
"typography": { "headline_style": "sans serif", "headline_case": "all caps" },
"layout": { "structure": "Full-bleed photo is the dominant layout." },
"brand": { "overrides": ["imagery", "dominant colors", "graphic devices"] },
"structuralInvariants": ["contrast strategy", "slide arc", "text hierarchy"]
}

It separates what is brand-specific (colours, subjects, logos — swap these) from what is structural (hierarchy, contrast, the carousel arc — keep these). Point an image-generation agent at it, replace the brand.overrides keys with your own, and you get the structure that works without copying the content.

What it looks at, and what it doesn't. Two passes: one cover frame from each of your top posts, which is where the palette, type and layout come from; plus the full slide run of your two strongest carousels, in order, which is where the carousel arc comes from. An arc is a property of a sequence, so it is only reported when a complete sequence was actually read — if the window holds no multi-slide carousel, the file says no arc is claimed rather than inventing a generic one. Reels contribute their cover frame only: Instagram's data service exposes no video frames, so nothing in the file describes a reel's motion, pacing or in-video text, and the file says so. The report lists exactly how much of each post was read.

Both files appear in the HTML report inside a code panel with a one-click "Copy all" button, and are saved to the key-value store as soul.md and design.md.


📤 Output

One row per post, 50 fields each, plus an HTML report and a JSON summary.

FieldTypeDescription
urlstringPost permalink
postFormatstringreel, carousel or image
timestampstringISO 8601 publish time
captionstringFull caption text
displayUrlstringThe post's cover image — shown as a thumbnail in the dataset view
imagesarrayOne entry per image: index, imageUrl, onImageText, visual. A carousel gives one per slide, in order
onImageTextstringEvery image's text joined in order — the searchable roll-up of images[]
transcriptstringReel speech, with segments, words, srtSubtitles, vttSubtitles
engagementRatenumber(likes + comments) ÷ followers × 100
performanceRationumberThis post ÷ the median for its own format
percentileInFormatintegerRank against same-format posts, 0-100
likesCountintegerLikes
commentsCountintegerComments
videoPlayCountintegerReel plays
hashtagsstringHashtags found in the caption
isPinnedbooleanWhether the account pins this post
musicSongstringTrack title where present
commentsarrayTop-level comments: text, username, likeCount, replyCount, createdAt, isPinned
commentsCollectedintegerHow many comments this run collected for the post
repliesReportedintegerTotal replies those comments drew (counts only — see below)

Example:

{
"url": "https://www.instagram.com/p/DbrRMHCDs4H",
"postFormat": "carousel",
"timestamp": "2026-08-05T14:02:11.000Z",
"caption": "So much confusion this summer ☀️",
"slideCount": 4,
"displayUrl": "https://scontent.cdninstagram.com/v/t51.../cover.jpg",
"onImageText": "SH*T THAT DOESN'T MATTER\nother people's opinions\nComparing yourself to other people",
"images": [
{
"index": 0,
"imageUrl": "https://scontent.cdninstagram.com/v/t51.../slide1.jpg",
"onImageText": "SH*T THAT DOESN'T MATTER",
"visual": "White background, two columns of black handwritten text"
}
],
"engagementRate": 0.126,
"performanceRatio": 1.22,
"percentileInFormat": 75,
"likesCount": 14727,
"commentsCount": 156,
"isPinned": false
}

💼 Use Cases & Examples

1. Competitor teardown

An agency strategist needs to know why a rival's account is outgrowing theirs.

Input: the rival's handle, 90 days Output: every post, scored within its format, plus the written rundown Use: a client-ready audit from a single run

A content creator wants to copy the structure, not the content, of carousels that work.

Input: a handle known for carousels, includeImageText on Output: slide-by-slide text in order across every carousel Use: see how the best accounts open, build and close a swipe

3. Posting-schedule decisions

A social media manager is guessing at posting times.

Input: their own handle, 90 days, their audience's timezone Output: engagement by day and by hour, plus cadence and gap analysis Use: move the calendar to the slots that actually earn engagement

4. Content pillar audit

A brand marketer suspects half their output is wasted effort.

Input: the brand handle, 60 days Output: pillars named and scored, with the weakest posts listed Use: cut the themes that never land, double down on the ones that do

5. Influencer vetting

A partnerships lead is comparing three creators before signing one.

Input: each handle, 30 days Output: engagement rate normalised by follower count, consistency, and per-format breakdown Use: compare creators of different sizes on the same footing

6. Script and caption mining

A copywriter needs a corpus of what actually gets said.

Input: any handle, transcripts on Output: reel transcripts plus captions plus on-image text Use: feed a language model the account's real voice, not a paraphrase

7. Launch a new account modelled on a proven one

A founder is starting from zero and wants a system, not a guess.

Input: a strong account in the niche, 90 days, includeSoul and includeDesignSystem on Output: soul.md and design.md Use: hand both to a content agent — one supplies the cadence, pillars and hooks, the other the look — then swap in your own brand

8. Audience research from the replies

A product marketer wants the questions buyers actually ask.

Input: the brand handle, includeComments on Output: top-level comments per post, plus how many replies each one drew Use: mine objections and requests in the audience's own words, and see which posts started a real conversation


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/instagram-account-360-intelligence').call({
username: 'nasa',
windowDays: '30'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/instagram-account-360-intelligence').call(
run_input={'username': 'nasa', 'windowDays': '30'}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['url'], item['engagementRate'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~instagram-account-360-intelligence/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"username": "nasa", "windowDays": "30"}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: weekly schedule
  2. HTTP Request: run the Actor for each competitor handle
  3. Process: filter rows where performanceRatio is above 1.5
  4. Action: post the winners to Slack, or append to a content-ideas sheet

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 3 posts per run — the newest posts of your window, full metadata and on-image text
  • Comments capped at 5 per post; reel transcription is a paid feature
  • No credit card required — enough to see the exact output shape before a full audit
  • Unlimited posts per run across the full 90-day window
  • Every reel transcribed; every image read for its on-image text and a visual description
  • Charged per successful result, never for errors — unreadable images cost nothing
  • A transcribed reel's cover image is read free of charge, never billed twice

💰 You control the depth. Turn transcripts and image reading off for a fast metadata sweep, or leave everything on for the full audit.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many posts can I process? A: FREE tier: the 3 newest posts of your window. PAID tier: every post in the window, up to 1000 in whole-account mode.

Q: Does it work with private accounts? A: No. Only public accounts can be read, and the run tells you plainly if a handle is private.

Q: Can I get reach, impressions or saves? A: No, and no tool can for an account you do not own. Instagram publishes those only to the account holder. You get likes, comments, plays and everything else that is public.

Q: Do I get comment replies? A: You get every top-level comment with its full text, and for each one the number of replies it drew. You do not get the reply text — Instagram's data service does not expose it, so rather than quietly returning empty threads the actor reports the counts and says so. repliesReported is still a good signal for which posts started an actual conversation.

Q: How many comments can I get per post? A: Up to 200, default 30. Popular posts carry tens of thousands — one account we tested had a post with over 11,000 — so the cap keeps runs fast and bills predictable.

Q: What is soul.md and what do I do with it? A: It is your account reverse-engineered into a brief another AI agent can build from — cadence, formats, reel lengths, pillars, hooks and voice, with a seeded 30-day calendar. Copy it out of the report with one click and paste it into any agent. Every number in it is measured from your posts, not written by a model.

Q: Will design.md just clone someone else's brand? A: No, and that is the point of its structure. It separates the brand-specific keys (colours, subjects, logos) from the structural ones (hierarchy, contrast, slide arc). You swap the first set for your own and keep the second, so you inherit the system that works rather than the content that belongs to someone else.

Q: What happens if I scrape a whole account with thousands of posts? A: The run is capped at 1000 posts. Above 300 posts the on-image text and transcript passes switch off automatically, because a full visual pass on an account that size is a very large bill. Set includeImageText or includeTranscripts to true explicitly and the actor takes you at your word. Whatever was skipped is reported.

Q: What output formats are available? A: JSON, CSV and Excel from the dataset, plus an HTML report and a JSON summary in the key-value store.

Q: Does it read every slide of a carousel? A: Yes, in order. If an image budget is reached, whole posts are skipped rather than half-read, and the report says what was left out.

Q: What if the account posted nothing in my window? A: The run succeeds and says so. It does not invent a result.

Q: How long does it take? A: A 30-day window on a busy account is typically a few minutes. Transcripts and image reading are the slow parts — turn them off for a fast sweep.


🐛 Troubleshooting

"Account was not found"

  • Check the spelling. A profile URL, nasa and @nasa are all accepted; a post or reel link is not, because this Actor reads a whole account rather than one post.

"This is a private account"

  • Private accounts are not readable. There is no setting that changes this.

Fewer posts than expected

  • On the FREE tier runs return the 3 newest posts, and reel transcription is paid-only. Check maxPosts too — 0 means the whole window.

Some images have no text

  • Plenty of posts genuinely carry no on-image copy. Photos without overlaid text return an empty string and a visual description.

Posting-time advice looks wrong

  • Set timeZone to your audience's zone. It defaults to UTC, which is rarely what you want.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools