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;
Google Sheet
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.
| Node | Purpose |
|---|---|
| Schedule Trigger | Triggers the workflow periodically. |
| Get Usernames | Reads usernames from the Usernames sheet. |
| 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 fullprofiles sheet. |
| 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]