Product Changelog
What's New in Insight Social
Every release of the Insight Social Chrome extension and web dashboard — the no-code social media scraper for Facebook, Instagram, Twitter/X, LinkedIn, Threads, TikTok, and YouTube. Export posts, comments, replies, and followers to Excel in one click.
Last updated
Replies On X Run To The End Of The Conversation
Collecting the replies under a post on X stopped far short of what was there. One post with 9,961 replies gave 36 on one run and 72 on the next. Nothing about the limits you set was involved: the run was quitting on its own after eight quiet turns, which at half a second to a second each is four to nine seconds of patience. The trouble is that a conversation page on X delivers its replies just after the scroll that requests them, so those in-flight moments looked exactly like a conversation that had run out — and X was still offering us the next page every single time. The run now watches for that offer and stops when it stops coming, rather than counting quiet moments. The quiet counter survives only as a last resort for a page that genuinely hangs, is far more patient, and no longer counts the seconds right after a page lands. On the same post and the same account, 36 and 72 became 200 — which is the limit that run was set to, not the point where it gave up. Threads with several thousand replies are also now sent up in pieces rather than as one very large lump, which is what kept the whole conversation from being rejected on arrival.
Also new this cycle:
- The People Who Reacted To A LinkedIn Post Come Back Again — If your LinkedIn account is on the newer layout, asking a post for the people who reacted to it finished in around five seconds and reported that it had found none — with a green tick and nothing to suggest a problem.
- A Run That Could Not Save Its Rows Now Says So — A run has always reported the number of rows it gathered on your machine, not the number that reached us.
- A Threads Post With No Replies Is Still Saved — Asking a single Threads post for its replies, on a post that had none, finished by reporting one row — and saved nothing whatsoever, not even the post you were standing on.
- The Panel Opens Straight Away — Opening the panel could leave you looking at an empty screen for five to seven seconds, and every so often it finished by asking you to sign in when you already had.
Recent Updates by Platform
Jump to the latest improvements for the social media scraper you use most.
Facebook Scraper
Latest updates
- Scrape every comment on any Facebook post — focal post + full thread to Excel · June 2026
- Smarter Pages vs Profiles detection on scrape start · May 2026
- One-click row details for every Facebook post · May 2026
Instagram Scraper
Latest updates
- Collect the reels feed, with play counts · August 2026
- Collect the reels riding a trending sound · August 2026
- Turn any hashtag into a list of creators, not posts · July 2026
- Audit any Instagram account — followers, following, mutuals · May 2026
Twitter / X Scraper
Latest updates
- Export full follower & following lists from any profile · July 2026
- Back up your liked posts before they disappear · July 2026
- Scrape every reply on a post — full conversation threads to Excel · June 2026
LinkedIn Scraper
Latest updates
- Scrape post likers & full comment threads from any LinkedIn post · July 2026
- Full post capture on company pages & profile activity feeds · June 2026
- Scrape LinkedIn people search results & profile details · June 2026
Threads Scraper
Latest updates
- Capture a whole Threads conversation — nested and hidden replies · August 2026
- Capture comments alongside Threads posts · May 2026
- Threads scraping launched — posts, search, and feed · April 2026
TikTok Scraper
Latest updates
- Sponsored-post flag + creator bios on every video export · July 2026
- Scrape TikTok video comments — full reply threads, photo comments & creator reactions to Excel · July 2026
- Scrape TikTok Users from any search keyword — creators, bios, follower counts to Excel · June 2026
YouTube Scraper
Latest updates
- Scrape YouTube Shorts comments — full reply threads, likes & author details to Excel · July 2026
- Scrape YouTube video comments — full reply threads, likes & author details to Excel · July 2026
Reddit Scraper
Latest updates
- Scrape Reddit search results — every post a keyword returns to Excel · July 2026
- Export the full nested comment tree from any Reddit post · July 2026
Pinterest Scraper
Latest updates
- Pinner contact emails, phones & addresses from any search · August 2026
- Turn a Pinterest search into pinners and the websites they published · August 2026
- Full pin detail — boards, source accounts & Pinterest's own captions · August 2026
Release Timeline
Every notable update to the Insight Social Chrome extension and web dashboard, newest first.
Replies On X Run To The End Of The Conversation
Collecting the replies under a post on X stopped far short of what was there. One post with 9,961 replies gave 36 on one run and 72 on the next. Nothing about the limits you set was involved: the run was quitting on its own after eight quiet turns, which at half a second to a second each is four to nine seconds of patience. The trouble is that a conversation page on X delivers its replies just after the scroll that requests them, so those in-flight moments looked exactly like a conversation that had run out — and X was still offering us the next page every single time. The run now watches for that offer and stops when it stops coming, rather than counting quiet moments. The quiet counter survives only as a last resort for a page that genuinely hangs, is far more patient, and no longer counts the seconds right after a page lands. On the same post and the same account, 36 and 72 became 200 — which is the limit that run was set to, not the point where it gave up. Threads with several thousand replies are also now sent up in pieces rather than as one very large lump, which is what kept the whole conversation from being rejected on arrival.
The People Who Reacted To A LinkedIn Post Come Back Again
If your LinkedIn account is on the newer layout, asking a post for the people who reacted to it finished in around five seconds and reported that it had found none — with a green tick and nothing to suggest a problem. The comments on those posts had already been fixed in late August; reactions had not, because our own notes said the reactors were not on the page at all and so there was nothing to read. That was simply wrong, and it kept this parked for two weeks. The reactors are not on the post itself, but the little row of reaction icons opens a list that does show them, ten at a time. The run now opens that list and reads it, waiting for the rows to actually appear rather than reading the moment the panel mounts — reading too early returns nothing and looks identical to the original fault. Each person's reaction type comes along with them. Measured live: 93 of 94 reactors in 31 seconds. If you ran Reactions on a post since the start of September and got nothing, it is worth running again.
A Run That Could Not Save Its Rows Now Says So
A run has always reported the number of rows it gathered on your machine, not the number that reached us. Those are usually the same. When the upload at the end failed they were not, and the run still finished with a tick and a count — over a results page with nothing on it. Two real runs of 911 and 1,024 rows were lost this way on September 8, and across the previous 30 days it took 15 runs, 12,816 rows and 6 people; two of those six never ran anything again after the day it happened. A run now compares what it gathered against what we confirmed receiving, reports the confirmed number, and marks itself failed when rows are outstanding — so an empty results page is never a surprise. The other half of the cause was the size of a single upload. Rows are gathered into a batch before being sent, and a run that hands over everything at once — an Instagram profile grid, for instance — went up as one request of nearly three megabytes, which is the shape most likely to be refused outright. Uploads are now capped at 200 rows each and anything left over waits its turn, so a refused upload costs 200 rows instead of the whole run.
A Threads Post With No Replies Is Still Saved
Asking a single Threads post for its replies, on a post that had none, finished by reporting one row — and saved nothing whatsoever, not even the post you were standing on. The step that stores the results treated an empty set of replies as nothing worth writing and stopped before it got to the post, while the count on screen came from what had been read off the page. The two disagreed, and the number won. One person ran the same post three times inside ninety seconds because each attempt came back looking empty. The post is now saved either way, so a post nobody replied to reads as exactly that rather than as a failure.
The Panel Opens Straight Away
Opening the panel could leave you looking at an empty screen for five to seven seconds, and every so often it finished by asking you to sign in when you already had. Two things were happening before the panel would draw anything, and both of them went out to the network for something the first screen has no use for: it renewed your sign-in, and it read your plan. The renewal is the one that hurt. Sign-ins are good for an hour, so every open after that hour waited on it, and the wait was capped at six seconds — which is exactly the delay people were reporting. Worse, if that renewal came back refused it cleared your details halfway through drawing, and the panel arrived on the sign-in screen instead of where you were going. Both readings now come from what the panel already has on your machine, and the renewal happens quietly behind you instead of in front of you. Nothing is skipped: every request still renews your sign-in the moment it needs to, and a sign-in that has genuinely been revoked still takes you to the sign-in screen — a moment later, on a panel you can actually see. Measured against a deliberately stalled connection, the panel went from over ten seconds to under half a second; on a healthy one it is ready in about a third of a second. Separately, the panel used to hold its own first paint until all of its code had loaded, even though the frame and the loading skeleton are plain markup that needs none of it. That frame now paints while the rest loads, which took the median open from 688ms to 552ms and the worst from 964ms to 628ms.
An Update No Longer Strands the Tabs You Had Open
Whenever the extension updates itself — which Chrome does on its own schedule, without telling you — the pages you already had open keep running the older copy, and that copy loses its line back to the extension. The panel is built to notice this and quietly put a fresh copy in place, and that repair was doing nothing at all. It checked whether a copy was already there, found the stale one, and stopped. So the tab stayed unusable: the panel would report that it could not reach the page, Start did nothing, and the only way out was to reload the page — which nothing on screen told you. The check now asks the copy it finds whether it is still actually connected, rather than merely whether it exists, and replaces one that is not. A tab that goes quiet after an update comes back the moment you open the panel on it. Reloading the page has always worked and still does; you should just need it a great deal less often.
Every Row Says What It Actually Collects
Where a row collects two things at once it now reads "Posts and Comments" rather than "Post + Comments", in the same words across Facebook, Instagram, Threads, Reddit and TikTok — they had drifted apart, so one list could show "Posts and Comments" a line above "Posts + Authors". Singular and plural now follow what the run really does: rows aimed at one post keep "Post and Comments", and every row that works through a list of posts says posts. Two Facebook and Threads rows needed more than a rename. Both had taken their wording from the version written for a single post, so on a group, a profile, a feed or a search — runs that walk many posts — the row read "Post + Comments" above a description too long for the space, which cut off precisely where the useful part began. They now name the posts they walk and carry a short line saying only how they differ from the plain Posts row above them. The Facebook group row was also under-promising: its Includes list named comment columns alone, when the first half of that run is the same post collection as Posts and brings all of those columns with it. It says so now, and names the per-post comment limit that had been stranded at the end of the sentence nobody could read.
Profile Only Brings Back the Profile Again
Running “Profile only” on an Instagram profile reads that account’s details — name, bio, followers, link, whether it is verified, the contact address where one is published — and from September 2 it read nothing at all. The run finished with a green tick and saved no row: 23 of the 24 runs started since came back empty, and every person who tried it was affected. The message on the finish screen said to wait fifteen minutes or switch to another network, and that advice could not have worked, because nothing about the wait or the connection was the problem. Instagram had stopped answering the one request this particular run depended on, and had quietly moved its own profile page onto a different one. Asking both ways in the same browser a second apart settled it: the request this run used came back refused, while the one Instagram’s own page makes came back complete. “Profile only” now takes the profile out of what the page already loads for itself, which is where every other Instagram run has always taken it, so there is nothing extra to ask Instagram for and nothing to be refused. The details that come back are the same as before. Runs that finished empty saved nothing at all rather than saving something wrong, so there is nothing to clean up — collect those profiles again and they will come back. One related case is still short: collecting profiles from a hashtag or a feed fills in each account’s details the old way, so those runs currently return handles with little beside them. That needs a different fix and it is next.
A Second Scrape No Longer Costs You the First One
Posts are collected into a buffer and sent up in batches rather than one at a time, and until now the address they were sent to came from a single setting the whole extension shared. Start a run on another platform while the first is still sending, and that setting changed underneath it: the posts already waiting were delivered to the second platform’s address, which keeps only the fields it recognises — a link and a date — and quietly drops the caption, the author and every count. Nothing looked wrong at the time. The run finished, the summary reported its full total, and the results page showed a fraction of it; one run measured while fixing this collected 250 posts and displayed 95. Every platform except Facebook had been labelling its own posts since August, which left the busiest one as the last still exposed. Each post now carries the platform it belongs to and the final send names it too, so a second run cannot redirect the first. Posts already lost this way are not recoverable — the fields were discarded on arrival, not hidden — so a run that came back short is worth collecting again.
The Panel and the Site Read the Same Numbers
Reopening a finished run rebuilds its summary from the copy kept in your account, and until now the panel fetched that copy from a different address for each platform — one for Facebook, another for X, others again for Threads, TikTok and LinkedIn — each reading its own table. The website had already moved to a single place that holds every platform in one shape, so the two were reading different stores and could, in principle, tell you different things about the same run. The panel now reads that same single place. Counts, totals and top authors are unchanged, collecting is untouched, and everything you upload still goes exactly where it went before. What this buys is the end of a whole class of disagreement between the panel and the site — and it retires the last of the old per-platform read addresses.
Replies Are Counted as Replies
Collecting the replies under a post on X ends with a summary card, and that card was borrowing the wording from an ordinary post run. So a hundred replies were announced as a hundred posts, and the figure beside them — headed replies — was something else entirely: the replies those replies had drawn, added up. Two numbers under one word, neither of them saying what had just been collected. The card now names the replies as replies, keeps the likes they drew, and adds how many different people are behind them, which is usually the number worth having. Nothing about the collecting changed, and the same card comes back correct if the run is stopped part-way or the panel is closed and opened again.
Recent Posts Come Back With the Creator
Picking "Profiles + Recent Posts" on a hashtag collects each creator along with their last handful of posts. Instagram sends the creator first and the posts a moment later, and the extension gave those posts a fixed, very short moment to turn up before moving on to the next creator — so whether they made it came down to how fast the connection happened to be that second. On a measured run they missed by under half a second on two creators out of three, and each of those was stored with the creator filled in and nothing under it, reported as a clean finish. It now waits for the posts to actually arrive rather than guessing at how long that takes, and carries on the instant they do, so a fast connection is no slower than before. Where no posts can arrive at all — a private account, or the pass that collects posts separately — it does not wait.
A Run in Progress No Longer Reports Itself as Failed
A hashtag run that also opens each creator's profile moves the page from one profile to the next on its own. A few seconds after pressing Collect, right as it reached the first profile, the panel would clear the progress screen, put the list of options back up over the locked page and report "Failed to start". Nothing had failed. The run went on to visit every creator and save everything it found, so what was broken was only what the panel was telling you — which is its own kind of problem, because the obvious response is to press Collect again and pay for a second run. The panel had been waiting on the page to confirm the run had begun, and that confirmation could never arrive once the run had already moved the page somewhere else. It now takes the confirmation up front, and it also asks the run itself rather than the page whenever the two disagree, so the progress screen holds from the first creator to the last.
Photo Posts Come Back Whole
Facebook lays a photo post out differently from every other kind of post, and two things broke on it. The comment thread sits one level deeper than the extension expected, so a run would take whatever the page had already loaded and stop — on one post that was 29 comments out of 339, and it was reported as a clean finish, which is the worst version of the problem. Reactions and shares on the same posts came back as zero, because Facebook sends a photo post's numbers separately from the post itself and only one of the two was being read. Both are fixed: the full thread is collected, and the counts are read from where they actually live, matched to the post you opened, so a suggested post further down the page can never lend it its numbers.
Straight Answers on Restricted and Private Accounts
Two Instagram cases used to end in an empty result with no explanation. An account that limits who is allowed to comment still shows all the comments it already has, but the extension read that limit as "no comments here" and skipped them — the run ended in two seconds with nothing. Only the owner's own comment switch decides that now. Separately, a private account never shows its posts to someone who does not follow it, so the two options that collect posts always came back with the profile and nothing else. They are now blocked on private accounts with the reason stated, instead of carrying a warning and running anyway. Nothing is lost by that: "Profile only" still fills in join date, account location and former usernames on a private account.
The Page Locks the Moment You Press Collect
Pressing Collect reloads the page first and waits a moment before the run actually begins, and until now the covering overlay only appeared at the end of that — leaving several seconds where the page looked idle and clickable. A click in that window could navigate away and take the run with it. The overlay now goes up before the reload and rides across it, so the page is covered from the moment you press. Four platforms — Threads, YouTube, Reddit and Pinterest — had no early cover at all. It also stays up through the moves a run makes on its own, which previously dropped it between every step: LinkedIn profile and company activity, and the second pass on Threads, TikTok and Instagram.
Runs That Move Between Pages Now Finish
Some runs work by moving from page to page rather than staying on one — Threads comments and the LinkedIn profile pass. When one of those ended, whether it finished everything, hit an error or you pressed Stop, the data was saved but the run itself was never marked finished, so it sat at "running" in your history indefinitely. It affected 98 runs across 62 people in the last month, 75 of which were holding data and 15 of which had already been exported from. Every ending now closes the run out with its final count. Pressing Stop on a Threads comment run also stops it where it stands, rather than moving on to one more post first.
Collect the Reels on a Facebook Profile or Page
Facebook keeps a profile or page's reels on their own tab, and until now that tab was a page the extension recognised and could do nothing with. It collects them now. Each reel comes back the way a post does — who posted it, the caption, the thumbnail, when it went up, the link to it — plus the numbers underneath: plays, reactions, comments and shares. One thing to know about the play and share counts. Facebook only ever writes those as the text you see on the reel, "18M" or "1.2K", and never sends the exact figure behind it, so each of those columns arrives twice: a rounded number to sort and filter on, and Facebook's own wording beside it, so you can see what was actually claimed. The first ten reels used to come back with all their engagement showing zero, because Facebook sends the reels and their numbers as separate pieces and the two were never being put back together. On a page of twenty reels, all twenty now carry their reactions, comments and shares.
Collecting No Longer Counts Against You
Runs are gone as a thing to spend. Starting a collection costs nothing now, on any platform, whether it brings back nine rows or nine thousand — so a long run is no longer a decision about whether it is worth one of the few you have left, and a run that comes back empty costs you nothing at all. What is counted instead is what you take out: the rows in a file you download, a sheet you sync, or a link you share. That is the number that matters, and it is the only one, so it no longer sits beside the Start button where it read as a price on collecting. It is in Settings, to look at when you want it and forget the rest of the time. Two things this fixes on the way. Opening the panel on a browser that had not checked in for a while could announce you had no runs left and refuse to start, when in truth it had simply not managed to ask yet — it cannot do that any more, because there is nothing left to ask. And a scheduled run that came due while your balance was empty used to stop before it began; those go ahead now.
Hashtags and Mentions Come Back on Instagram Profile Posts
Posts collected from an Instagram profile were arriving with nothing in their hashtag and mention columns, even where the caption sitting right beside them plainly had both. Nothing had been missed on the way in — the captions were complete — but those two columns are filled in one place and were being left blank in another, and posts taken from a profile went the second way. Seven in ten of those captions carried a hashtag that never made it as far as the table, which quietly spoiled any attempt to sort a profile's posts by topic, or to see who it talks to. They are filled in now. This only ever affected posts taken from a profile — hashtag and feed collections were always fine — and nothing needs collecting again except the profiles you want the columns on.
Collect an Instagram Account and Every Comment Underneath It
Until now an Instagram profile gave you the posts and stopped there, and the people talking underneath them — usually the reason the post is worth looking at — stayed on the page. Posts + Comments is a new choice on any profile: the run collects the grid as before, then goes back through each post it captured and reads the comments, up to two hundred a post. Every comment comes back with the person who wrote it, what they said, when, how many likes it got and how many replies it drew, and you can turn on replies to collect those too. It is the slower of the two options and the panel says so before you start, because the comments are fetched one post at a time — a post with a full two hundred takes around twenty seconds of its own, and the estimate under the count is deliberately the worst case, so most runs finish sooner than it promises. Posts with a handful of comments finish almost immediately. Two honest limits. Instagram serves comments fifteen at a time and will not serve more, whatever we ask for, so the only real dial is how many posts you point it at. And Instagram will sometimes stop handing over a thread before it has given you all of it — a post listing a hundred and thirty comments may return seventy-six — so treat the number on the post as what exists, not as what will arrive. While the run works the panel shows which post it is on and streams the comments as they land, so a phase that takes minutes no longer looks like a phase that has stopped. If one request fails partway through a post, the rest of that post's thread is no longer thrown away with it.
When an Instagram Account Was Opened, and Where It Is Based
Instagram quietly publishes a few things about an account that are not on the profile itself: the month it was opened, the country it operates from, when it was verified, and whether it has been renamed. They sit behind the "About this account" panel, one tap out of the way, and they are the fastest way to tell a long-standing account from one made last month, or to notice that a page selling to one country is run from another. Those details now come back with the profile. They arrive on every route the extension takes to a profile, not only the slowest one, so a run that collects a hundred profiles gets them for all of them rather than for the few it happened to open the long way. Accounts that have never been renamed simply have nothing in the former-names column, which is not a gap.
LinkedIn Post Comments Work Again on Rebuilt Accounts
LinkedIn is rebuilding its site one group of accounts at a time, and post pages were the latest to change. If your account had been moved, collecting the comments on a post would start, finish in about five seconds, and hand back nothing — having spent a run to do it. The part of the page the extension had been reading no longer exists on the rebuilt version. It reads the new one instead. A post with a hundred and thirteen comments came back with a hundred and ten of them, replies attached to the comment they answer, every row carrying the name, the headline, the link and the time. Two things are worth knowing. A few details LinkedIn used to send are not on the rebuilt page at all — the breakdown of which reaction each comment got, and whether a comment was edited or pinned — so those columns come back empty rather than wrong. And collecting the people who reacted to a post is still broken on these accounts for the same reason, with no fix yet: reactors are not written into the page, so there is nothing to read. Accounts LinkedIn has not moved yet are unaffected and work exactly as before.
LinkedIn People Search Has Been Withdrawn
LinkedIn people search is no longer offered. Until the end of June it worked as well as anything else on LinkedIn — eight hundred-odd people collected across a few dozen runs, with only a handful coming back empty. From July onwards every single run came back with nothing. Not an error, not a warning: the run would start, scroll the results, finish, and hand back an empty list, having spent a run to do it. LinkedIn changed something about how that page is served and did not say what, and there is no version of investigating it that ends with a promise we could keep. An option that takes a run and reliably returns nothing is worse than no option at all, because the only way to discover it is broken is to spend something finding out. So it is gone. Opening a people search page in the panel now says, plainly, that search results are not supported, and points you at the pages that do work. Nothing else on LinkedIn changed. The home feed, company pages and profiles all collect as they did, and so does the most useful thing LinkedIn still allows — opening a post and collecting the people who reacted to it or commented on it, each with their name and headline. For finding people around a topic that is a better list than a search page was anyway, because everyone on it has already done something about the subject rather than merely listing it in their profile. Anything you collected from people search before it stopped working is still in your history and still exports; withdrawing the option does not remove what it once returned.
Stopping Early Now Shows What You Collected
Stopping a run early is meant to be an ordinary thing to do. You watch the list fill, you decide you have enough, you stop, and you look at what you collected. That last step is the one that broke. On a run collecting followers or following, or comments on a single post, or the accounts behind a post’s reactions, stopping would return you to the start screen — the same screen you began on, offering to collect something you had just spent minutes collecting. There was no result to open and no count to read, so the only reasonable conclusion was that the run had come back with nothing and the time was wasted. It was not. Every account and every comment collected before the stop was already saved and already showing in your history; the run simply failed to say so on its way out. The cause was the same on each platform, and it was a matter of the panel asking the wrong question. A run collecting posts keeps them in one place, and when you press Stop the panel checks that place to decide whether the run caught anything worth showing. Runs that collect followers, comments or reactions keep their rows somewhere else, because they are not posts and do not have the same fields. Nobody had taught the panel where to look, so it looked in the post pile, found it empty, and concluded the run was empty too. Where a page happened to leave a few posts lying around from loading — Instagram profiles do — it found those instead, which is why a run of forty-eight followers could finish claiming three. All of it now reports the count belonging to the run you actually asked for, so the number on the completion screen is the number you watched climb, labelled with what it counted rather than with the word posts.
Collecting a Profile’s Posts Returns Them Again
Instagram renamed the requests it uses to fetch the posts on a profile. Not the shape of them and not what they return — only the names, which gained a few extra letters in the middle. That sounds like nothing, and for anyone using Instagram it was nothing. For the panel it was everything, because the name is how it tells one request apart from another. Instagram’s pages make hundreds of requests while you scroll, the vast majority of which have nothing to do with posts, so the panel keeps a list of the handful whose answers are worth reading and ignores the rest. A renamed request is not on that list. Its answer arrived complete and correct, full of exactly the posts that had been asked for, and was discarded unread alongside everything else. What you saw was a run on a profile’s posts that started normally, scrolled the page as it always had, and then finished with an empty result — no error, no warning, nothing to suggest the posts had been fetched and thrown away rather than never found. Because a run is counted when it begins, it cost you one. Both names are recognised now, the new and the old, because the two were being served side by side and there is no way to know when or whether the old one disappears for good. The rest of the profile was never affected — the account’s own details, its followers and following, and its reels were all read through different requests that kept their names — so this was specific to collecting someone’s posts. If you tried that in the last few days and got an empty result back, it is worth running again.
One Option for a Profile and Its Posts, Instead of Two That Overlapped
A profile used to offer two options that were hard to tell apart and harder to choose between. One collected the account’s details along with the first page of its posts; the other collected the posts properly, as many as you asked for. Everything the first one returned, the second one also returned, so the choice was not really between two kinds of collection — it was between a small version and a large version of the same thing, described as though they were different. Worse, they filed their posts under different identifiers. Instagram gives a post more than one name, and the two options had each picked a different one, which meant nothing recognised a post collected twice as the same post. Anyone who tried both on the same account, reasonably enough, ended up with a complete duplicate of every post. They are now one option, called Profile + User Posts, which collects the account’s details and then as many of its posts as you ask for. The choices are 12, 50, 100 or 500. Twelve is there deliberately: it is one page of the posts grid with no scrolling, which is precisely what the old recent-posts option collected, so that run is still available to anyone who wants it. The order of the list changed too. The lightest option, which collects the account’s details and nothing else, now sits at the top and is what a run uses unless you pick otherwise — previously the default was the heavier of the two, which is a strange thing to spend on a profile you may only want the contact details from. Every option on a profile now also carries a plain sentence describing what it does, so the difference between them is legible before you commit a run rather than after.
The Public Email and Phone Come Back From Every Profile Run
When an Instagram account publishes a contact — a business email, a phone number, or both — that is very often the single thing a profile is being collected for. It was already being collected, saved and included in exports, and it was named nowhere at all: not on the option you picked, not in the list of what that option returns. There was no way to know it was there short of running a collection and reading the results. Underneath that was a worse problem. Instagram does not include the contact in the answer it gives when a profile loads; it has to be asked for separately, by name, and only for accounts that have said they have one to give. The light option that collects an account’s details had always made that second request. The heavier option that collects the details and the posts together never had. So the more you spent on a profile, the less contact information you got back — the small run returned the email, the large one did not, and nothing anywhere explained why. Both make the request now, on exactly the same terms as before: only when the account advertises a contact, only when it has not already been collected, and never in a way that can hold up or interrupt the rest of the run. Every option that returns a contact now lists it first, ahead of follower counts and biography text, because it is the field people are there for. The wording is hedged rather than promised — an account that publishes no email genuinely has none to give, and a list that flatly said Public Email would be making a guarantee that Instagram does not let anyone keep. The rest of what each option returns has been checked against what is actually collected and reordered the same way, so the most useful fields are named first and nothing is listed that does not really come back.
Collecting a Profile’s Reels Returns Them Again
Instagram quietly moved where it keeps a profile’s reel list. Nothing about the request changed — the panel asked for the Reels tab exactly as it always had, and Instagram answered exactly as it always had — but the answer now carries the reels under a different name inside it. The panel was still looking under the old one, found an empty space rather than an error, and concluded there was nothing to collect. A run on someone’s Reels tab therefore ended after about five seconds and was filed as finished with nothing in it, which is indistinguishable from a creator who has posted no reels at all. Because the run had already been counted when it began, it cost you one. Two things made this worse than an ordinary break. The first is that it was silent: the panel had every reason to believe it had asked the right question and received a valid answer, so nothing anywhere reported a fault. The second is that a run coming back empty is a perfectly ordinary thing — private accounts, empty tabs and genuinely reel-less creators all look the same — so an empty result is not, on its own, evidence of anything. What gave it away was the timing. Ten empty runs in a single day all finished within a few tenths of a second of each other, on public accounts that plainly had reels, and that consistency is not what real emptiness looks like. Reels are read from the new location now, and the old location is still read as a fallback, because both were being served to different browsers within the same two days and there is no reason to assume the change is finished rolling out. Everything downstream is unaffected: the reels come back with their play counts, likes, comments, thumbnails and dimensions exactly as before, and paging through a creator’s full back catalogue works as it did. Nothing else on Instagram was touched — collecting posts, comments, followers, hashtags and the reels feed were all reading from their own places and were never affected. If you ran a Reels tab collection in the last few days and got nothing back, it is worth running again.
A Reddit Run That Cannot Work No Longer Costs You a Run
Reddit will not answer a browser that carries no Reddit session. Not partially, not with less — it refuses every request outright, so a run started in that state was never going to come back with anything, no matter which subreddit or search it was pointed at. Being told that was already an improvement on the previous behaviour, where such a run was filed as quietly finished; since the last release it has been marked failed and carried Reddit’s own refusal back with it. But it still cost a run, and the message still did not say the one thing worth saying, which is that signing in to Reddit would fix it. Both of those are now handled before anything is spent. When you start a Reddit run the panel first asks Reddit for something small and public. If Reddit refuses, the run does not begin: nothing is counted against you, and the panel says to sign in to Reddit in that tab and try again. If Reddit answers, the run proceeds as it always did. The distinction the check draws is deliberately narrow. It only stops a run on an outright refusal — the one condition we know for certain makes a run pointless. A slow network, a rate limit, or any other unclear answer is treated as no reason to interfere, and the run goes ahead. Being wrongly stopped from a collection that would have worked is a far worse outcome than the problem being solved here, so the check is built to err in that direction. It also tests the thing that actually matters rather than trying to work out whether you are signed in, which is a different question that only approximates the real one. The same mechanism is now available to every platform in the extension, so where another site turns out to have a condition that makes a run pointless before it starts, it can be checked in the same place, before the run is counted.
Facebook Group Settings Now Survive a Change of Mind
A Facebook group gives you two things to decide beyond what to collect: whether to read the group newest-first, and how far back to go. Both sit under Advanced, and both were being thrown away. Choosing Posts, opening Advanced, asking for newest-first and the last three days, and then changing your mind to Post + Comments put the group back to its default order with no time limit at all — silently, with Advanced collapsed again, so the run went ahead on settings you had every reason to believe were still in place. The cause was that the two choices were filed against the kind of collection picked at the time, and picking a different kind is precisely what put them out of reach. They are now found regardless, and checked against what the new choice actually offers, so a setting only carries over where it still means something. The same switch had a second effect worth describing on its own. Asking for a time window on Posts removes the box for how many posts to collect, because the window is what ends that run and a count would be a second answer to the same question. Post + Comments needs that box back — it visits each post in turn, so the count is what stops it walking through hundreds of them — but it stayed hidden, leaving an empty space where it belonged and no way to recover it short of closing the panel. It now returns whenever the collection you have picked needs it.
The Panel Now Says Which Limit Will Actually End the Run
Collecting posts and their comments from a Facebook group can be bounded two ways at once: a time window, and a number of posts. Both apply, and the run ends at whichever it reaches first. The panel was not saying so. With Advanced collapsed, the one-line summary read "last 24 hours" — the same line shown when collecting posts alone, where the window genuinely is the only thing that ends the run. So a run that stopped at twenty-five posts an hour into a twenty-four hour window looked, from that line, like it had swept the whole day. It now names both: "last 24 hours · max 25". Making room for the number meant dropping the reading order from the line, which was only restating something the window already implies, and letting the line use the width available instead of a fixed measure that had been cutting the number off the end — the one figure it existed to disclose. The scraping screen was showing the same half of the picture. A run bounded by a window displayed a count filling toward a total with no mention of the window that was going to end it; the window only ever reached that screen when it had replaced the count outright. It now appears in both shapes. And where the window is the only bound there is no total to fill toward, so the screen stops implying one: rather than an estimated finish, it reports the date the run has reached so far, which is the number that says whether it is nearly done.
Comments and Their Replies Are Already Open When You Arrive
A run that collected comments used to give them back folded away. The posts were listed, each with a count telling you how many comments sat behind it, and getting to them meant a click on every post — then, once a comment turned out to have replies, another click on every comment. A session of two hundred and fifty posts asked for two hundred and fifty clicks before you had seen the thing you had just spent a run collecting. There was a button to open all the threads at once, which helped, but it was one more thing to find and it did not touch the replies underneath. All of it now opens with the page. Comments sit under their post and replies sit under their comment, immediately, on every platform that captures them — Facebook, Instagram, Threads, TikTok, YouTube, Reddit, LinkedIn and X. Nothing about the folding has been taken away: each post and each comment still has its own control, the button at the top now collapses everything rather than expanding it, and the page remembers what you closed rather than what you opened, so shutting a noisy thread stays shut while you work. Searching still reaches inside the comments, and a match hidden in a thread you had closed yourself will reopen that thread to show you where it is. The reason it was not built this way to begin with was a worry about the size of the page, so it is worth saying what that came to: the heaviest session we could find held fourteen thousand comments across two hundred and fifty-seven posts, the button to open everything already produced exactly that page for anyone who pressed it, and profile pictures load only as they come into view. A typical session is around twenty-five comments a post. There was no reason to keep the data behind a click.
A Reddit Run That Reddit Turned Away No Longer Reports Success
Reddit will not answer a request from a browser that carries no Reddit session — it turns the whole thing away, including the pages the extension reads. So a run started while signed out of Reddit was always going to come back with nothing, and that part is Reddit's rule rather than a fault we can fix. What was ours is what happened next: the run was recorded as finished, with no error and no explanation, which on the history page is indistinguishable from a subreddit that genuinely had no posts in it. There was nothing to tell you the cause was a missing Reddit login, so the natural response was to try again — one person did it nine times inside six minutes before giving up. Those runs are now marked failed and carry Reddit's own refusal in the reason, which points straight at the fix: open Reddit, sign in, run it again. Anything collected before the refusal is still saved and still counted, so a run that stops part-way reports the rows it actually got instead of claiming a clean finish. One thing this does not do is give the run back. The allowance is spent when a run starts, before Reddit has said anything at all, and there is no way to return it afterwards — which is precisely why the message matters, since seeing the reason on the first attempt is what stops the next eight.
The Panel No Longer Opens to an Empty Grey Pane
Opening the panel sometimes gave you nothing — a blank grey strip where the tool should be, which came right the moment you closed it and opened it again. The cause turned out to be a typeface. The panel's styling asked for the font it uses from Google's servers, and a browser will not draw a single pixel of a page until every stylesheet that page depends on has arrived. That request was almost always instant, which is why this was occasional rather than constant, and the answer was cached once it succeeded, which is why opening a second time appeared to fix it. When the request was slow instead — a patchy connection, a VPN in the way, a network that blocks Google's font servers outright — the panel sat there empty waiting on it, with nothing about the tool itself at fault or even running yet. The font now ships inside the extension and is read off your own disk. Opening the panel makes no outside request whatsoever, which is faster, removes the one part of it that could be slow for reasons that have nothing to do with us, and means one less place your browsing shows up. We also took out a second, quieter thing that ran at the instant the panel opened and could get in the way of the browser's own work of opening it. That one we cannot prove was ever causing anything; it simply had no reason to run there, and a problem of exactly that shape has hit this panel before.
An Improved Pricing Model: Fewer Free Runs, Rows Still Unlimited
The free plan now includes ten runs a month instead of thirty. That is a reduction and it seems better to say so plainly than to dress it up, but it is worth explaining what the alternative was, because the thing it protects is the part of the pricing we care most about. A run here means one scrape session, and it has always collected as much as the page will give — fifty rows or five thousand, for the same price. Almost every tool in this space charges the other way round, per row or per result, which means the moment a run turns out to be worth something you pay more for having found it. The obvious way to raise revenue was to start doing exactly that: put a ceiling on rows per run and then sell the ceiling. We looked at who that would land on and it was precisely the wrong people — the ones pulling the largest exports are the ones getting the most out of the tool, and metering them charges extra for the behaviour we would rather encourage. So the number of free runs came down instead, and the shape of a run stayed as it is. Ten was not picked out of the air. Of everyone who ran anything at all last month, half ran two scrapes or fewer and three quarters ran five or fewer, so ten still leaves roughly twice the room of a typical engaged month. It is the people well past that who now meet the limit, and meeting it is at least an honest signal that the tool is worth paying for. Nobody loses runs partway through a month. Your current allowance stands until your month rolls over on its usual date, and only then does it reset to ten — so if you are sitting on twenty-two of thirty today, those twenty-two are still yours to spend. Anyone who has been given a custom allowance keeps it exactly as it is. Pro is unchanged at three hundred runs a month, or three thousand six hundred paid a year ahead, and a run that cannot start is still not charged for.
The Welcome Page Asks What You Came For
We can see which platforms people run and what they collect there, because every run records it. What we cannot see is why anyone came, or how they found us in the first place, and those are the two things that decide what gets built next. So the welcome page now asks them: what brings you here, and how did you hear about us. Both sit underneath the button that opens the extension rather than in front of it — the way to a first run never passes through a question, and skipping them costs you nothing at all. Answering the first one does something immediately rather than only for us. Say you are here for leads and LinkedIn, Facebook and Instagram move to the front of the platform list; say content ideas and TikTok, YouTube and Reddit lead instead. The list is reordered and never shortened, so nothing you might have wanted is taken away, and the choice is remembered so the order holds the next time you land there. There is a third question, about the kind of work you do, and it waits — it appears once on a results page, and only after a run that actually brought something back, on the grounds that we should have given you something before asking you for anything. Answering it or closing it retires it for good. None of the three is required and none of them gates anything.
Follower Details Come Back Filled In on X
Follower runs on X had been coming back hollow. Every row had a name and a handle and then nothing — no bio, no follower or following count, no tweet count, no website, no header image. Around the twenty-seventh of July X changed how it describes a person inside a follower list, moving all of that into new places and dropping the one block the extension had always read. Nothing broke visibly on the day; the fields simply went quiet and stayed quiet for a fortnight. Counts now come from where X keeps them today and bios from their own field, with the old locations still read for anything that has not moved yet. One figure has no new home at all — the number of lists a person appears on — and it stays at zero rather than showing an invented number. Two other things were wrong with the same runs. The same account could return sixty-nine rows or eighty-seven depending on which tab you happened to open first: the follower count on a profile links to the verified-followers tab rather than the full one, and the extension was pooling both under a single heading, so moving to the tab you actually wanted left the other tab's people mixed in with it. The tabs are now kept apart and a run takes only the one it was asked for. Separately, a run that had already finished stayed listed as the current one, so browsing a profile afterwards filed those posts into it — that is where twenty-one stray posts inside one follower run came from. A run stops accepting new rows the moment it ends. What none of this changes is how many followers a run can reach. X now sends one page of a follower list and never asks for another, whatever the size of the account; this was checked directly against an account with six thousand followers and one with two million, with the same outcome on both. That is a limit on X's side rather than something the extension is mishandling, and it is why a follower run there stops well short of the full list.
TikTok Follower Runs Find the Right Window
A follower run on TikTok could finish, report success, and save nobody. The cause was the page rather than the data: TikTok keeps several pop-up panels loaded at the same time, and the notifications panel sits ahead of the follower list in the page's own ordering. Anyone who had opened notifications had their run attach itself to that panel instead, where there is no list to scroll through and no one to collect — and the check meant to confirm the follower list had opened was inspecting the wrong panel, so it reported that everything was fine. The run now identifies the follower list specifically and ignores whatever else is on screen. Checked live against the account that had failed: the old approach settled on the notifications panel and collected nobody, the new one found the follower list and collected thirty. Worth saying plainly that thirty was all TikTok offered for that account. Follower runs there tend to stop early whichever panel is found, and that is a separate limit we have not solved yet.
You Stay Signed In
Some people were being signed out at no particular moment — half a day apart, five days apart, never on any schedule you could plan around. It was not a session running out. Sign-ins here are meant to last indefinitely, and these were being cancelled. The extension had been given a copy of the website's sign-in, so the two were sharing one, and each renewed it on its own clock. Whichever renewed second arrived holding a copy the other had already replaced, which is indistinguishable from a stolen one, so the safest thing to do was cancel the sign-in outright — and it took both the extension and the website down with it. Over the last week that happened to roughly one in seven people who were signed in. The extension now holds a sign-in entirely of its own, so nothing the website does can shut it out, and the swap happens by itself in the background — you do not have to open anything or sign in again. The second half of this was quieter and worse: signing back in showed you a list of your Google accounts, and choosing a different address from the one you had been using created a whole separate account, with its own run allowance and none of your history. Nine people are already in that position. A sign-out you did not ask for now takes you straight back to the address you were using, and if Google hands back a different address anyway, the extension stops and tells you rather than quietly starting you over somewhere new.
Videos From the Biggest TikTok Accounts Save Again
Two TikTok runs finished, reported success, and left the results page empty. The cause was a single number: TikTok reports a creator's lifetime likes in two different places, and the older of the two cannot hold a figure past roughly two and a fifteen hundredths billion — an account sitting at two point three billion came back as minus one point nine billion. A count that cannot exist is refused outright when the run tries to save, and it is refused as a whole batch, so every video collected alongside it went with it. Both numbers were always being sent; the extension now reads the newer one, which carries the full figure as text, and floors anything negative for the handful of responses that only ship the old copy. The same class of failure has been closed off on our side for every platform, not only TikTok, so one bad counter can no longer void a run's other rows.
Long Reddit Runs Report Themselves Honestly
Reddit runs now pace themselves to Reddit's own request allowance, which means a large one genuinely sits still for ten or eleven minutes at a stretch. That exposed an assumption made back when these runs took seconds: the extension stopped keeping track of a run it had not heard from in ten minutes, so the pause outlasted its own memory of the job. The consequence was reporting, not data. The finish screen came up with no posts, no upvotes and no comments; the entry in history stayed open as though the run were still going; and the results were sitting on the results page the entire time, complete. The page doing the collecting now keeps its own running totals and hands them over when it finishes, and a run stays remembered for three hours rather than ten minutes. The run closes itself out in history and the finish screen shows the real figures.
Reddit Comment Runs No Longer Stop Part-Way
A five-hundred-post run on a subreddit finished, said it was done, and had comments for only a hundred and sixty-six of the four hundred and thirty-nine posts that had any. Reddit allows a hundred requests every ten minutes and publishes exactly how much of that allowance is left on every single response. The extension was asking about roughly one post a second — six times over — and once the allowance ran out Reddit refused everything for the rest of the window. Each refusal quietly skipped that post, so a run that lost most of its comments looked identical to one where the posts simply had none. It now reads the allowance Reddit sends back, stops before spending the last of it, and waits out the real reset instead of guessing; a refused post is retried rather than dropped. The honest cost is time: a few hundred posts has to span several ten-minute windows, so plan for closer to an hour, with the live view counting down while it waits. Runs also record how many comment threads they actually reached, so a partial run says so instead of looking clean. The comments that did come back were never wrong — a spot check against Reddit covering twenty-seven posts and six hundred and eighty-five comments matched exactly.
The Explore Page Collects Again
A run on the Explore page would start, tick along, and finish having saved nothing — an empty live view and an empty results page. Instagram had quietly rearranged how it sends that grid. The posts were all still there, just packed differently, and the extension was still reading the old arrangement; it reads the new one now, and a run collects twenty-four posts a page as before. Reels needed their own handling: they arrive nested a level deeper than photos do, and they are roughly a third of what Explore shows, so missing that would have quietly dropped eight posts in every twenty-four. A checked run came back with a hundred posts from ninety-seven different creators in twenty-eight seconds, every row distinct. Nothing else on Instagram was affected — profiles, hashtags, the home feed and the reels feed all read a different shape.
Collect the Reels Instagram Is Pushing Right Now
Every Instagram source so far started from something you already knew to look for — an account, a hashtag, a sound. The reels feed is the opposite: it is what Instagram decides to put in front of you, and it is where a reel goes when it starts working. That page is now a source. A run collects the reels as they come, and because the feed keeps moving it reaches well past what one account or one tag would give you — a hundred reels came back from ninety-five different creators, taking under two minutes. Nearly all arrive with the caption, the date, the thumbnail and the sound; roughly one in eight carries a location and one in nine has tagged accounts, which is simply how often reels have them. The page had been listed as unsupported, and the message never appeared — the run started anyway and named itself after an account that does not exist. One more thing worth knowing: the feed jumps as it works, so reels visibly go past on screen. Nothing is skipped. What gets saved is read as Instagram sends it, not off what is drawn, and two full runs came back with every row distinct.
Play Counts on the Reels Feed, and a Column to Sort Them By
Plays are the number that says whether a reel actually reached anyone, and the reels feed does not include it — Instagram sends that field empty on every row. It can be looked up for each reel individually, which is what the new Fetch play counts switch does. It is off unless you turn it on, because it is one lookup per reel and roughly doubles how long a run takes; on a hundred reels that is a couple of extra minutes. The duration of each reel comes back with it. On the results page, plays now have their own labelled column instead of sharing an unlabelled one, the length of the reel shows when you hover it, and both go into the CSV and Excel files and onto a shared link, so a spreadsheet can be sorted by reach the moment it opens.
The Finished Count Now Matches What Was Saved
A run set to 300 reels ended on a screen saying 287, which reads like thirteen went missing. They had not: all three hundred were saved and all three hundred were there on the results page. Reels are collected a page at a time, and a run stops the instant it has enough — which could be while the page that got it there was still being written down. The count was read before that finished, so it came up exactly one page short. Runs now wait for everything in hand to be saved before reporting, and the two numbers agree. Turning play counts on made this much easier to hit, since a page then takes seconds rather than an instant.
Threads Posts Now Come Back With the Whole Conversation
A Threads post that said 843 comments came back with roughly 230, and there was no sign anything was missing. Scrolling a post only ever loads the replies sitting directly underneath it. Everything written in answer to one of those replies lives one level further down and only appears when you open that thread yourself, and Threads keeps a further set out of the conversation entirely, behind a separate view. Both are now collected. The reply underneath a reply comes back, and so does the one below that, several levels down, each row carrying which comment it answers so a thread can be put back together in order. The set Threads keeps aside comes back too, flagged so you can tell it apart from the rest rather than having it quietly mixed in. On the post above, the same run went from 244 comments to 852. This costs time — each thread has to be opened on its own, so a busy post takes minutes rather than seconds, and the count moves in jumps while it works. The panel now says which part it is on instead of leaving a still number that looks like nothing is happening. If you would rather have the top-level replies quickly, both parts can be switched off under Advanced before you start. They are on by default, because on a busy post they are most of what was said.
Collect the Reels Riding a Trending Sound
A sound is how a lot of Instagram reach actually happens, and until now there was no way to look at one. Instagram gives every audio track its own page listing the reels using it; that page is now a source, so you can collect the reels on a sound the way you would collect a hashtag. Runs are named after the track rather than its number — "Versace on the Floor — Bruno Mars" — so a week later you can still tell which was which. It answers a question the profile pages cannot: who is using this sound, how are their reels doing on it, and is it still climbing. Fixing this also fixed something quieter that affected hashtag and Explore runs. Instagram loads your home feed in the background while you sit on any of those pages, and those posts were being taken as part of the run — folding in posts from accounts you follow that had nothing to do with the hashtag, and worse, ending the run early because the home feed reported it had reached its end. Runs on all three now ignore anything that did not come from the page you are actually on.
Every Reel a Creator Posted, With Play Counts
Reels were being read off a creator's profile grid, and a grid only holds the reels that creator also chose to share there. On one account that was 91 of 108, which looked fine. On another it was 6 of 48 — the run reported six reels and dropped forty-two without saying anything. A creator's Reels tab is the complete list, so that is now what the run is built from, and the grid is only used to fill in extra detail where it has some. Play counts come with it. Instagram splits a reel across the two places: the Reels tab knows how many times each one was played but not what it says, while the grid carries the caption and the date but never the plays. The run now walks both and joins them, which is the only way to answer the thing people actually want to know — which of this creator's reels took off. Reels that never touched the grid have no date anywhere on Instagram's side and used to arrive dated today; their real date is now recovered so the ordering is honest. Two fields we listed have been taken back off: the caption and the audio track are simply absent for a reel a creator did not also share to their profile, and it is better to say so than to hand back an empty column. Every reel now arrives with its thumbnail, which previously only the shared-to-grid ones had.
Two Fixes: Comment Times, and Long Runs Losing Their Post
Two things that were quietly wrong. The list of comments arriving during a run showed every one of them as "now" — the time was collected correctly and exported correctly, but the live list was reading the wrong field and fell back to the current time for all of them. It now shows when each comment was actually written. The second only showed up on long runs. Chrome puts an extension to sleep whenever it looks idle, and a run that took hours — a Threads post with thousands of replies, for instance — got put to sleep and woken again many times over. Waking up lost track of which platform the run belonged to, and anything saved after that point was filed under Facebook instead. The comments were never at risk, but the post they hang off was, and a results page with no post has nothing to show the comments against: it read as an empty run when the data was there the whole time. Each row now carries its own platform, so waking up cannot get it wrong. If you have a run this happened to, the data is recoverable — send us the link.
Private Instagram Accounts Now Say So Before You Spend a Run
Roughly half of the Instagram follower and following runs that finished with nothing were pointed at a private account. Nothing had gone wrong — Instagram does not show those lists to anyone the account has not approved — but the only way to find that out was to spend a run and watch it come back empty. Some people tried the same account four or five times before giving up. The panel now reads the relationship Instagram itself states on the page and marks Followers, Following and Posts as Private on an account you have not been approved to follow, so a run cannot go on something that was never going to arrive. What still works is left alone: a private account's bio, links, follower and following counts, category and verification all come back exactly as before, so Profiles is untouched — and Profiles + Recent Posts now tells you the posts half will be empty instead of promising a preview. If you already follow the account, nothing changes at all, because then Instagram does show you the lists. One thing this deliberately does not do is guess: the label comes from what Instagram publishes about the account, never from an empty result, so an account that is public and quiet is not mislabelled as private. Instagram is first because that is where this cost the most runs. The other platforms follow.
A Faster Way to Tell Us What Is Not Working
Most of what goes wrong, we never hear about — people try something, it does not do what they hoped, and they move on without saying so. There is now a short form for exactly that: pick the closest answer in one click, and add a sentence of your own if the list does not cover it. It takes a few seconds and it goes straight to the list of what gets worked on next, which is a much better use of your annoyance than keeping it to yourself. Nothing is required, nothing is asked about you, and support@insightsocial.app is still there when you want an actual reply from a person.
Signing Out of the Panel Now Ends Your Website Session Too
Sign out is meant to be one action across both halves: the panel forgets you, and so does the website. It clears the panel instantly, then asks any tab you have open on our site to clear itself, and opens a sign-out page if you have none open. The flaw was in the middle step — an open tab was taken as proof the message had landed. A tab still loading, or one running an older version of the site, never acted on it and never said so, and because a tab existed the sign-out page was skipped. The panel showed you as signed out while the website still had you signed in, which is exactly the wrong way round to be wrong, and it showed up when switching between accounts: the next sign-in on the website could pick the old account straight back up. A tab now has to confirm it actually cleared the session before that fallback is skipped. If nothing confirms — no tab open, a tab that has not finished loading, an old page still sitting in a background window — the sign-out page opens and finishes the job. Signing in is unchanged.
When You Are Out of Runs, the Button Now Works Everywhere
The Start button relabels itself "Get more runs" once you have none left, but whether it could be clicked was still being decided by the old rules — a page we cannot collect from, a tab still connecting, or nothing picked yet all left it switched off. Those are perfectly good reasons to block a run, and no reason at all to block someone who is trying to get more runs. The result was an inviting orange button that swallowed the click, with no way to tell it apart from one that would work. Being out of runs now takes priority over every other reason to switch the button off, and the same click from the URL-list bar now goes to the same place instead of stopping short.
A Pinterest Run No Longer Reports Profiles It Failed to Save
Pinner profiles are saved in batches as a run works through them. If a batch was rejected on the way in, the run counted it anyway and finished as completed with a full total — so the number in the panel promised profiles that were never stored, and opening the results showed nothing. The count now only moves when a batch is actually saved, which means a run hitting this reports the real number instead of a confident wrong one. Nothing changes for runs that were saving fine.
Pinterest Pinners Now Come Back With Contact Emails, Phones and Addresses
When Pinterest launched here we said profiles carried a website but never an email. That was wrong, and this corrects it. Business accounts fill in a contact block that Pinterest shows on the profile page and leaves out of search results entirely: an email, a phone number with its country, and for accounts with a physical location a street address, city, region and postcode. Roughly 38% of the business accounts checked had an email in it. Pinner Profiles now collects all of it — the email arrives as a clickable link in the results table and as its own column in the export, with the phone and address fields beside it. Two more ways to reach the same person come with it: the Instagram account a pinner connected to their profile, and their Amazon storefront if they run one. Profiles also now carry the only two audience numbers Pinterest publishes at all — profile views and reach — which never appear in search results and are present on nearly every profile collected individually. Personal accounts do not have a contact block, so those rows come back with a website and empty contact columns rather than a guess.
Every Pinterest Pin Now Comes Back in Full Detail
About two-thirds of pins are posted with no title and no description, so a pin row could arrive with nothing to read and no way to tell what the image was. Pinterest writes its own one-line caption for every image, and that caption is now collected — those rows now say what the pin actually shows. Everything else Pinterest sends comes with it: the board a pin was saved into and who owns that board, which is a different person from the pinner on group boards; the original source account when Pinterest credits one, so a pin lifted from a portfolio site points back at that account; the real outbound host of a link, kept separately because Pinterest labels self-uploads "Uploaded by user" in the same field; video and Idea Pin details including duration and thumbnail; which reactions a pin collected rather than one summed number; the topics Pinterest tags it with; and for product pins, whether the item is out of stock or the listing has gone stale. Same run, same cost — the columns are simply there in the export now.
Pinterest and Reddit Runs Now Show Rows as They Arrive
Every other platform fills the panel as it works, so you can see within a few seconds whether what is coming back is what you wanted. Pinterest and Reddit only reported numbers, which meant you found out at the end. Both now stream each row in as it lands: pins and the pinners behind them, Reddit comments as the reply threads unfold, and search results labelled with the subreddit they came from — which matters on a search that spans the whole site rather than one community. The panel holds the most recent 50 rows, as it does everywhere else, while the counter keeps reporting the real total: a single Reddit comment request can return 500 at once.
A Pinterest Search With No Keyword No Longer Costs a Run
Every request a Pinterest run makes is built around the keyword, so on the empty search page — the one Pinterest shows before you type anything — there is nothing for it to ask for. The panel offered the run anyway. Pressing Start deducted a run and then stopped without reporting it, and the same page saved as a schedule was worse: each turn took the foreground, spent a run and sat there for its full time budget while every other schedule waited behind it. The option now requires a keyword to show up at all, so neither happens. If you saved a schedule from that empty page, remove it and save a new one from a search that has a keyword in it. Pinterest schedule cards also get their proper colour, which had shipped everywhere except there.
Pinterest: Collect Pinners and Their Websites From a Search
Pinterest is the tenth platform, and it earns its place for one reason: the people who post there are overwhelmingly running something. Search for furniture design, wedding stationery or coffee shop interiors and the accounts that come back are studios, shops and makers — and nearly all of them have put their website on their profile. That makes a Pinterest search one of the few places where a list of accounts is already close to a list of businesses. Run it from any Pinterest search results page. Choose Pinner Profiles and you get the accounts behind the results: name, the description they wrote about themselves, their website and whether Pinterest has confirmed they own it, follower and following counts, how many pins and boards they keep, whether they are a verified merchant, and when they last saved anything — which tells you at a glance whether an account is still alive. Choose Pins instead and you get the content: title, description, the page each pin links out to and the domain it belongs to, the board it was saved into, saves and reactions, and the pinner behind it. Take 50, 100 or 250 at a time. Two honest limits worth knowing before you start. A Pinterest search results page is the only place this runs — opening a single board, a single pin or someone's profile page directly will not offer it, and the panel says so rather than pretending. And it collects what a pinner chose to publish: a website on nearly every profile, plus the contact email and phone on business accounts that filled in Pinterest's contact block (see the entry above). Personal accounts publish neither, so those rows come back with a website and nothing more.
Schedules: Set a Scrape to Repeat on Its Own
Most people who track a group, a hashtag or a competitor were doing the same thing by hand every morning: open the page, open the panel, press Start. Schedules does that for you. Open Schedules in the panel, pick the page you want watched, pick what to collect from it — the same options you get when you run it yourself — and pick how often: every few hours, daily at a time you choose, weekly on the days you choose, or Once at a single moment in the future. A scheduled run opens its own Chrome window rather than taking over the tab you are working in, and it needs that window kept in front while it works, because the platforms only load posts into a window that is actually on screen. When several schedules come due together they take turns in one window instead of opening one each, and a run you started by hand always wins — a schedule waits rather than fighting you for the page. If Chrome was closed at the scheduled time, the run catches up once when you reopen it rather than firing every missed turn at you at once. Each schedule card shows when it last ran and what that run collected, so a schedule that has quietly stopped working is visible rather than silent, and a schedule that keeps failing pauses itself and says why instead of burning runs. Times follow your computer's clock, and moving between timezones re-arms them.
Being Signed Out No Longer Costs You a Run
Every platform serves its sign-in screen from the same address as the page you asked for, so a run that checked only whether it had reached the site would happily conclude it had arrived. Signed out of Facebook in that browser profile, or logged out mid-run, you got a run deducted, a window that sat there for its full three-quarter-hour budget scrolling a login form, and an empty export at the end of it. A run now confirms the page it landed on is really the page you picked before it starts — and that check sits ahead of the point where the run is deducted, so being signed out costs nothing at all. Mid-run, if a platform bounces the window to a sign-in page, the run stops there instead of grinding on. Two related annoyances went with it: closing a scheduled run's window used to be reported back as a raw browser error message and counted against the schedule as a failure, and a run torn down halfway could leave the next schedule stuck waiting its turn for ten minutes. Both now end cleanly.
Facebook Shares and Reels Now Come Back With Their Content
When someone shares a post without adding a comment of their own, Facebook sends that share as an empty shell: the words and the photo belong to the post being shared, which travels separately underneath it. Reels are packaged the same way. Neither was being read, so shares and reels arrived in your export with an author, a link and a reaction count but nothing to read — the panel showed them as "(no text)". Worse, a post with no text, no image and no reactions looks like nothing at all, so freshly posted shares nobody had reacted to yet were thrown away before they reached you. Both are now read from the post they wrap. Measured against fourteen live group-feed responses, that took the posts collected from 28 to 48 and left no empty rows at all. Media-only posts also now say what they contain — a photo, a video, a link — rather than simply reporting no text.
A Facebook Date Range Now Decides How Big the Run Is
Picking a time window and a post count at the same time asked two different questions of one run, and the count won — so "last 7 days" on a busy group could stop at 50 posts and hand back two days. Choose a date range now and it governs the run by itself: the count picker steps out of the way, progress reads what it has actually collected against the window rather than a percentage of a target you never set, and the run carries a high safety ceiling purely so it can't run away on an enormous group. The same applies to scheduled runs. Separately, the age limit is now enforced when posts are saved rather than only when scrolling stops — Facebook keeps sending replies that were already in flight, and those older posts were being kept. Posts Facebook gives no date for are still kept, since there is no way to prove they are too old.
Facebook Follower Lists Stop at the Number You Asked For
Facebook hands back followers in batches, and a run was keeping whole batches — so asking for 100 could return 140. Runs now trim to exactly the number you picked. The presets came down to 50, 200 and 500 to match what Facebook will actually serve before it starts throttling, rather than offering numbers that looked generous and then disappointed. And pages and profiles that simply do not expose a follower or following list no longer show the option at all, instead of accepting the run and returning nothing. One more small correction: a comment run now reports how many comments it collected, rather than counting the single post it was pointed at.
Facebook Comment Runs Now Collect the Whole Thread Instead of the First Handful
Facebook loads comments in two different ways. Some posts give you a View more comments link to click; others simply load the next batch when you reach the bottom of the list, with nothing to click at all. On that second kind, a run was giving Facebook about a second and a half to answer before deciding the thread had ended — and Facebook regularly takes up to four. So the run stopped almost immediately and reported success, handing back only the handful of comments the page had already loaded. On a post with roughly five hundred comments that meant a couple of dozen. There was a second problem underneath it: once the list is already scrolled to the bottom, scrolling to the bottom again moves nothing, and Facebook only loads the next batch in response to actual movement — so it was never even being asked for more. A run now waits on a real clock rather than counting attempts, and it lifts the list slightly before returning to the bottom so Facebook registers the movement and sends the next batch. Both the single-post option and the posts-with-comments option benefit, since they share the same machinery. Nothing to change on your side — re-run any thread that came back short and it should now come back whole.
Instagram Follower Lists Come Back Noticeably Fuller
No tool gets a complete follower list out of Instagram, and it is worth knowing why: Instagram reshuffles the order every time it is asked for the next chunk, so each pass through a list is closer to a large sample than a clean read, and some accounts fall in the gap between one chunk and the next. The fewer chunks a run needs, the fewer of those gaps there are. Runs now take the largest chunk Instagram is willing to serve, which is twenty-five accounts — asking for fifty or a hundred quietly gets you twenty-five anyway. Across four full passes over a profile with 2,608 followers, that lifted the share recovered from about 68% to about 76%, and roughly halved the number of requests a run has to make, which also means less chance of Instagram throttling it partway through. If you want closer to the whole list, running the same profile more than once and combining the exports still helps, because each pass samples differently.
Instagram Follower Lists Now Start Even When Instagram Is Throttling
Before a followers or following run can collect anything, it has to work out which account it is looking at. That used to depend on one particular Instagram request — and Instagram has started throttling that one much harder than the rest, sometimes refusing it for hours at a stretch while everything else on the site answers normally. The result was a run that ended straight away with an error, on a profile you could scroll through by hand in the same tab, which understandably looked like the extension was broken. The run now works the account out from the page itself first, falls back to Instagram's search, and only then tries the request that gets throttled — and it confirms the account matches the profile you are on before trusting it, so navigating between profiles can't cause it to pull the wrong list. Runs that failed this way should now start normally.
Instagram Home Feed Runs No Longer Skip the Posts Already on Screen
Opening Instagram shows you a feed before you scroll anywhere. Until now a home feed run ignored that first batch and only began collecting once scrolling started, so the posts on screen when the run began never reached your export. It happened two different ways: on a direct load of instagram.com the first posts arrive inside the page itself rather than as a separate request, and when you clicked Home from a profile or hashtag page Instagram had already fetched the feed in the background before you got there. Both paths are now captured, so a home feed run returns the full set from the very first post. As part of that, batches Instagram fetches ahead of time are matched to the page they belong to — so a hashtag run can never quietly fold in posts prefetched from your home feed. Nothing to change on your side.
Instagram Post Scrapes Now Say That Author Details Come With Them
People kept running an Instagram post scrape, then running Profiles straight afterwards to find out who wrote the posts — not realising the author handle and display name were already in the first export. That was a labelling problem on our side: an option called simply Posts gives no reason to think the creator comes with it. It now reads Posts + Authors, and says what lands in the export: every post with its author's handle and name. Nothing about the data changed — the same fields were always there. Use the separate Profiles option when you want the deeper picture of a creator (bio, follower count, contact links), not merely their handle.
Reach the Developer Directly From the Extension
InsightSocial is built by one developer, and until now the only way to reach them was to leave the extension and find the website. There is a Contact dev button in the sidepanel toolbar — it opens a direct line where you can report something that broke, ask whether a platform or page type is on the roadmap, or say what would make the tool more useful for the work you actually do. Feature requests sent this way genuinely shape what gets built next; several of the scrapes shipped this month started as a message from someone using the extension.
Scrape Instagram Hashtag Authors — Turn Any Hashtag Into a List of Creators, Not Posts
Searching a hashtag on Instagram gives you posts. What most people actually want is the people. Pick Profiles in the sidepanel on any hashtag search and the run collects the creators behind the posts instead: username, display name, avatar, verified badge and profile link, with each creator appearing once no matter how many posts of theirs the hashtag returned. It reads everything from the search results as they load, so it never opens a single profile page — which makes it dramatically faster than the full profile scrape and far less likely to be slowed down by Instagram. Use it when you want the shape of a community quickly: who is posting under #veganbaking, which accounts keep showing up under a competitor's branded tag, who to shortlist for outreach before you commit runs to deeper research. If you need bios, follower counts and contact links as well, Profiles + Recent Posts on the same hashtag does the deeper pass — it opens each creator and takes longer, and the sidepanel now says so up front instead of leaving you guessing why a run is slow. Profiles is also available on any Instagram profile page and on a pasted list of profile URLs. Results land in your dashboard and export to Excel (.xlsx), CSV, or JSON in one click.
Instagram Hashtag Scrapes No Longer Skip the Posts You Can Already See
A hashtag search shows you a grid of posts before you scroll anywhere. Until now a run ignored that first grid and only started collecting once you scrolled, so the posts already on screen when the scrape began never made it into the export — and because those are the top and most recent posts for the tag, they were often the ones you cared about most. There was nothing to indicate it had happened; the count simply started lower than it should have. Runs now capture what is already loaded before they start scrolling, so a hashtag scrape returns the full set from the very first post. Nothing to change on your side — re-run any hashtag you scraped before and you will see the missing posts appear.
When Instagram Slows Profile Lookups Down, the Run Now Tells You Instead of Ending Blank
Instagram limits how quickly anyone can look up profiles, and when it does, it refuses for a few minutes and then goes back to normal. Three things went wrong when that happened. A run that collected nothing ended on a blank panel with no message at all, which looked like the extension had broken rather than like Instagram had said no. Profiles that were refused were saved showing zero followers, zero posts and no bio — a number that looks real in an export but is not. And on a pasted list of profile URLs, one refusal early in the batch could stop the rest of the list from being attempted. All three are fixed. A run that comes back empty now finishes on a screen that explains Instagram paused lookups and suggests waiting a few minutes or switching networks, rather than showing a success card and a button leading to an empty table. Refused profiles are reported as not collected instead of being given invented zeros. And the rest of a URL list keeps going. Runs that finish with results are also no longer wiped off the screen a second after they appear, which could happen on profile batches.
Sign Up With an Email and Password — a Google Account Is No Longer Required
Until now the only way into InsightSocial was a Google account. You can now sign up with any email address and a password of at least eight characters, which matters if you do not have a Google account, if your work email is not on Google, or if your organisation blocks third-party sign-in popups. The sign-up screen offers both: Google on top, email and password underneath. After you sign up we send a confirmation link to your address — open it and your account is ready. If you ever lose the password, "Forgot password?" on the sign-in screen sends a reset link, and setting a new password signs out any other device that was still using the old one. Nothing changes for existing users: if you already sign in with Google, keep doing exactly that. The two methods are not separate accounts either — if you sign up with an email address and later use Google with that same address, you land in the same account with the same sessions, exports, plan and run balance, and from then on either method works. A quick automated bot check runs on the sign-up, sign-in and password-reset screens to keep throwaway accounts off the free plan; it usually passes without you touching anything.
Delete a Session and Everything It Collected, From Your Dashboard
You can now remove a scrape you no longer want to keep. Open your dashboard, go to History, and each session has a Delete action next to it. Deleting takes the session and every row collected in it out of your account: it disappears from your history and results, any share link you created from it stops working, and Ask your data can no longer see it or answer questions about it. Files you already exported to Excel, CSV or JSON live on your own computer and are untouched — deleting here does not reach them. Two things to know before you use it. It cannot be undone, so there is a confirmation step rather than a one-click delete; and the run the scrape spent is not given back, because the work was already done. This is useful for clearing out test runs and abandoned scrapes so your history stays readable, and for taking down data you collected for a client or a project once that project is finished.
Scrape Facebook Post Reactions — Export Everyone Who Reacted to Any Post, With Their Reaction Type
Facebook posts get the same treatment LinkedIn posts already had: export the people behind the reaction count. Open any post permalink, pick Post Reactions in the sidepanel, and one run walks the entire reactor list — not just the handful Facebook previews in the hover card — and captures every person who reacted: display name, profile URL, numeric profile ID, avatar image, account type (User or Page), and the exact reaction they left, whether that's Like, Love, Care, Haha, Wow, Sad or Angry. Where Facebook exposes it, the row also carries mutual-friend count, friendship status, whether you can message the person, and their follow status — so you can tell a stranger from a warm contact before you ever open a profile. A single run covers every reaction type in one pass, so you don't have to repeat the scrape tab by tab. Results stream into the live feed as they're captured, land in your web dashboard, and export to Excel (.xlsx), CSV, or JSON in one click. Built for the same job as post-comment scraping but with far more reach: the people who reacted to a competitor's announcement, a viral community post, or your own best-performing content are the softest signal of interest you can get at scale — useful for warm-lead sourcing, audience research, engagement audits, community mapping, and campaign reporting. No Graph API access, no page-admin permission on someone else's post, no code, no manual copy-paste.
Scrape Reddit Search Results — Export Every Post a Keyword Search Returns to Excel
Reddit is no longer single-post only: keyword search is now a scrapeable source. Run any search on reddit.com — site-wide or scoped to a subreddit via /r/{subreddit}/search — set the sort and time range with Reddit's own controls, and InsightSocial exports every post the search returns. Each row carries the title, body text and flair, the author (username plus author flair), the subreddit it came from (name, ID and subscriber count), score, upvote ratio, comment count and awards, the post type (text / link / image / video / gallery), any outbound link and its domain, thumbnail or preview media URL, the post timestamp and permalink, and the NSFW, spoiler, locked and pinned flags. The scraper mirrors whatever sort and time-range you picked on screen, so 'Top / This year in r/SaaS' scrapes exactly what you're looking at. Reddit's search ranker stops returning results at roughly 250 posts per query no matter how you sort, so the run targets cap there rather than promising rows Reddit won't serve — narrow the query or the subreddit to go deeper. Results land in your web dashboard and export to Excel (.xlsx), CSV, or JSON in one click. Built for customer-voice and pain-point research across a category, competitor and brand mention tracking, content-idea mining from what already ranks, community discovery, and any AI or NLP pipeline that needs a structured corpus of Reddit posts on a topic. No Reddit API key, no OAuth developer app, no PRAW setup, no rate-limit quota to negotiate.
Scrapes Now Work When Your Social Accounts Are Not in English
If your social accounts are set to Vietnamese, Spanish, Japanese or any language other than English, some scrapes quietly returned zero rows — and there was no error to explain why. The cause: several steps identified the right thing to open or click by reading the English wording on screen ('View more comments', 'followers', 'Show more replies'), so on a translated interface they matched nothing and the run finished empty. Every one of those steps now recognizes the element by its structure and role in the page instead of its wording, which is the same in every language. This fixes Instagram followers and following lists (which now read the list directly instead of clicking a translated counter), Instagram and Threads comment pagination, TikTok reply expansion, YouTube comment loading, LinkedIn result pagination, and Facebook comment pagination and profile detection. If you previously tried one of these and got an empty export, it will work now — no setting to change on your side.
InsightSocial Has a New Home: insightsocial.app
InsightSocial now lives at insightsocial.app instead of insightsocial.xyz. Nothing about how you work changes: the extension, your saved sessions, your exports, your plan and your run balance are all exactly where you left them, and every old link or bookmark you have forwards to the new address on its own, so there is nothing for you to update. The one thing you may notice is a single sign-in prompt — browsers keep you logged in per web address, so the first time you open your dashboard at the new address it will ask you to sign in with Google again. After that you stay signed in as usual. Your support and privacy contact addresses are unchanged. If you had a dashboard page open while the move happened, a refresh is enough to pick everything up.
Scrape Reddit Post Comments — Export the Full Nested Comment Tree from Any Post to Excel
InsightSocial now scrapes Reddit. Open any post — www.reddit.com/r/{subreddit}/comments/{id}/... or the old.reddit.com equivalent — pick Post + Comments in the sidepanel, and one run captures the post itself plus the entire nested comment tree: every top-level comment and every reply at every depth, not just the visible page. Per-post fields include title, author, self-text (body + rendered HTML), subreddit, score, upvote ratio, num_comments, link flair, NSFW / locked / stickied flags, external URL for link posts, post type, and created timestamp. Per-comment fields include the comment ID, parent_id and link_id (so the reply tree survives the CSV), author (or [deleted]), author fullname, body + rendered HTML, score, timestamp, edit timestamp, depth (nesting level), is_submitter flag (marks OP replies), distinguished flag (moderator or admin), controversiality score, awards total, and author flair — a full 20+ field row per comment. The scraper hits Reddit's public JSON endpoint, walks the whole tree at depth 100 with a 500-comment page size, then automatically drains every 'load more comments' stub and re-fetches every 'continue this thread' branch, so nothing is truncated the way Reddit's own default page does. It piggybacks on your logged-in Reddit session for higher rate limits when you're signed in, and falls back to anonymous fetches cleanly when you're not. Results land in your web dashboard with the post header on top and the full nested tree rendered inline (expand-collapse per parent), and export in one click to Excel (.xlsx), CSV, or JSON — the flat CSV keeps parent_id + depth so you can rebuild the tree in a notebook or a BI tool. No Reddit API key, no OAuth developer app, no PRAW or reddit-scraper library setup, no rate-limit quota to negotiate, no code and no manual copy-paste. Built for customer voice research (real complaints and workarounds in your category subreddits), qualitative sentiment and discourse analysis on any viral post, competitive intelligence (how your niche talks about competitors), community trend tracking (snapshot Top posts weekly and diff for rising themes), academic research on online discourse, brand-safety audits around your mentions, and any AI or NLP workflow that needs a structured Reddit comment tree feeding into an LLM prompt, a sentiment model, or a topic-clustering pipeline.
Scrape Facebook Followers & Following — Export Any Page or Profile's Full Follower List to Excel
You can now scrape a Facebook Page or Profile's full follower list — or the list of accounts it follows — in one run. Open any facebook.com/{name}, /pg/{name} or profile.php?id=X URL, pick Followers or Following in the sidepanel, and InsightSocial navigates to the right tab, scrolls it end-to-end and exports every follower row: display name, entity ID (profile or page numeric ID), profile / page URL, avatar image, subtitle line (bio or mutuals when Facebook shows one), verified badge, and entity type (User or Page — surfaced from Facebook's own GraphQL __typename so mixed follower lists stay classified correctly). The follower loop paces itself like a person reading a list — 2–5 second gaps between scrolls, occasional 15–40 second idle breaks, and mixed scroll motion — so long lists complete cleanly instead of tripping Facebook's follower-graph rate limits. Rows stream into the live feed as they're captured, land in a dedicated table you can browse in your web dashboard, and export to Excel (.xlsx), CSV, or JSON in one click — no Graph API access, no code, no manual copy-paste. Built for competitor audience mapping, influencer follower analysis, community overlap research, warm-lead sourcing from local business pages, and any workflow where the followers of a specific account are the target list.
Scrape LinkedIn Post Likers & Commenters — Export Everyone Who Engaged With Any LinkedIn Post to Excel
LinkedIn gets its most-requested upgrade: scrape the people engaging with any LinkedIn post. Open a post's permalink, pick Reactions, and the LinkedIn post likers scraper exports every person who reacted — full name, professional headline, profile URL and public identifier, profile photo, connection degree (1st / 2nd / 3rd), and the exact reaction they left (Like, Celebrate, Support, Love, Insightful, Funny) — walking the entire reactor list, not just the preview LinkedIn shows. Pick Comments instead and one run captures the post's full comment section: every top-level comment and its expanded reply threads, each commenter's name, headline, profile URL and photo, the complete comment text, like count, per-reaction breakdown, reply count, timestamps, edit and pinned flags, whether the post author replied, and a permalink for every comment — so the whole conversation tree survives export. This is how modern social selling actually works: the people liking and commenting on a competitor's launch post, an industry influencer's viral thread, or your own content are hand-raisers who just told you what they care about. Export them to Excel (.xlsx), CSV, or JSON in one click and you have a warm B2B lead list with job titles and profile links attached — ready for LinkedIn outreach, ABM target-account matching, event and webinar promotion follow-up, employee-advocacy audits, and influencer engagement analysis. Works on standard post, share, and ugcPost permalink formats, streams rows to your web dashboard as they're captured, and needs no LinkedIn API, no Sales Navigator, no code, and no manual copy-paste.
Twitter/X Profile Detection Fix — Profile Pages Recognized Reliably Again
A small but annoying one: opening a Twitter/X profile whose URL ended with a trailing slash (x.com/username/ instead of x.com/username) left the side panel on the "Get Started" screen instead of offering the profile scrape types — posts, followers, following, and liked posts. Profile detection now handles both URL forms, so every public profile is recognized as a scrapeable source no matter how you landed on it.
Scrape a List of Facebook Post Links — Batch-Export Every Post & Its Full Comment Section
You can now scrape a whole list of Facebook posts in one run. Paste any set of post permalinks into the side panel — group posts, page posts, photo posts, links copied from anywhere — and InsightSocial walks the list in your current tab, capturing each post's author, text, reactions, shares and timestamp plus its full comment section: every top-level comment, expanded reply threads, commenter names and profile links, per-comment reaction counts and timestamps. The walker paces itself like a person — it scrolls comments with a natural rhythm, occasionally re-reads, and browses idly between posts — so long batches complete reliably instead of tripping Facebook's rate limits, and a built-in guard detects when Facebook serves the wrong page, retries once, and skips cleanly rather than saving junk data. Everything lands in a single session you can browse in your dashboard and export to Excel (.xlsx), CSV, or JSON — no Graph API access, no code, no manual copy-paste. Built for competitor post analysis, campaign comment mining, community sentiment research across hand-picked threads, lead generation from commenter lists, and any workflow where you already know exactly which posts you need data from.
Scrape YouTube Shorts Comments — Export Every Comment & Reply Thread from Any Short to Excel
The YouTube comments scraper now works on Shorts. Open any youtube.com/shorts/ URL, pick Shorts Comments in the sidepanel, and one run opens the comments panel and scrolls it end-to-end to capture the full comment section — every top-level comment, every reply thread expanded in place, author channel handle (@name), channel ID, display name, avatar, verified badge, creator-hearted flag, comment text, like count, reply count, published timestamp, and the parent comment ID so the whole conversation tree survives export. Choose a count preset (100 / 250 / 500) or let it walk the entire panel, watch comments stream into the live feed, then export to Excel (.xlsx), CSV, or JSON in one click — no YouTube Data API key, no quota, no code, no manual copy-paste. Rows sync to your web dashboard every 50 comments, so partial scrapes keep their data if you stop mid-run, and each capture is fingerprinted by the Short's video ID so swiping to the next Short never contaminates your export. Built for short-form audience research, TikTok-vs-Shorts content strategy, sentiment analysis on viral Shorts, brand-safety checks on sponsored short-form video, creator comment mining for video ideas, and any no-code YouTube Shorts comment export workflow that needs reply threads preserved instead of only the top of the feed. Together with the existing watch-page scraper, InsightSocial now covers both YouTube long-form and Shorts comment sections end to end.
Free Plan Tripled: 30 Scrape Runs Per Month, No Card Required
The free plan just got 3× bigger: every InsightSocial account now includes 30 scrape runs per month (up from 10), on every supported platform — Facebook groups, pages and profiles, Instagram hashtags, posts and followers, TikTok videos and creators, LinkedIn feed and company pages, Threads, Twitter/X, and YouTube. A "run" is still a full scrape session with unlimited posts, so 30 runs can easily mean tens of thousands of rows exported to CSV, Excel or JSON — with no credit card, no trial expiry, and no per-platform cap. Existing free users get the new quota automatically on their next month. This release also polishes the sidepanel — count presets are normalized to three sensible values (with a 500-post-per-run guardrail on phase-2 comment walks so long runs don't stall), Facebook comment scraping no longer saturates while Facebook is still paginating replies, the sidepanel correctly detects the platform from the tab URL (no more false "Get Started" screen), and a few smaller bug fixes around Twitter's deferred Profiles scrape type, the sort dropdown, and What's New date formatting.
TikTok: Export a Creator's Followers & Following to Excel
The TikTok scraper now works on the follower and following lists of any public creator. Open a profile, pick Followers or Following in the sidepanel, and one run opens the modal, scrolls it end-to-end, and captures every account with rich per-row fields: username, display name, bio, avatar, follower count, following count, video count, total likes received, verified badge, private-account flag, and TikTok's stable sec_uid handle. Watch accounts stream into the live feed as the list loads, then export as CSV, Excel, or JSON — or browse the run later in your web dashboard. Under the hood, the completion screen now labels these runs correctly ("Followers" / "Following" instead of a generic "Videos" count), the Sort control is hidden on follower runs where it doesn't apply, and the compact scrape-type row has a softer selected border so the choice reads cleaner in a stacked list.
Threads: Posts + Comment Threads in One Run
The "Post + Comments" scrape type comes to Threads. On the home feed, a profile, or a search page, choose "Post + Comments" and one run captures your target posts and then walks each post that has replies to collect its full comment thread — top-level replies, nested replies, author profiles, and engagement counts. The progress screen shows comments streaming into the live feed with a running comment total as each post is processed. Results show each post with its captured thread, matching the Facebook groups experience.
Facebook Groups: Posts + Full Comment Threads in One Run
The Facebook group scraper gets its biggest upgrade yet: choose "Post + Comments" and one run captures the group posts and then walks each post to collect its full comment thread — top-level comments, replies, author profiles, and timestamps. Every comment also carries a per-reaction breakdown (Like, Love, Care, Haha, Wow, Sad, Angry), not just a total. In your results, each post with captured comments gets an expand arrow that opens the whole thread inline, aligned column-by-column with the posts table, with search that matches comments too.
A Fresh New Look — New Logo & Icons
InsightSocial has a new look: a redesigned logo and a refreshed icon set across the extension toolbar, side panel, and web. Same product, easier to spot in your browser. This release also fixes a small sign-in annoyance — if you closed the Google sign-in tab without finishing, the side panel button stayed stuck on "Signing in…"; it now resets so you can try again right away.
Smoother Scrape Start — No Accidental Stops, No Wasted Runs
Two reliability fixes around starting a scrape. First, double-clicking the Scrape button no longer cancels your session — previously the Stop button appeared in the same spot the instant a scrape started, so the second click of a quick double-click could stop it before it collected anything. Stop now ignores clicks for the first few seconds after start. Second, runs are only charged when a scrape can actually begin: if the page you were scraping was closed by the time you hit Scrape, the extension now tells you instead of consuming a run with nothing to show for it.
Scrape Facebook Search Results & Group Search — Export Keyword-Filtered Posts to Excel
Facebook search is now a scrapeable source. Run any keyword search on Facebook, open the Top or Posts results tab, and the Facebook search scraper collects every post in the result feed — author, post text, timestamp, reactions, comments, shares, and permalink — into Excel (.xlsx), CSV, JSON, or Google Sheets. Group search gets its own dedicated source too: searching inside a specific Facebook group pulls keyword-matched posts from that group's entire archive, so you can mine years of a niche community for one topic without scrolling it by hand. Both are powered by the new "Keep current view" option, which scrapes the page exactly as you filtered it — apply Facebook's own date-range or most-recent filters, keep your search keywords active, and the scraper collects that filtered feed in place without reloading the page and wiping your filters. Keep current view works on group, page, and profile scrapes as well, turning Facebook's native filters into scrape filters: track brand mentions by keyword, pull every post about a topic from a buy/sell group into a lead list, collect competitor campaign posts inside a specific date window, or monitor a developing story across public search results — no Facebook API, no code, no manual copy-paste. The extension itself got a refresh alongside: a new What's New screen inside the sidepanel shows what changed in each release (with one-click bug-report and feature-request buttons), scrape options across all seven platforms use a cleaner compact layout that fits more on screen, and reliability fixes ship for Threads comment scraping — replies are no longer mixed into the posts table — and for Instagram comment scrapes that could previously hang when a post errored mid-run.
Instagram Reels Play Counts, Pinned Posts & Audio Tracks + TikTok Sponsored-Post Detection — Richer Columns in Every Export
Every Instagram scrape now captures the Reels metadata that engagement analysis actually runs on. Each post row carries its play count — the true video-view number Instagram shows on Reels, distinct from likes — plus the post's product type (reel, carousel, feed photo, or IGTV), an is-pinned flag for posts the creator pinned to the top of their profile grid, and the full audio attribution: music title, artist name, and whether the creator used original audio or a licensed track. That turns a plain Instagram post export into a trend-research dataset — sort a hashtag scrape by plays to find breakout Reels, filter to original-audio posts to spot sounds before they trend, separate pinned evergreen content from the regular posting cadence, and audit which licensed tracks power a competitor's top content. On TikTok, every video row now carries a sponsored-content flag, so promoted videos and paid partnerships that TikTok injects into search results and hashtag feeds are labeled right in your Excel export — no more manually cleaning ads out of organic-performance datasets before analysis, and ad-intelligence workflows get a ready-made filter for studying which sponsored creatives brands are running. TikTok video rows also include the creator's full profile bio, so exports double as a lead list for influencer outreach — bios with emails, agency handles, and booking links come along without a second profile scrape. As always, every new column lands automatically in Excel (.xlsx), CSV, JSON, and Google Sheets exports with no API key and no code. This release also hardens day-to-day reliability: the extension no longer signs you out when a background token refresh hits a transient network error, TikTok's completion summary survives closing and reopening the sidepanel, and Instagram follower and profile scrapes now report accurate result counts on the completion screen and in your run history.
Scrape TikTok Video Comments — Export Every Comment, Reply & Photo Comment from Any TikTok Video to Excel
Open any single TikTok video and Insight Social's TikTok comments scraper pulls the full comment section — every top-level comment and every nested reply, with the commenter's @username, display name, profile avatar, and stable sec_uid, the full comment text, like count, reply count, posted timestamp, comment language, and the parent comment ID so the entire conversation tree survives export. Photo and sticker comments — the image-only replies that other TikTok comment exporters return as blank rows — are captured with their full image URL and rendered as real thumbnails in the dashboard, so meme reactions and photo replies count as actual content in your sentiment analysis instead of '(no text)' placeholders. Creator signals come through too: comments liked by the video's creator and comments pinned by the creator are flagged on every row, and the creator's own replies get a badge in the dashboard's comment view, which supports Top / Newest / Oldest sorting, full-text search across comments and authors, and expandable reply threads. Export every TikTok comment to Excel (.xlsx), CSV, JSON, or straight to Google Sheets in one click — each row carries the video ID, video URL, and creator name as join keys so exports stand alone in any spreadsheet or BI tool. No TikTok API key, no code, no manual copy-paste: paste a TikTok video URL, pick the Comments scrape type, and the no-code TikTok comment scraper handles the rest. Built for TikTok sentiment analysis on viral videos, brand monitoring and community management, influencer research and creator audits, UGC and ads-creative testing, social listening on trending sounds, journalism on public TikTok conversations, and any workflow that needs a complete TikTok comment export — replies, photo comments, and creator reactions included — instead of just the top of the thread.
Scrape YouTube Comments — Export Every Comment, Reply Thread & Reaction from Any YouTube Video to Excel
YouTube is Insight Social's 7th platform. Open any YouTube video's watch page and the new YouTube comments scraper pulls the full comment section — every top-level comment, every nested reply thread expanded in place, author channel handle (@name), channel ID, display name, avatar, verified badge, creator-hearted flag, comment text, like count, reply count, published timestamp, and the parent comment ID so the full conversation tree survives export. Every comment and reply lands in Excel (.xlsx), CSV, or JSON in one click — no YouTube Data API key, no daily quota, no OAuth screen, no manual copy-paste. The YouTube comment scraper works on any /watch?v= URL, streams rows to your web dashboard every 50 comments so partial scrapes keep their data if you stop mid-run, and automatically re-expands reply threads that YouTube collapses after inactivity. Because Polymer navigation swaps videos in-place, the injector fingerprints each capture by video ID and drops rows that belong to a different video if you switch tabs — so a Recommended-video click never contaminates the export. Built for YouTube audience research, creator analytics, brand-safety monitoring on sponsored videos, sentiment analysis on viral uploads, community-management workflows across long threads, competitor content audits, ads-creative testing, journalism on public YouTube conversations, and any no-code YouTube comment export workflow that needs replies + reactions preserved instead of only the top of the thread. Content creators can mine their own comment sections for video ideas, brand managers can track how audiences react to campaigns, and researchers can collect discussion data for sentiment and discourse analysis without ever touching the YouTube Data API.
Scrape Twitter/X Followers, Following & Your Liked Posts — Export Full Lists to Excel
Three new scrape types land on Twitter/X. Open any public profile and Insight Social's Twitter followers scraper now exports the complete follower list — @handle, display name, bio, profile picture, verified and blue-verified badges, follower / following / post counts, location, website, and account creation date for every person — with presets from 100 to 5,000 or Max to walk the entire list. Pick Following instead and you get the same per-account detail for everyone the profile follows, perfect for mapping who industry leaders pay attention to, comparing audience overlap between competitor accounts, and studying network composition over time. You don't even have to find the list yourself: select Followers or Following from the profile screen and the extension navigates to the right tab automatically before it starts collecting. The third addition is a Liked Posts scraper for your own account — X made likes private in 2024 and the Likes tab has no search, so exporting is the only practical way to keep an archive. Insight Social pulls every post you've liked with its full text, original author, media URLs, engagement counts, and timestamps, so saved threads and references survive author deletions and account suspensions. Everything exports to Excel (.xlsx), CSV, or JSON in one click, and follower / following results get a dedicated Followers view in the web dashboard for browsing, filtering, and re-exporting. This release also hardens long-running Twitter scrapes — the final batch of a followers export can no longer be silently dropped if the last sync hiccups — and aligns all in-app wording with X's terminology (Posts, not Tweets). No Twitter API key, no code, no manual copy-paste.
Scrape Facebook Post Comments — Export Every Comment, Reply & Reaction from Any Facebook Post to Excel
Open any single Facebook post and Insight Social's Facebook comments scraper now pulls the full comment thread — every comment author's name, profile id, profile URL, and profile picture, the full comment text, reaction counts, reply counts, the parent comment id for nested reply expansion, and the permalink + timestamp for every comment. The new Single Post source detects every Facebook post URL pattern out of the box: /{username}/posts/{id}, /permalink.php?story_fbid=, /groups/{id}/posts/{id}, /groups/{id}/permalink/{id}, /{username}/permalink/{id}, and the modern /photo/?fbid= and legacy /photo.php?fbid= photo-viewer modals — so you can scrape Facebook comments on profile posts, page posts, Facebook group posts, public Facebook permalinks, and Facebook photo comments without changing tabs. Pick the Post + Comments scrape type, set a target (50, 100, 250, 500, or unlimited), and the no-code Facebook scraper handles every Facebook comment export in one click — straight to Excel (.xlsx), CSV, or JSON, with no Facebook API key, no Graph API limits, no manual copy-paste. Built for Facebook brand monitoring, community management on Facebook groups, customer-support audits of Facebook page posts, sentiment analysis on viral Facebook content, influencer research, ads-creative testing, journalism on public Facebook conversations, and any workflow that needs a no-code Facebook comments scraper that captures the entire conversation — focal post plus every reply — instead of just the top of the thread.
Scrape Instagram Comments with Replies, GIF Comments, and Commenter Avatars — Full Thread Export
Insight Social's Instagram comments scraper now captures full conversation threads instead of just top-level comments. Toggle 'Include replies' on any Instagram post scrape and the extension pulls every reply nested under every parent comment — replier handle, display name, verified badge, comment text, like count, timestamp, and parent comment id, so the full conversation tree is preserved for export to Excel (.xlsx), CSV, or JSON. GIF-only comments — the ones that used to land in your export as empty rows or '(no text)' placeholders — are now captured with their full Giphy media URL, so animated reactions show up as real content for sentiment analysis, audience research, and engagement audits. Every comment and reply now carries the commenter's profile picture URL too, so the web dashboard renders real avatars next to each row on first paint instead of falling back to initials — useful for influencer research, community-management workflows, and any Instagram comment export that needs to be shareable across a team. No Instagram API key, no manual copy-paste, no missing replies — open any Instagram post, pick the Comments scrape type, and the no-code Instagram comments scraper handles the rest. Re-scrape any older session to backfill replies, GIF content, and avatars on existing results.
Scrape TikTok Users & Videos from Any Search Keyword — Export Creators to Excel
Run any keyword search on TikTok and Insight Social now captures every result — creators and videos — without an API key. Open tiktok.com/search/user?q=<keyword> and pick the new Users scrape type: the TikTok scraper pulls every creator who matches the keyword, including nickname, @handle, bio, profile avatar, follower count, total likes, verified badge, and the stable sec_uid for long-term referencing. Export the full creator list to Excel (.xlsx), CSV, or JSON in one click, or feed the bios into the bio-link enrichment service to surface publicly listed emails, phone numbers, and business links for research and due diligence. Switch to /search/video?q= and the TikTok scraper now keeps paginating past the first two batches — scroll through hundreds of videos with their captions, view counts, likes, comments, shares, music tracks, posted timestamps, and creator metadata, capped at whatever target you set in the sidebar. Built for influencer discovery, TikTok hashtag campaign monitoring, creator marketplaces, market research, sentiment analysis on viral trends, and anyone who needs a no-code TikTok scraper that handles search results — not just profile pages. Pick Users or Videos in the picker and the extension navigates to the right tab automatically.
Scrape Twitter/X Tweet Replies — Capture Full Conversation Threads & Export to Excel
Open any tweet on Twitter or X and the Insight Social Twitter scraper now pulls the focal tweet plus every reply in the thread — author handle, display name, verified badge, reply text, media, likes, retweets, reply counts, and timestamps, all linked back to their parent tweet so the full conversation structure is preserved. Export the entire thread to Excel (.xlsx), CSV, or JSON in one click — no Twitter API key, no rate-limit headaches, no manual copy-paste. Built for brand monitoring on Twitter/X, customer-support thread audits, sentiment analysis on viral tweets, influencer research, journalists tracking breaking stories, and anyone who needs the full picture of how an audience responded to a post. Replies on a single-tweet page now appear as a dedicated scrape type in the sidebar — Tweet Details was merged into the Replies flow because the focal tweet's author, content, media, and engagement are captured in the same pass.
More Reliable LinkedIn Post Scraping — Capture Every Post on Company Pages & Profile Activity
LinkedIn scrapes now capture the full set of posts on company pages and profile activity feeds. The LinkedIn scraper picks up the initial batch that loads with the page (previously dropped on some runs), automatically clicks 'Show more results' when LinkedIn gates the feed after the first 20–30 posts, and uses smoother scrolling so LinkedIn's pagination doesn't throttle long sessions. Result counts in the web dashboard now match the data you export to Excel, CSV, or JSON — no more discrepancies between what the extension shows and what the server stored. On the Instagram side, the bulk profile-posts scraper now stamps the creator's profile picture, full name, and verified badge on every row, so author columns are populated on first export instead of falling back to initials. The User Posts completion screen also drops the redundant 'Authors' counter on single-profile scrapes.
Scrape LinkedIn People Search Results & Full Profile Details
Turn any LinkedIn people search into a clean spreadsheet. Run a search on LinkedIn, apply your filters, and Insight Social captures every person in the results — name, headline, location, current role, and profile URL — then exports the whole list to Excel, CSV, or JSON in one click. Open any profile and the LinkedIn profile scraper pulls full people details too: about, experience, education, skills, and connections. Built for recruiters sourcing candidates, competitive analysts mapping a category, and researchers studying a labor market — no LinkedIn API, no manual copy-paste.
Scrape Any LinkedIn Company Page Posts
Open any LinkedIn company page and pull its posts straight into Excel, CSV, or JSON — content, reactions, comments, reposts, and timestamps for every post. Start from the company's landing page (we'll jump to the Posts tab for you) or from /posts/ directly. Built for competitor monitoring, brand research, and social-listening exports across LinkedIn organizations.
A Faster, Lighter Insight Social
A snappier extension across the board. Open the sidebar after closing it and your scrape picks up right where you left off. Switch tabs mid-scrape and it pauses safely instead of breaking — so long-running jobs finish cleanly.
One-Click Post Details on Every Platform
Click any row in your results — Facebook, Instagram, Twitter/X, LinkedIn, or Threads — to open a full detail view with the post, engagement, author, and media in one place. No more squinting at columns or hunting for the original link.
Capture Threads Comments
Scraping a Threads post now pulls its comments too. Export posts and comments together as CSV or JSON for audience research, sentiment analysis, or competitive monitoring.
Audit Any Instagram Audience
Scrape an Instagram account's followers and following list, then filter by Mutuals, Following, or Not following back. Live counts at the top, one-click CSV export — no API key, no copy-paste.
Export Instagram Comments
Comments captured during Instagram scrapes can now be exported to CSV or JSON straight from your results — ready to drop into sentiment tools, CRMs, or your analytics workflow.
Threads Scraping is Here
Full Threads support is live. Scrape posts from profiles, search results, and your feed — text, engagement, media, and tags all flow into Excel with one click.
Scrape Without Getting Flagged
The scraper now mimics natural browsing — randomised pauses, smooth scrolling, realistic interactions — so platforms don't treat your activity as a bot. Your accounts stay safe.
LinkedIn Posts to Excel
Pull posts from LinkedIn profiles, company pages, and your feed straight into Excel. Content, engagement metrics, and timestamps — captured without copy-pasting a single row.
Refer a Friend, Get 10 Bonus Runs
Invite a friend and you both earn 10 bonus runs. Bonus runs never expire and are spent before your monthly allowance. Find your link behind the gift icon in the sidebar.
Your Results, on the Web
Session results moved out of the extension and into a full web dashboard. View, sort, and export from any browser on any device — and enjoy a much lighter extension at the same time.
Cloud Sync & Scrape History
Every session syncs securely to the cloud and shows up in a searchable History dashboard. Browse past scrapes, see totals at a glance, and never lose a run to a cleared cache again.
Smarter Scheduled Scrapes
Schedules now run until they're done — no checkpoint settings to tune. If your computer was off when one was due, Insight Social catches it up the next time you open Chrome.
Scrape in the Background
Long scrapes now run quietly in an inactive tab. Keep working in another window while your data extraction finishes — no more babysitting a browser.
A Faster Foundation
We rebuilt the engine from the ground up. Faster scrapes, fewer crashes, and a much smaller download — paving the way for everything you've seen in 2026.
Frequently Asked Questions
Common questions about Insight Social releases, supported platforms, and how updates reach your Chrome extension.
How often does Insight Social release new features?
Which social media platforms does Insight Social scrape?
How do I update the Chrome extension to the latest version?
Where can I request a feature or report a bug?
Is Insight Social free to use?
Can I export scraped data to Excel or CSV?
Start scraping in two clicks
Install the free Chrome extension and export your first social media dataset in under a minute. 10 free scrape sessions every month — no credit card required.