N8N Tools - Instagram Enhanced
Complete Instagram Graph API integration with media management, insights, stories, reels, shopping, and advanced features for N8N workflows.
Features
- Complete Media Management: Create, publish, and manage photos, videos, and carousels
- Stories & Reels: Full support for Instagram Stories and Reels creation and management
- Advanced Analytics: Comprehensive insights and analytics for all content types
- Shopping Integration: Complete product catalog and shopping features
- User Management: Profile information, followers, following, and tagged media
- Hashtag & Location: Search and analyze hashtags and locations
- Comment Management: Create, delete, and moderate comments
- Webhook Support: Real-time notifications and event handling
- OAuth2 & API Key: Flexible authentication options
Installation
npm install n8n-nodes-n8ntools-instagram-enhanced
Resources
Media
- Get Media: Retrieve information about specific media items
- Get User Media: Get media from user accounts
- Create Photo: Create photo posts with captions and hashtags
- Create Video: Create video posts with captions and hashtags
- Create Carousel: Create carousel posts with multiple media items
- Publish Media: Publish media containers
- Get Media Insights: Get analytics for media items
- Delete Media: Delete media items
Stories
- Get User Stories: Retrieve stories from user accounts
- Create Image Story: Create image stories with stickers
- Create Video Story: Create video stories with stickers
- Publish Story: Publish story containers
- Get Story Insights: Get analytics for stories
- Delete Story: Delete stories
Reels
- Get User Reels: Retrieve reels from user accounts
- Create Reel: Create reels with custom audio and covers
- Publish Reel: Publish reel containers
- Get Reel Insights: Get analytics for reels
- Get Reel: Get information about specific reels
- Delete Reel: Delete reels
Insights
- Get Account Insights: Account-level analytics
- Get Media Insights: Media-specific analytics
- Get Story Insights: Story-specific analytics
- Get Reel Insights: Reel-specific analytics
- Get Audience Insights: Audience demographics and behavior
- Get Hashtag Insights: Hashtag performance analytics
- Get Content Insights: Content performance analytics
- Get Engagement Insights: Engagement metrics
Shopping
- Get Product Catalog: Retrieve product catalogs
- Create Product: Create new products
- Update Product: Update existing products
- Delete Product: Delete products
- Get Product: Get product information
- Create Product Tag: Tag products in media
- Update Product Tag: Update product tag positions
- Delete Product Tag: Remove product tags
- Get Product Insights: Product performance analytics
- Get Shopping Insights: Shopping performance analytics
User
- Get User Profile: Get user profile information
- Search Users: Search for users
- Get Followers: Get user followers
- Get Following: Get user following
- Get Tagged Media: Get media where user is tagged
- Get Mentions: Get mentions of the user
Hashtag
- Get Hashtag Info: Get hashtag information
- Get Hashtag Media: Get recent media with hashtag
- Get Top Hashtag Media: Get top media with hashtag
- Get Hashtag Insights: Get hashtag performance analytics
Location
- Get Location Info: Get location information
- Search Locations: Search for locations
- Get Location Media: Get media from locations
- Get Media Comments: Get comments on media
- Create Comment: Create comments on media
- Delete Comment: Delete comments
- Hide Comment: Hide or unhide comments
Webhooks
- Get Webhook Subscriptions: Get webhook subscriptions
- Subscribe to Webhook: Subscribe to webhook events
- Unsubscribe from Webhook: Unsubscribe from webhook events
Configuration
Credentials
OAuth2 API
- Client ID: Your Instagram App Client ID
- Client Secret: Your Instagram App Client Secret
- Redirect URI: Your app's redirect URI
- Scope: OAuth2 scope (e.g., user_profile,user_media)
- Access Token: OAuth2 access token
- Refresh Token: OAuth2 refresh token (optional)
- Token Expiry: Token expiry date (optional)
API Key
- API Key: Your N8N Tools API key
- Base URL: N8N Tools API base URL
- Business Account ID: Your Instagram Business Account ID
- Page ID: Your Facebook Page ID
Media Creation
Photo Posts
{
"mediaUrl": "https://example.com/image.jpg",
"caption": "Amazing photo! #photography #nature",
"hashtags": ["photography", "nature", "beautiful"],
"locationId": "123456789"
}
Video Posts
{
"mediaUrl": "https://example.com/video.mp4",
"caption": "Check out this video! #video #fun",
"hashtags": ["video", "fun", "entertainment"],
"locationId": "123456789"
}
Carousel Posts
{
"children": ["media_id_1", "media_id_2", "media_id_3"],
"caption": "Multiple photos! #carousel #gallery",
"hashtags": ["carousel", "gallery", "multiple"],
"locationId": "123456789"
}
Stories Creation
Image Stories
{
"mediaUrl": "https://example.com/story.jpg",
"storyStickerIds": ["sticker_1", "sticker_2"],
"backgroundColor": "#FF5733"
}
Video Stories
{
"mediaUrl": "https://example.com/story.mp4",
"storyStickerIds": ["sticker_1", "sticker_2"],
"backgroundColor": "#33FF57"
}
Reels Creation
{
"videoUrl": "https://example.com/reel.mp4",
"caption": "Amazing reel! #reel #viral",
"coverUrl": "https://example.com/cover.jpg",
"audioName": "Custom Audio",
"locationId": "123456789"
}
Shopping Configuration
Product Creation
{
"name": "Amazing Product",
"description": "This is an amazing product",
"price": 29.99,
"currency": "USD",
"availability": "in_stock",
"image_url": "https://example.com/product.jpg",
"brand": "My Brand",
"category": "Electronics"
}
Product Tagging
{
"mediaId": "media_123456789",
"productId": "product_987654321",
"x": 0.5,
"y": 0.3
}
Usage Examples
Basic Media Retrieval
- Set Resource to "Media"
- Set Operation to "Get User Media"
- Set User ID to "me" (or specific user ID)
- Select fields to retrieve
- Set limit (optional)
Creating a Photo Post
- Set Resource to "Media"
- Set Operation to "Create Photo"
- Provide media URL
- Add caption and hashtags
- Set location ID (optional)
- Use "Publish Media" operation to publish
Getting Insights
- Set Resource to "Insights"
- Set Operation to "Get Account Insights"
- Set Account ID to "me"
- Select metrics to retrieve
- Set period (day, week, month, lifetime)
Managing Shopping
- Set Resource to "Shopping"
- Set Operation to "Get Product Catalog"
- Provide catalog ID
- Select fields to retrieve
Error Handling
The node includes comprehensive error handling:
- API Errors: Proper error messages for API failures
- Validation Errors: Input validation with helpful messages
- Rate Limiting: Automatic handling of rate limits
- Authentication Errors: Clear messages for auth issues
Rate Limits
Instagram API has the following rate limits:
- General API: 200 calls per user per hour
- Comments: 60 writes per user per hour
- Hashtag Search: 30 unique hashtags per 7 days
Best Practices
- Use OAuth2 for Production: OAuth2 provides better security and user experience
- Implement Error Handling: Always handle errors gracefully
- Respect Rate Limits: Implement proper rate limiting in your workflows
- Cache Data: Cache frequently accessed data to reduce API calls
- Monitor Usage: Keep track of API usage and costs
Support
For support and questions:
License
MIT License - see LICENSE file for details.