Claude-skill-registry instagram-api
Instagram Graph API entegrasyonu. Use when publishing content, fetching insights, or working with Instagram media.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/instagram-api" ~/.claude/skills/majiayu000-claude-skill-registry-instagram-api && rm -rf "$T"
manifest:
skills/data/instagram-api/SKILL.mdsource content
Instagram Graph API
Version: v21.0 | Base:
https://graph.instagram.com/v21.0
Quick Reference
| Action | Endpoint | Method |
|---|---|---|
| Create Container | | POST |
| Publish | | POST |
| Check Status | | GET |
| Get Insights | | GET |
Two-Phase Publishing
1. Create Container → container_id 2. (Video only) Poll until FINISHED 3. Publish Container → post_id
Publishing Functions
from app.instagram_helper import ( post_photo_to_instagram, post_video_to_instagram, post_carousel_to_instagram ) # Image result = await post_photo_to_instagram(image_url, caption) # Reels result = await post_video_to_instagram(video_url, caption) # Carousel (2-10 images) result = await post_carousel_to_instagram(image_urls, caption)
Video Requirements
| Spec | Value |
|---|---|
| Resolution | 720x1280 (9:16) |
| Codec | H.264 video, AAC audio |
| FPS | 30 |
| Max | 90 seconds |
# Auto-convert from app.instagram_helper import convert_video_for_instagram result = await convert_video_for_instagram(input_path) # Returns: {success, output_path, converted, file_size_mb}
Insights
from app.insights_helper import get_instagram_media_insights insights = await get_instagram_media_insights(media_id) # Returns: {plays, reach, saves, shares, likes, comments, engagement_rate}
Reels metrics: plays, reach, saved, shares, comments, likes Image metrics: impressions, reach, saved
Rate Limiting
- Container creation: 2s delay
- Video polling: 10s interval, max 30 attempts
- Insights fetch: 0.3s delay between calls
Environment Variables
INSTAGRAM_ACCESS_TOKEN=... INSTAGRAM_USER_ID=... INSTAGRAM_BUSINESS_ID=... # Optional
Return Format
# Success {"success": True, "id": "17901234567890123", "platform": "instagram"} # Error {"success": False, "error": "Error message"}
Common Errors
| Error | Solution |
|---|---|
| OAuthException | Token expired - refresh |
| MediaTypeNotSupported | Wrong format - convert |
| RateLimitError | Too many calls - add delay |
Deep Links
- Publishingapp/instagram_helper.py
- Metricsapp/insights_helper.py
- Video CDNapp/cloudinary_helper.py