Instagram Scraper API — Posts, Comments, Reels, No Login avatar

Instagram Scraper API — Posts, Comments, Reels, No Login

Pricing

from $1.10 / 1,000 results

Go to Apify Store
Instagram Scraper API — Posts, Comments, Reels, No Login

Instagram Scraper API — Posts, Comments, Reels, No Login

Scrape Instagram with no login: posts, reels, profiles, hashtags, locations, audio. Plus all public comments (up to ~4,800/post), reel transcripts at $0.004/min, AI summaries, bio emails and Trends. Works in Claude, Cursor and AI agents via MCP. $1.90 per 1,000.

Pricing

from $1.10 / 1,000 results

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

29

Total users

17

Monthly active users

7.8 days

Issues response

a day ago

Last modified

Share

Instagram Scraper — No Login · All Comments, Transcripts, Trends & Creator Reports

Scrape public Instagram posts, reels, comments, profiles, hashtags, locations and audio with no login and no cookies. On top of the usual data (likes, plays, captions, media, owners with follower counts, co-authors, tagged users, sponsors, music, locations) you can get every public comment on a post, speech-to-text transcripts for $0.004 a minute, Instagram's own Trends list and a Creator Report Card for influencer vetting.

Why this one

  • 🔑 No Instagram login, no cookies, no account at risk. Paste URLs and run.
  • 💬 All comments, not the first page. Comments mode pages to the end of the thread, sorts by likes if you want, and filters by likes, keywords and date before billing.
  • 🗣️ Transcripts at $0.004 per minute of audio, in any language. Reels set to a licensed song are skipped free.
  • 📈 Things other Instagram scrapers don't sell: Instagram Trends (about 400 trending keywords and rising profiles, with post counts), a Creator Report Card (median reel plays, engagement by views, posting cadence, brand partners, price band, comment-pod signals), and monitor mode that returns only what's new.
  • 💰 $1.90 per 1,000 results, with volume discounts by Apify plan down to $1.10. Comments, AI summaries and view counts are included. Rows your filters drop are free, and a per-input run report tells you exactly what happened to each URL.

How it compares

This actorApify Instagram ScraperApify Instagram Comments Scraperapidojo Instagram Scraper
Price per 1,000 results$1.90 Free · $1.90 Bronze · $1.50 Silver · $1.10 Gold$2.70 Free · $2.30 Bronze · $1.90 Silver · $1.50 Gold$2.60 Free · $2.30 Bronze · $2.10 Silver · $1.90 Goldabout $0.50
Comments per postAll public commentsOne page (~15) on the Free planPublic commentsSeparate actor
Sort comments by likes; filter by likes, keyword, dateYes, before billingNoNoNo
Video transcripts$0.004 per minute$0.034–0.048 per started minute of each reel (Instagram Reel Scraper add-on, Silver–Free plans)——
Instagram's AI title & summary per postIncluded———
Instagram Trends (trending keywords, rising profiles)Yes———
Creator Report Card (influencer vetting)Yes, opt-in (free for now, then $0.01 per report)———
Only new posts on scheduled runsMonitor mode———
Input formatapidojo-style (startUrls, keywords, until, maxItems)Own formatOwn formatapidojo

Competitor prices are their public Store prices as of September 2026, per 1,000 results except for transcripts. Free, Bronze, Silver and Gold are Apify's discount tiers for the Free, Starter, Scale and Business plans. A 30-second reel's transcript costs $0.004 here and $0.048 with the Instagram Reel Scraper on the Free plan ($0.034 on Silver). apidojo is cheaper per plain post row; this actor includes comments, owner follower counts, AI summaries and view counts in the same price and adds the features in bold.

What you can scrape

InputExampleWhat you get
👤 Profilehttps://www.instagram.com/nasa/ or nasaThe profile's posts, newest first, as deep as the profile goes
🎬 Reels tabhttps://www.instagram.com/nasa/reels/The profile's reels, with play counts
#️⃣ Hashtaghttps://www.instagram.com/explore/tags/travel/ or #travelTop posts for the hashtag
🔍 Keywordkeywords: ["toronto"] or /explore/search/keyword/?q=torontoTop posts for the keyword
📍 Locationhttps://www.instagram.com/explore/locations/213131048/Top and most recent posts at the place
🎵 Audiohttps://www.instagram.com/reels/audio/271328201351336/Reels using that sound
🖼️ Post or reelhttps://www.instagram.com/p/DRvit9Ejgel/ or a /share/ linkThat post, or all its comments
📈 Trendshttps://www.instagram.com/popular/Instagram's ranked trending keywords and rising profiles
🔢 User ID528817151That profile's posts

Three result types (resultsType)

  • posts (default): posts and reels, one row each.
  • details: one row per source:
    • Profiles: bio, all bio links, followers and following, highlights, category (e.g. "Bakery"), account type (personal, business or creator), Threads username, HD profile picture, emails and phones found in the bio, story activity, Meta Verified status, optionally up to 50 related accounts and the Creator Report Card.
    • Hashtags and keywords: Instagram's topic description with sources, plus up to 100 related keywords.
    • Locations: category, coordinates, address, price range, opening status, the place's Instagram account and its post count.
  • comments: one row per comment (text, author, likes, date), from post URLs or from every post a profile, hashtag or location returns.

💬 All comments, sorted and filtered

Instagram shows every public comment to logged-out visitors; this actor keeps paging until the thread ends, up to about 4,800 comments per post (tested: all 617 of 617 comments on one reel). Set What to scrape to Comments and paste post URLs, profiles, hashtags or locations.

OptionDoes
maxCommentsComments to save per post (with filters: matching comments)
commentsSortnewest (default) or top — most-liked first, picked from up to commentsScanLimit comments per post (default 2,000, up to ~4,800)
minCommentLikesOnly comments with at least this many likes
commentKeywordsOnly comments containing any of these words (case-insensitive) — questions, complaints, product names
commentsNewerThanOnly comments newer than a date or period (2 days); paging stops at the first older one

You pay only for comments saved; comments your filters skip cost nothing. The same filters apply to commentsPerPost (latest comments attached to posts) when you set them. Replies to comments are only visible to logged-in accounts, so neither the replies nor their counts are included (replyCount is always null). Expect fewer rows than the post's commentCount: Instagram's count includes those replies, plus hidden and deleted comments. For example, one reel showing 672 comments has 523 public top-level comments.

Paste https://www.instagram.com/popular/ into Instagram URLs to get Instagram's own Trends page: about 400 ranked entries in 8 sections — Trending now, Trending this month, Entertainment, Celebrities (rising profiles with follower counts), Browse categories, Get inspired, Learn something new and Shop the trends. Each row has the section, rank, keyword, the number of posts Instagram counts for it, a thumbnail, a featured reel and, for profiles, the account with its follower count.

  • trendSections: keep only some sections (default: all).
  • trendPostsPerKeyword: also scrape up to N top posts for every trending keyword. Those posts carry source: { type: "trend", keyword, section }.
  • Every trending keyword is a public Instagram page, so it is also a keyword that works in keywords.

The list is global — Instagram shows the same Trends to every country. A full snapshot is about 400 rows ($0.76). Scheduled daily with monitor mode, each trend row gains changes (isNew, previousRank, rankChange, postCountDelta), which turns it into a time series.

📊 Creator Report Card

Turn on includeCreatorReport with Details mode (or with includeDetails in Posts mode) and every profile row gets a creatorReport built from the creator's recent posts and reels:

  • Reach: medianReelPlays, avgReelPlaysTrimmed, medianLikes, medianComments
  • Engagement: engagementRateByFollowers, engagementRateByViews, engagementConsistency (lower = steadier)
  • Activity: postsPerWeek, lastPostAt, daysSinceLastPost, formatMix (reels / carousels / images), storyActive, hiddenLikesShare
  • Top content: topPosts with an outlierScore (plays or likes ÷ the creator's median)
  • Brand work: sponsoredShare, brandPartners (from paid-partnership labels, co-authors on paid posts and disclosure tags like #ad #sponsored #anzeige #publi), sponsoredVsOrganicER
  • Price band: estimatedPostPriceUsd { low, high } from a $10–30 CPM on median reel plays — an estimate, clearly labelled
  • Authenticity signals (creatorReportComments 1–6): repeat commenters across posts, generic comments and the comment-to-like ratio from the latest public comments. These are signals, not a fake-follower percentage.

Posts by a reported creator carry outlierScore, and minOutlierScore keeps only the posts that beat the creator's own median (e.g. 3 = three times their typical plays). The report adds about 3 requests per profile. It's free for now. It will cost $0.01 per report on top of the profile row, starting 14 days after Apify emails users about the price change. Private profiles and profiles with no posts or reels will stay free. If a report can't be built, the row is still saved with creatorReport: null and the report isn't charged.

What creatorReport looks like (NASA, September 2026, shortened):

{
"sample": { "posts": 30, "reels": 24, "pinnedExcluded": 3, "from": "2026-08-30T12:58:34.000Z", "to": "2026-09-25T14:13:11.000Z" },
"followerCount": 104335370,
"medianReelPlays": 5694506.5,
"avgReelPlaysTrimmed": 5930920,
"medianLikes": 187695.5,
"medianComments": 743,
"engagementRateByFollowers": 0.1812,
"engagementRateByViews": 2.3482,
"engagementConsistency": 0.723,
"postsPerWeek": 7.77,
"daysSinceLastPost": 0,
"formatMix": { "reels": 0.4, "carousels": 0.2, "images": 0.4 },
"hiddenLikesShare": 0,
"topPosts": [{ "code": "DdCHVu3CVzd", "url": "https://www.instagram.com/p/DdCHVu3CVzd/", "type": "post", "likes": 640658, "outlierScore": 3.41 }],
"sponsoredShare": 0,
"brandPartners": [],
"estimatedPostPriceUsd": { "low": 56945, "high": 170835, "currency": "USD", "method": "$10-30 CPM × median reel plays (estimate)" },
"storyActive": true,
"metaVerified": false
}

Engagement rates are percentages. With creatorReportComments, an authenticity block is added.

🛰️ Monitor mode — only what's new

For scheduled runs, set monitor: true and a monitorKey (one per watchlist). The actor remembers what earlier runs saved and returns only new posts and comments — repeats are skipped and not charged. Profile rows gain changes (followerDelta, followerDeltaPct, followingDelta, previousFollowerCount, bioChanged, externalUrlChanged, nameChanged, verifiedChanged, previousCheckAt; null on the first check), and trend rows gain rank changes. On profiles, paging stops at the newest post an earlier run delivered, so repeat runs are fast. The memory lives in a key-value store in your own Apify account (instagram-monitor-<key>).

🧾 Run report — no silent failures

Every run saves a RUN_REPORT record (Storage → Key-value store, or the Run report link in the Output tab) with one entry per input: ok, private, not_found, login_only, capped, empty, filtered, duplicate, not_video, partial, blocked or failed, with its row count and a note. A private account, a hashtag Instagram keeps behind a login or an audio page capped at 12 posts no longer looks like a quiet success. It is free (not a dataset row).

Add-ons for posts

OptionAdds
commentsPerPostlatestComments: the newest N comments on each post (or the top ones, with the comment options above)
includeTranscripttranscript and transcriptLanguage: speech-to-text for every video, in any language (up to 15 minutes; $0.004 per minute)
includeAiSummaryaiTitle and aiSummary: Instagram's own AI description of the post
includeVideoViewsvideo.viewCount: Instagram's "views" metric, alongside video.playCount
includeDetailsThe profile, keyword and place rows described above, alongside the posts

Discovery and filters

  • scrapeRelatedProfiles: also scrape up to N accounts similar to each profile you give. Useful for finding competitors or lookalike creators.
  • expandRelatedKeywords: go past Instagram's ~60 top posts per hashtag by also pulling related keywords.
  • minFollowers, maxFollowers, verifiedOnly, businessOnly, withContactOnly, minLikes, minPlays, minOutlierScore and skipPinnedPosts: rows that don't match are skipped and not billed.
  • videosOnly: keep only videos and reels. Photos and carousels are skipped and not billed, and the run report names them (not_video).

Input

FieldTypeDescription
startUrlsarrayInstagram URLs, handles or #hashtags (see table above)
keywordsarrayKeywords to search. Each keyword is a separate query
maxItemsintegerMaximum number of results across the whole run
resultsTypestringposts (default), details or comments
maxItemsPerQueryintegerMaximum number of results per URL or keyword
untilstringOnly posts created on or after this date (YYYY-MM-DD) or within a period like 7 days or 3 months. Profile scraping stops as soon as it reaches older posts, so you don't pay for them
includeDetailsbooleanAdds profile, keyword and place rows alongside the posts
commentsPerPost / maxCommentsintegerLatest comments attached to each post / comments per post in comments mode
commentsSort, minCommentLikes, commentKeywords, commentsNewerThan, commentsScanLimitComment sorting and filters (see above)
includeTranscript, includeAiSummary, includeVideoViewsbooleanPost add-ons (see above)
includeCreatorReport, creatorReportCommentsCreator Report Card (see above)
trendSections, trendPostsPerKeywordInstagram Trends (see above)
includeRelatedProfiles, scrapeRelatedProfiles, expandRelatedKeywordsDiscovery (see above)
minFollowers, maxFollowers, verifiedOnly, businessOnly, withContactOnly, minLikes, minPlays, minOutlierScore, skipPinnedPosts, videosOnlyFilters
monitor, monitorKeyMonitor mode (see above)
customMapFunctionstringTemporarily disabled: accepted but ignored (items are saved unmodified, with a log warning)
maxConcurrencyintegerNumber of parallel requests (default 20)
{
"startUrls": ["https://www.instagram.com/nasa/", "https://www.instagram.com/explore/tags/travel/"],
"keywords": ["toronto"],
"until": "2026-09-01",
"maxItems": 200
}

Output

One row per post (dataType: "post"):

{
"dataType": "post",
"id": "3991849403537918302_13460080",
"pk": "3991849403537918302",
"code": "Ddl5eH-u4le",
"url": "https://www.instagram.com/reel/Ddl5eH-u4le/",
"createdAt": "2026-09-22T14:00:04.000Z",
"caption": "Just a normal day for @caitlinclark22 …",
"hashtags": [],
"mentions": ["caitlinclark22"],
"likeCount": 25582,
"commentCount": 487,
"mediaType": "video",
"productType": "clips",
"isVideo": true,
"isCarousel": false,
"isPinned": false,
"isPaidPartnership": false,
"isLikeAndViewCountsDisabled": false,
"commentsDisabled": false,
"owner": {
"id": "13460080", "username": "nike", "fullName": "Nike", "isVerified": true, "isPrivate": false,
"profilePicUrl": "https://…", "followerCount": 291000000, "followingCount": 266,
"biography": "…", "externalUrl": "https://…"
},
"coowners": [{ "id": "306787899", "username": "nikebasketball", "fullName": "Nike Basketball", "isVerified": true }],
"taggedUsers": [{ "id": "1466972266", "username": "caitlinclark22", "fullName": "Caitlin Clark", "isVerified": true }],
"location": { "id": "213131048", "name": "Berlin, Germany", "slug": "berlin-germany", "address": null, "city": null, "lat": 52.518, "lng": 13.401 },
"audio": { "id": "…", "title": "Original audio", "artist": "nike", "isOriginal": true },
"image": { "url": "https://…", "width": 1080, "height": 1920 },
"video": { "url": "https://….mp4", "duration": 30.03, "playCount": 915165, "width": 1080, "height": 1920 },
"carousel": [],
"carouselCount": null,
"accessibilityCaption": "Video by Nike on September 22, 2026.",
"sponsors": [],
"engagementRate": 0.0113,
"latestComments": [{ "id": "18195039400344668", "text": "Nike & Caitlin have revealed…", "createdAt": "2026-09-22T14:21:03.000Z", "likeCount": 12, "owner": { "username": "…" } }],
"transcript": "Caitlyn Clark is just a normal girl from Iowa…",
"transcriptLanguage": "en",
"aiTitle": "Normal Life of Iowa's Caitlin Clark",
"aiSummary": "…",
"source": { "type": "user", "input": "https://www.instagram.com/nike/" }
}

Carousel posts list every slide in carousel (type, url, videoUrl, width, height).

A comment row (dataType: "comment"):

{
"dataType": "comment",
"id": "18195039400344668",
"text": "Nike & Caitlin have revealed…",
"createdAt": "2026-09-22T14:21:03.000Z",
"likeCount": 12,
"replyCount": null,
"owner": { "id": "…", "username": "…", "isVerified": false, "profilePicUrl": "https://…" },
"postId": "3991849403537918302",
"postCode": "Ddl5eH-u4le",
"postUrl": "https://www.instagram.com/reel/Ddl5eH-u4le/",
"postOwnerUsername": "nike",
"isPostOwner": false
}

A trend row (dataType: "trend"):

{
"dataType": "trend",
"section": "TRENDING_NOW",
"sectionTitle": "Trending now",
"rank": 1,
"kind": "keyword",
"keyword": "noreaster",
"displayName": null,
"postCount": 1220294,
"url": "https://www.instagram.com/popular/noreaster/",
"thumbnailUrl": "https://…",
"featuredReel": { "code": "…", "url": "https://www.instagram.com/reel/…/", "videoUrl": "https://…" },
"profile": null,
"scrapedAt": "2026-09-26T14:00:00.000Z",
"source": { "type": "trends", "input": "https://www.instagram.com/popular/" }
}

Fields that are always present on posts are id, code, url, createdAt and owner.username. Fields that can be null include:

  • likeCount, when the creator hid counts
  • video.playCount, on some feed videos where Instagram doesn't expose plays, and on a pinned reel from months back (see "Good to know")
  • location, audio and video, when they don't apply to the post
  • isPaidPartnership, when Instagram doesn't report it for that post

Pricing

$1.90 per 1,000 results ($0.0019 each), with volume discounts by Apify plan. A result is any saved row: a post, a comment, a trend, or a profile, place or keyword row.

Your Apify plan (discount tier)Per resultPer 1,000 results
Free (FREE)$0.0019$1.90
Starter (BRONZE)$0.0019$1.90
Scale (SILVER)$0.0015$1.50
Business (GOLD)$0.0011$1.10
Enterprise (PLATINUM)$0.0011$1.10
Enterprise (DIAMOND)$0.0011$1.10
  • Included at no extra cost: latest comments on each post, AI summaries and video view counts.
  • Creator Report Card (optional) is free for now. It will cost $0.01 per report on every plan, on top of the profile row, starting 14 days after Apify emails users about the price change. Private profiles, profiles with no posts or reels, and reports that can't be built will stay free.
  • Video transcripts (optional) cost $0.004 per started minute of audio on every plan, so a typical 30-second reel adds $0.004. Reels set to a licensed song have no speech to transcribe; they're skipped and not charged.
  • You only pay for rows you get. Queries that find nothing, login-only sources, rows removed by your filters and posts monitor mode has already seen cost nothing.
  • Your spending limit is respected up front: the run stops exactly at the number of results your limit covers.

Examples (Free and Starter prices):

  • 1,000 posts from any mix of profiles, hashtags and locations: $1.90 ($1.50 on Scale, $1.10 on Business)
  • 2,000 comments from one viral post: $3.80
  • 100 profiles in details mode with the Creator Report Card: $0.19 while reports are free (100 results), then $1.19 (100 results plus 100 reports)
  • A full Instagram Trends snapshot (about 400 rows): $0.76

Free Apify plans are limited to 100 results per run.

Use it from n8n, Make, Zapier, AI agents or code

API (one call, results back):

curl -X POST "https://api.apify.com/v2/acts/yugenox~instagram-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'content-type: application/json' \
-d '{"startUrls":["https://www.instagram.com/p/DRvit9Ejgel/"],"resultsType":"comments","maxComments":500,"commentsSort":"top"}'
  • n8n: the Apify node → Run an Actor and get dataset → yugenox/instagram-scraper, or an HTTP Request node with the URL above.
  • Make / Zapier: the Apify app → Run an Actor → pick this actor and paste the input JSON.
  • AI agents (MCP): add https://mcp.apify.com/?actors=yugenox/instagram-scraper to Claude, Cursor or any MCP client, or run npx @apify/actors-mcp-server --actors yugenox/instagram-scraper with APIFY_TOKEN set.
  • Python and Node.js: the apify-client packages, with the same input.

Good to know

  • Hashtags and keywords. Instagram shows logged-out visitors top posts only for popular terms (e.g. travel, nyc, toronto), typically up to about 60 posts. For terms Instagram keeps behind a login, the run report says login_only and nothing is charged. Trending keywords from the Trends page all work.
  • Locations return Instagram's top and most recent posts for the place, typically about 70.
  • Audio pages show logged-out visitors only the first 12 reels. The run report marks those inputs capped.
  • Profiles page through the whole public feed, newest first.
  • Play counts on pinned reels. Instagram shows a reel's play count only on the profile's reels tab, and pinned reels are often months older than the rest of a run. A pinned reel with its own original sound gets its play count from that sound's page (one request); otherwise the reels tab is read back to the reel's date, up to 12 extra pages. A pinned reel further back than that keeps video.playCount: null, the run report names it, and minPlays (or minOutlierScore) skips it with a log warning.
  • Private accounts have no public posts. They are skipped, and the run report marks them private.
  • Overlapping inputs are saved once. When two inputs reach the same post (a reel URL plus its own audio page, two audio pages, a collab post on two profiles you scrape), it is saved and charged once per run, for the input that reached it first. The run report counts the skipped repeats (duplicatesSkipped).

What only logged-in Instagram accounts can see

This actor never logs in, so these are not available — from this actor or any other no-login scraper:

  • Follower and following lists, and who liked a post
  • Stories and the contents of highlights (highlight titles and covers are included on profile rows)
  • Posts a profile is tagged in
  • Replies to comments, and how many replies a comment has
  • Instagram's search for profiles, places and hashtags
  • Hashtags and keywords that have no public Instagram page (e.g. #food)
  • The "About this account" panel and the email / call buttons of business profiles (emails and phones written in the bio are included)

The getStories and handles inputs are accepted for compatibility and skipped at no charge.

Custom map function

Temporarily disabled for a security review: the customMapFunction input is accepted and ignored, and items are saved unmodified. The log shows a warning starting with Your "customMapFunction" input was rejected:. Existing tasks that set it keep running; they just get the original items. It will come back in a sandboxed form.

FAQ

Do I need an Instagram account or cookies? No.

How fresh is the data? It's live. Every run reads Instagram at that moment.

How much does it cost? $1.90 per 1,000 results on the Free and Starter plans, $1.50 on Scale and $1.10 on Business and enterprise plans (see Pricing). Video transcripts are $0.004 per minute. The Creator Report Card is free for now and will cost $0.01 per report, starting 14 days after Apify emails users about the change. Rows your filters drop and inputs that return nothing are free.

Can I try it on the Free plan? Yes. Free Apify plans get up to 100 results per run, paid from the plan's monthly usage credit. Paid plans have no cap beyond your maxItems and your spending limit.

Why do I get fewer comments than the post's comment count? Instagram's count includes replies, plus comments that are hidden, restricted or deleted. None of those are visible without logging in, so they can't be scraped.

Can I schedule it? Yes. Use Apify schedules with monitor mode to get only new posts and comments each run, or with until to limit by date.

Can I use it from code or an AI agent? Yes, through the Apify API, the Python and Node.js clients, webhooks, n8n, Make, Zapier or MCP (see above).

Is it legal to scrape Instagram? This Actor only collects publicly available data: posts, reels and profiles from public Instagram accounts, which anyone can see without logging in. Collecting publicly available data is generally legal, but you're responsible for how you use it. Results can include usernames, profile details, captions and comments from public accounts, and that counts as personal data. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as Instagram's terms. If you're unsure, check with a lawyer. More on this: Is web scraping legal?

Does it access any private data? No. Everything comes from pages Instagram shows to any visitor without logging in. It never uses a login, never touches private or restricted accounts, and never reaches password-protected areas. Private accounts are never accessed.

Can I email the contacts I find? Only in line with anti-spam and privacy law: CASL in Canada, CAN-SPAM in the US and GDPR / ePrivacy in the EU and UK, which generally require consent or a legitimate basis, a clear sender identity and a working opt-out.

Also by us

Changelog

  • October 2026
    • A post reached by more than one input in the same run is saved and charged once (it was once per input). The run report counts the repeats as duplicatesSkipped.
    • New videosOnly filter: photos and carousels are skipped before they are charged.
  • September 2026
    • Pricing: volume discounts by Apify plan ($1.90 per 1,000 results on Free and Starter, $1.50 on Scale, $1.10 on Business and enterprise). The Creator Report Card is free for now and will cost $0.01 per report, starting 14 days after Apify emails users about the change. Free plans get 100 results per run, up from 10.
    • Comments mode reads every public comment, with top-comments sorting and like, keyword and date filters applied before billing. Comment rows gain postOwnerUsername and isPostOwner.
    • New: Instagram Trends (https://www.instagram.com/popular/), the Creator Report Card, monitor mode, the per-input RUN_REPORT and the minLikes, minPlays and minOutlierScore filters.
    • Profiles scrape with far fewer requests and results start streaming within seconds; rows are saved in batches, and a run stops exactly at your spending limit.
    • Fixed: isPinned is now reported on profile photos and carousels (it was null), so skipPinnedPosts works for them too.
    • Pinned reels get their play count from their own audio page or a bounded extra walk of the reels tab. A pinned reel from many months back can have video.playCount: null (the run report names it); the old version walked the whole reels tab for it, which took up to a minute on busy accounts.
    • The run report no longer calls an input empty or capped when the run was stopped by an Instagram-wide block or a stall; it says partial, blocked or failed, with the reason.
    • customMapFunction is temporarily disabled for a security review: it is accepted and ignored, and items are saved unmodified.
    • Fixed: reelsCount on profile rows is null when Instagram only reports "has reels" (it showed a false 1). New profile fields: latestStoryAt, hasActiveStory, metaVerified, metaVerifiedBenefits, instagramGraphId (the account's id in Meta's Instagram Graph API, not a Facebook Page id), transparencyLabel.
  • 23 September 2026 — first release.