This n8n workflow automates the process of scraping full Instagram profiles using a custom Apify actor, and logs the results into a Google Sheet. It is designed to run at scheduled intervals and process a list of usernames by calling the API, appending the results, and marking them as processed.
graph TD;
    ScheduleTrigger --> GetUsernames;
    GetUsernames --> LimitItems;
    LimitItems --> AggregateUsernames;
    AggregateUsernames --> CallApifyActor;
    CallApifyActor --> AppendToSheet;
    CallApifyActor --> MarkAsScraped;
Create a Google Sheet with:
 * **Sheet 1** named `Usernames` (GID: 0)  
Columns: username, scraped
 * **Sheet 2** named `fullprofiles` (GID: 458127000)
Sample sheet:
๐ Instagram Profile Sheet
n8n Configuration
googleSheetsOAuth2Api).apify_api_your token in the HTTP Request node with your Apify API token.| Sheet Name | Purpose | 
|---|---|
| Usernames | Source of usernames to scrape | 
| fullprofiles | Destination of full profile data | 
Instagram Full Profile Scraper
This actor fetches extended profile information from public Instagram profiles.
๐ View on Apify
| Node | Purpose | 
|---|---|
| Schedule Trigger | Triggers the workflow periodically. | 
| Get Usernames | Reads usernames from the Usernamessheet. | 
| Limit | Limits processing to 20 usernames per run. | 
| Aggregate | Groups usernames into a batch for the API call. | 
| Call Apify Actor | Sends the usernames to the Apify actor and receives profile data. | 
| Append Full Profiles | Appends the scraped data to the fullprofilessheet. | 
| Mark Username as Scraped | Marks the processed usernames as scraped = TRUE. | 
| Sticky Note | Provides a reference link to the Apify actor used. | 
Usernames Sheet| username | scraped | 
|---|---|
| exampleuser1 | |
| exampleuser2 | TRUE | 
fullprofiles Sheet| username | full_name | biography | follower_count | ... | 
|---|
For any issues, feel free to reach out:
๐ค @mohamedgb00714
๐ง [email protected]


