π Archive Instagram stories to Google Sheets with Apify
β‘ 5 views Β· π Market Research & Insights
π‘ Pro Tip β Heads up β if this workflowβs Instagram scraping breaks (it happens whenever Meta updates their frontend), ScraperNode is a community node that handles profiles, posts, reels, and comments without any HTML parsing.
Description
Quick overview
This workflow runs every 8 hours, uses Apifyβs Instagram Stories Scraper to capture current stories from a list of public Instagram profiles, and appends the story metadata and media URLs to Google Sheets while avoiding duplicates across executions.
How it works
- Runs every 8 hours on a schedule.
- Defines the Instagram profile usernames to track and the maximum number of stories to pull per profile.
- Calls Apifyβs Instagram Stories Scraper over HTTP to fetch the latest live stories for the configured profiles.
- Filters the results to keep only successful story items.
- Skips stories that were already archived in previous workflow executions by deduplicating on the story ID.
- Formats each story into a set of Google Sheets columns (timestamps, account, story ID, caption, location, and media links).
- Appends the formatted rows to the selected Google Sheets spreadsheet and worksheet.
Setup
- Create an Apify account and add your Apify API token as an Apify credential for the HTTP request.
- Connect your Google Sheets account and select the target spreadsheet document and sheet tab in the Google Sheets node.
- Update the profile list and maxStoriesPerProfile value to match the public Instagram accounts you want to archive.
π Nodes Used
Google Sheets, HTTP Request, Schedule Trigger, Filter
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File