Package Information
Documentation
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
# Latest version (recommended)
npm install n8n-nodes-instagram-private-api-wrapped@latest
# Specific version 0.0.10 (latest stable - session-only)
npm install [email protected]
๐ Updating from Previous Versions
If upgrading from v0.0.9 or earlier:
# Uninstall old version
npm uninstall n8n-nodes-instagram-private-api-wrapped
# Install latest version
npm install n8n-nodes-instagram-private-api-wrapped@latest
# Restart n8n
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
// Get detailed user profile
{
"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
// Session-Only Configuration (v0.0.10+)
{
"sessionData": "{\"cookies\":[...],\"sessionId\":\"...\"}", // Required - extracted session data
"proxyUrl": "http://proxy.example.com:8080" // Optional
}
๐ก 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):
# 1. Download the extraction script
curl -O https://raw.githubusercontent.com/tiagohintz/n8n-nodes-instagram-private-api-wrapped/main/extract-session.sh
# 2. Make it executable
chmod +x extract-session.sh
# 3. Run the script (it will handle everything automatically)
./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
- n8n Community Nodes Documentation
- Instagram Private API GitHub
- Instagram Private API Documentation
- n8n Workflow Examples
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:
# Install dependencies
npm install
# Build the node
npm run build
# Run in development mode with file watching
npm run dev
# Run linting
npm run lint
# Run linting with auto-fix
npm run lint:fix
# Run tests
npm test
# Format code
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
Made with โค๏ธ for the n8n community