# Changelog of Instagram Scraper (`vortex_data/instagram-scraper`) Actor

- **URL**: https://apify.com/vortex\_data/instagram-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/vortex\_data/instagram-scraper.md

## Changelog

All notable changes to Instagram Scraper are listed here, newest first.

### \[3.1] - 2026-09-28

#### Changed

- Small runs finish sooner: a run opens its connections to Instagram at the same time instead of one after another, which saves about a second on a run with one or a few URLs.
- Runs with one or a few URLs use less traffic: a run with one URL now does all its work over a single connection, and **Post details** runs share connections between URLs. A single post costs about 45% less traffic than before.
- **Comments** rows have a new field, `isHidden`: `true` for a comment Instagram hides from people who aren't logged in. Instagram's site leaves those comments out of the thread; this dataset keeps them and marks them.
- **Posts** rows have a new field, `facebookLikesCount`: the likes a post got on Facebook when it was shared there from Instagram. Instagram doesn't show this number on its site.
- A line that leads nowhere because of the input itself (an account or post that doesn't exist, a private account, an account with no posts, a post with no comments, or a login cookie Instagram refused) now returns an **error row** with `error` and `errorMessage` instead of nothing. Each error row is charged as one result of the chosen mode. Failures on our side are not charged.
- **Location posts** work without an Instagram cookie: you get a place's recent and top posts, about 70 per place. Add a cookie to get more.
- **Profile details** no longer includes `relatedProfiles`, the list of similar accounts Instagram suggests. Profile rows are faster and lighter without it.
- New README with step-by-step examples for common tasks: posts from the last 7 days, posts from a date range, reel views, comments, emails and phone numbers, followers, hashtags and places.
- Redesigned input form: an example input you can run right away, a date picker for the date filter, and short explanations for every section.
- The **Output** tab groups results into views by type of data: Posts & reels, Profiles, Contacts, Comments, Followers/following/likers, Stories & highlights, and Hashtags & places. Every field now has a description and an example.
- The **Output** tab also shows the run report: what was scraped from each line, what was skipped and why. In the **Storage** tab, the run report and the diagnostics file have their own tabs.

#### Fixed

- **Search** for profiles returns up to your limit instead of stopping at 5 accounts.
- **Following** no longer lists the same account twice for one profile, so you are not charged for repeats.
- With a login cookie, a username that doesn't exist now returns a "not found" error row within a few seconds, instead of a long wait and a generic failure.
- A hashtag or place that doesn't exist now returns a "not found" error row. Before, a hashtag like that was reported as a login wall even with a working cookie.
- **Followers** and **Following** of a private account return a "private" error row instead of an empty result.
- **Comments** on large posts are logged with a reason if Instagram stops returning pages part-way.
- **Comments** from post URLs return every comment you ask for, not only the first 16 of each post.
- Runs with a login cookie no longer send the same request twice from your session when Instagram is slow to answer.
- Fixed a rare case where a run returned only a few posts or reels because Instagram briefly limited the connection when the run started.
- **Tagged posts** returns posts again. For some login cookies, Instagram refused the tagged feed and the run returned no rows.
- A post URL that points to a deleted post, or to a post from a private account, now fails right away with a clear message in **Post details** and **Comments** mode, instead of a technical HTTP error.
- Runs with usernames that don't exist finish several times faster.
- **Profile posts** runs with many posts finish about 20% faster.
- **Location posts** and **Hashtag posts** no longer download the first page of posts twice, so runs over many posts are cheaper and faster.
- Profile details, Stories, Highlights, Followers and Following find each account faster, especially with a login cookie.
- A run no longer waits on one slow connection: a request that timed out is retried from a different address.
- Fixed a rare case where the last rows of a run were not saved to the dataset. Those rows were not charged.
- **Profile reels** read fewer duplicate pages, so reel runs are cheaper.
- A run with a login cookie no longer advises you to add one.
- The highlight title and cover image of Highlights rows (`highlightTitle`, `highlightCoverUrl`) are now listed in the output description.

### \[2.0.39] - 2026-09-27

#### Added

- **Profile reels** lists the account's Reels tab, including reels that aren't shown on the profile grid, with play counts.
- **Profile posts** includes play counts for reels.
- New profile fields: `highlights`, `hasActiveStory`, `latestStoryAt`, `isMemorialized`, `newsRestrictedIn` and `threadsUsername`.
- New post field: `sponsors`, the brands of a paid partnership.

#### Fixed

- With a login cookie, Profile posts, Profile reels and Comments return as many results as without one.
- A post with hidden likes shows an empty like count instead of a wrong number.
- Story rows include the author and a link to the story.
- Highlights work even when Instagram doesn't show the highlight list to your account.

### \[2.0.38] - 2026-09-19

#### Added

- More ways to paste your cookie are accepted: the value alone, one cookie per line, URL-encoded text, text copied through a chat app, and "Copy as fetch" from the browser.
- Nine more countries in **Country you use Instagram from**: Czechia, Portugal, Romania, Vietnam, Philippines, Thailand, Nigeria, Egypt and Colombia.

#### Changed

- Runs with your cookie use the same address and browser for your account every time, so Instagram is less likely to ask you to verify your login.
- Every run reads Instagram from one country (the United States unless you choose another), so the same input gives the same results.

#### Fixed

- A cookie that can't be read no longer stops modes that don't need one. The run continues without it and tells you.
- When your cookie stops working during a run, the run says so clearly.
- A deleted post is reported as no longer available.
- Profile details returns more fields for accounts that Instagram shows only partly to visitors who aren't logged in.
- You are no longer charged for rows without data: a profile row with only a name, or a post row without a date, likes or comments count.

### \[2.0.27] - 2026-09-03

#### Added

- **Comments** and **Likers** accept a username: you get the comments or likers of the account's recent posts.
- The run tells you when Instagram cuts a follower or following list short.

#### Fixed

- Image and video links open from any network.
- Hashtags with emoji no longer fail.
- A run with a working cookie no longer asks you to add one.
- A run that stopped early says so instead of reporting success.

### \[2.0.19] - 2026-08-30

#### Changed

- Search matches are charged as profile records, because each one is a full profile row.
- The form and README say correctly that Comments works without a login.
- Skipped lines are explained in plain words.

#### Fixed

- A paste that mixes usernames and URLs keeps every line.
- Captions and bios show special characters correctly.
- Contacts no longer mistakes opening hours for phone numbers.
- Search mode uses the pasted line as the search phrase when the Search field is empty.
- The date filter returns every post inside the date range.

### \[2.0.14] - 2026-07-27

#### Added

- One **What do you want to scrape?** list with 15 modes, and one field for URLs or usernames.
- New modes: Contacts, Followers, Following, Likers, Tagged posts, Stories and Highlights.
- Usernames and `@handles` work without a full URL.
- **Country you use Instagram from**, so that Instagram doesn't challenge your login.

#### Changed

- The price depends on the type of result (post, profile, story, comment, or account from a list) instead of one price for every row.

#### Fixed

- Business accounts that failed before now return data.
- Valid login cookies are no longer rejected.
- Runs with a short timeout return results.
- The run tells you up front when a mode needs a login cookie.

### \[1.0] - 2026-05-14

#### Added

- First release: posts, reels, profile details and comments from profiles, posts, hashtags and places.
- Search for profiles, hashtags and places.
- Date filter for posts.
- Optional login cookie for data that Instagram shows only to logged-in users.
- Export to JSON, CSV, Excel and HTML, and access through the API.
