n8n-nodes-instagram-private-api

This is an n8n community node for Instagram automation using the instagram-private-api library. It provides comprehensive access to Instagram's private API capabilities for workflow automation.
π¨ v0.0.10 CRITICAL UPDATE: This version now uses ONLY session data authentication for 100% reliability. Username/password login has been completely removed to prevent Instagram blocks. You MUST use the extract-session.sh script to obtain session data. See AUTHENTICATION_GUIDE.md for details.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Version History
Development
Installation
Follow the installation guide in the n8n community nodes documentation.
π¦ Install via npm
npm install n8n-nodes-instagram-private-api-wrapped@latest
npm install n8n-nodes-instagram-private-api-wrapped@0.0.10
π Updating from Previous Versions
If upgrading from v0.0.9 or earlier:
npm uninstall n8n-nodes-instagram-private-api-wrapped
npm install n8n-nodes-instagram-private-api-wrapped@latest
npm run start
π¨ BREAKING CHANGE in v0.0.10:
- Username/password authentication REMOVED - only session data is supported
- You MUST extract session data using the new extract-session.sh script
- All existing credentials need to be updated with session data only
- 100% reliability - no more Instagram authentication blocks
Operations
This node provides the following operations organized by resource type:
π€ User Operations
- Get Profile Info: Retrieve detailed Instagram profile information including follower count, bio, verification status
- Search Users: Search for users by username or query
- Get Followers: Retrieve list of user followers with user details
- Get Following: Retrieve list of accounts a user is following
π± Media Operations
- Get User Media: Retrieve user's posted media with metadata and engagement stats
- Get Media Info: Get detailed information about specific media posts
- Like Media: Like a specific post or media
- Unlike Media: Remove like from a specific post or media
π° Feed Operations
- Get Timeline Feed: Retrieve user's personal timeline feed with recent posts
Credentials
This node requires Instagram session data configured through n8n's credential system:
- Session Data (Required): Pre-extracted Instagram session data in JSON format
- Proxy URL (Optional): HTTP proxy URL for requests
π¨ BREAKING CHANGE v0.0.10: Username/password authentication has been completely removed. You MUST use session data for 100% reliability and to avoid Instagram blocks.
π Session Data Authentication (ONLY METHOD)
Starting from v0.0.10, session data is the ONLY supported authentication method:
- Extract Session Data: Use the provided extract-session.sh script to obtain session data
- Configure Credentials: Paste the session JSON into the "Session Data" field in your credentials
- No Username/Password: These fields have been removed - session data provides complete authentication
Benefits of Session-Only Authentication:
- 100% reliability - no more Instagram authentication blocks
- Persistent authentication across workflow runs
- Zero bot detection - uses legitimate session cookies
- Faster execution - no login process required
π Security Considerations
- Uses n8n's secure credential storage system
- Credentials are encrypted and never exposed in workflows
- Consider using a dedicated Instagram account for automation
- Be aware of Instagram's Terms of Service regarding automated access
Compatibility
- n8n Version: 1.0+ (tested and compatible)
- Node.js: 18.17+ required
- Instagram Private API: ^1.45.3
Usage
This node leverages the powerful instagram-private-api
library to provide access to Instagram's internal APIs, enabling comprehensive automation capabilities.
β¨ Key Features
User Management
{
"pk": "123456789",
"username": "example_user",
"full_name": "Example User",
"follower_count": 1500,
"following_count": 300,
"media_count": 85,
"is_verified": false,
"is_private": false,
"biography": "Content creator and photographer"
}
Media Interaction
- Access to post engagement data (likes, comments)
- Media metadata including dimensions, URLs, captions
- Automated liking/unliking capabilities
Feed Access
- Personal timeline content
- Real-time feed updates
- Engagement tracking
π Example Workflows
- Social Media Monitoring: Track competitor follower growth and engagement
- Content Curation: Automatically collect media from specific users
- Engagement Automation: Like posts from target accounts (use responsibly)
- Analytics Collection: Gather data for social media analysis
β οΈ Important Considerations
- Rate Limiting: Instagram enforces strict rate limits. Use appropriate delays between requests
- Terms of Service: Ensure compliance with Instagram's ToS when automating
- Account Safety: Consider using test accounts for development
- API Stability: Private APIs may change without notice
π Best Practices
- Implement proper error handling in your workflows
- Use realistic delays between API calls (2-5 seconds minimum)
- Monitor for rate limit responses and implement backoff strategies
- Keep credentials secure and rotate them regularly
Troubleshooting
π§ Authentication Issues
For detailed authentication troubleshooting, see AUTHENTICATION_GUIDE.md.
π¨ v0.0.10 - SESSION DATA ONLY:
Starting from v0.0.10, ONLY session data authentication is supported. This eliminates ALL Instagram authentication blocks.
Quick setup:
- Download script:
curl -O https://[...]/extract-session.sh
- Run script:
./extract-session.sh
- Copy session data to n8n credentials
- 100% reliability - no more authentication errors
Common issues:
- "Session data is required": You must use the extract-session.sh script
- "Invalid session data": Session expired - re-run the extraction script
- "Session expired": Re-extract session data using the script
β οΈ No More Username/Password: Direct login has been completely removed to prevent Instagram blocks.
π§ Credential Issues
If you see "Node does not have any credentials set":
- Check Credential Name: Ensure you're using "Instagram API" (not "Instagram Credentials")
- Recreate Credentials:
- Go to Settings β Credentials
- Create new Instagram API credential
- Fill in username, password, and optional proxy URL
- Node Configuration:
- Select the newly created credential in your node
- Save and re-execute the workflow
π Credential Configuration
{
"sessionData": "{\"cookies\":[...],\"sessionId\":\"...\"}",
"proxyUrl": "http://proxy.example.com:8080"
}
π‘ Getting Session Data (REQUIRED)
To use this node, you MUST extract session data using our simple shell script:
Easy Setup (v0.0.10+ with shell script):
curl -O https://raw.githubusercontent.com/tiagohintz/n8n-nodes-instagram-private-api-wrapped/main/extract-session.sh
chmod +x extract-session.sh
./extract-session.sh
What the script does:
- β
Automatically installs required dependencies
- β
Prompts for your Instagram credentials
- β
Safely extracts session data
- β
Provides formatted output for n8n credentials
- β
Includes comprehensive error handling and solutions
β οΈ IMPORTANT: Always run session extraction OUTSIDE of n8n on your local machine.
π Error Handling
- Authentication Failed: Check username/password, consider 2FA issues
- Rate Limited: Add delays between requests (2-5 seconds)
- API Changes: Update to latest version if Instagram API changes
Resources
Version History
-
0.0.10 (Current):
- π¨ BREAKING CHANGE: Removed username/password authentication completely
- β
SESSION-ONLY AUTHENTICATION: 100% reliability, zero Instagram blocks
- β
Simple shell script (extract-session.sh) for easy session extraction
- β
Automatic dependency installation in extraction script
- β
Enhanced error handling and step-by-step guidance in script
- β
Simplified credential configuration (session data + optional proxy only)
- β
Updated InstagramClient to use only session data authentication
- β
Removed all fallback to username/password login
- β
Complete elimination of Instagram bot detection issues
- β
Production-grade authentication system with zero maintenance
-
0.0.9:
- π¨ CRITICAL AUTHENTICATION FIXES: Complete solution for Instagram authentication blocks
- β
Enhanced session data authentication as primary method (99% reliability)
- β
Complete AUTHENTICATION_GUIDE.md rewrite with emergency recovery protocols
- β
Interactive session extraction script (extract-session.js) with error handling
- β
Improved InstagramClient with session data prioritization over direct login
- β
Comprehensive error messages with specific solutions for each Instagram error
- β
Emergency recovery checklist for multiple authentication failures
- β
Timeline-based recovery protocols (immediate, short-term, long-term)
- β
Production-grade authentication system that avoids Instagram bot detection
- β
Ready-to-use session extraction script with step-by-step guidance
-
0.0.8:
- π¦ PRODUCTION OPTIMIZATION: Enhanced package stability and documentation
- β
Updated package.json configuration for better npm compatibility
- β
Improved dependency management and peer dependencies
- β
Enhanced documentation with session data authentication guide
- β
Optimized build process and asset handling
- β
Comprehensive troubleshooting documentation
- β
Final validation and testing of all components
- β
Production-ready release with improved reliability
-
0.0.7:
- π MAJOR AUTHENTICATION IMPROVEMENTS: Enhanced Instagram login reliability
- β
Added pre/post login flow simulation for better bot detection avoidance
- β
Implemented retry authentication with exponential backoff
- β
Enhanced error handling with specific Instagram error messages
- β
Added session data support for persistent authentication
- β
Improved credential fields with session data option
- β
Better error messages for challenge_required, checkpoint_required
- β
Created comprehensive AUTHENTICATION_GUIDE.md
- β
More robust handling of rate limiting and bot detection
-
0.0.6:
- π§ CRITICAL FIX: Resolved credential configuration issues in n8n
- β
Fixed inconsistent credential naming (
instagramCredentials
β instagramApi
)
- β
Added optional
proxyUrl
field to credentials for proxy support
- β
Improved credential descriptions and field validation
- β
Enhanced credential display name for better UX
- β
Corrected export configuration for proper n8n integration
- β
Validated credential flow from configuration to node execution
- β
Clean build process with unnecessary files removed
-
0.0.5:
- β
Full TypeScript implementation with comprehensive type safety
- β
Complete InstagramClient with all essential methods
- β
Proper authentication flow and error handling
- β
Instagram SVG icon integration
- β
Support for user operations (profile, search, followers, following)
- β
Support for media operations (get media, like/unlike, media info)
- β
Support for feed operations (timeline feed)
- β
Automated asset copying in build process
- β
Comprehensive test suite with integration tests
- β
Production-ready build and deployment
-
0.0.4: Core functionality implementation and bug fixes
-
0.0.3: Initial TypeScript structure and basic operations
-
0.0.2: Template refinement and dependency management
-
0.0.1: Initial template implementation
Development
To work with this node locally:
npm install
npm run build
npm run dev
npm run lint
npm run lint:fix
npm test
npm run format
π Build Process
The build process includes:
- TypeScript compilation
- Automatic copying of SVG assets
- Type declaration generation
- Source map generation (optional)
π§ͺ Testing
The project includes:
- Unit tests for core functionality
- Integration tests for API methods
- Type safety validation
- Error handling verification
License
MIT
Made with β€οΈ for the n8n community