Instagram Content – Post & Reel Metadata Scraper
Pricing
Pay per usage
Instagram Content – Post & Reel Metadata Scraper
Fetch detailed metadata for any Instagram post or reel using its URL. Retrieves captions, hashtags, images, videos, audio presence, likes, comments, tagged users, location, and engagement metrics.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Transcript Downloader
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Fetch detailed metadata for any Instagram post or reel using its URL. Retrieves captions, hashtags, images, videos, audio presence, likes, comments, tagged users, location, and engagement metrics.
📚 API Documentation
For complete API reference, endpoint details, and advanced usage examples, visit our official documentation:
Transcript Downloader API Documentation
Get Your API Key • API Pricing
✨ Features
- 📸 Posts & Reels: Process both content types with a single actor
- 🚀 Real-time data: Get up-to-date engagement metrics instantly
- 📊 Rich metadata: Likes, comments, views, engagement scores, hashtags
- 👥 User data: Tagged users, coauthors, partnerships
- 🎵 Audio info: Original audio tracks, artist details (for reels)
- 🖼️ Media URLs: High-quality image and video links
- 🔁 Batch processing: Handle multiple URLs simultaneously
- ⚙️ Concurrency control: Adjust processing speed (1-10 concurrent)
- 🔄 Automatic polling: Waits for processing when needed
- 🚦 Rate limiting: Built-in delays to respect API limits
- 💰 Cost tracking: Monitor API usage per content item
- 🧠 Error tracking: All failures logged with detailed error information
🔧 Input Parameters
The actor accepts the following input:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
contentUrls | array | ✅ Yes | - | List of Instagram post/reel URLs |
apiToken | string | ✅ Yes | - | Your Transcript Downloader API bearer token |
waitForCompletion | boolean | No | true | Whether to wait for content processing (most are instant) |
maxWaitTime | number | No | 5 | Max time to wait for processing (1-10 minutes) |
pollingInterval | number | No | 15 | How often to check status when waiting (10-60 seconds) |
maxConcurrency | number | No | 3 | Max concurrent content requests (range: 1-10) |
📥 Sample Input
Process Multiple Posts & Reels
{"contentUrls": ["https://www.instagram.com/p/DOZIZ-pkTQT","https://www.instagram.com/reel/XYZ789","https://www.instagram.com/p/ABC123"],"apiToken": "your-api-token","waitForCompletion": true,"maxWaitTime": 5,"pollingInterval": 15,"maxConcurrency": 3}
🔗 Supported URL Formats
✅ https://www.instagram.com/p/SHORTCODE (posts)✅ https://www.instagram.com/reel/SHORTCODE (reels)✅ http://www.instagram.com/p/SHORTCODE (HTTP also supported)✅ https://instagram.com/p/SHORTCODE (without www)
📤 Output Format
Each content URL will produce a dataset item with detailed metadata:
Post Response
{"contentUrl": "https://www.instagram.com/p/ABC123","status": "success","type": "post","expectedType": "post","content": {"status": "success","type": "post","instagram_id": "post_12345","caption": "Amazing sunset today! #nature #photography","hashtags": ["#nature", "#photography", "#sunset"],"likes": 5000,"comments": 250,"num_comments": 250,"date_posted": "2025-09-10T15:30:00Z","user_posted": "photographer_user","account": "photographer_user","image_url": "https://scontent.cdninstagram.com/image.jpg","url": "https://www.instagram.com/p/ABC123/","shortcode": "ABC123","content_type": "image","is_verified": true,"is_paid_partnership": false,"user_posted_id": "12345678","profile_url": "https://www.instagram.com/photographer_user/","followers": 150000,"posts_count": 500,"profile_image_link": "https://profile.jpg","engagement_score_view": 92.3,"location": {"name": "Mountain View, CA"},"alt_text": "Beautiful sunset over mountains","photos_number": 1,"images": ["https://image1.jpg", "https://image2.jpg"],"latest_comments": [{"comment": "Beautiful shot!","user_commenting": "commenter1","likes": 15,"profile_picture": "https://commenter1.jpg","created_at": "2025-09-10T16:00:00Z"}],"tagged_users": [{"username": "tagged_user","full_name": "Tagged User Name","is_verified": false,"profile_picture": "https://tagged.jpg"}],"audio": [{"audio_asset_id": "audio_123","original_audio_title": "Original Audio Track","ig_artist_username": "artist_user"}],"coauthor_producers": ["Co Author Name"],"partnership_details": [{"profile_id": "partner_123","username": "brand_partner","profile_url": "https://www.instagram.com/brand_partner/"}],"post_content": [{"index": 0,"type": "image","url": "https://content1.jpg","instagram_id": "content_id_123"}],"cost": "0.025"},"summary": {"contentType": "post","likes": 5000,"comments": 250,"views": null,"totalCost": "0.025","processingTime": "2.3s"},"downloadInfo": {"id": "01HXYZ987654321","type": "instagram_post","status": "success"}}
Reel Response
{"contentUrl": "https://www.instagram.com/reel/XYZ789","status": "success","type": "reel","expectedType": "reel","content": {"status": "success","type": "reel","post_id": "reel_12345","description": "Check out this amazing dance! #dance #viral","hashtags": ["#dance", "#viral", "#trending"],"likes": 25000,"views": 500000,"video_view_count": 500000,"video_play_count": 480000,"num_comments": 1200,"date_posted": "2025-09-09T12:00:00Z","user_posted": "dancer_user","account": "dancer_user","video_url": "https://scontent.cdninstagram.com/reel.mp4","thumbnail": "https://reel_thumbnail.jpg","url": "https://www.instagram.com/reel/XYZ789/","shortcode": "XYZ789","content_type": "reel","product_type": "reel","length": 30,"videos_duration": 30,"is_verified": true,"is_paid_partnership": false,"followers": 2500000,"posts_count": 800,"videos": ["https://scontent.cdninstagram.com/reel.mp4"],"latest_comments": [{"comment": "Amazing moves! 🔥","user_commenting": "fan_user","likes": 50,"date_of_comment": "2025-09-09T13:00:00Z","num_replies": 5,"avatar": "https://fan_avatar.jpg"}],"tagged_users": [{"username": "dance_partner","full_name": "Dance Partner Name","is_verified": false,"profile_picture": "https://partner.jpg"}],"coauthor_producers": ["Choreographer Name"],"cost": "0.025"},"summary": {"contentType": "reel","likes": 25000,"comments": 1200,"views": 500000,"totalCost": "0.025","processingTime": "1.8s"},"downloadInfo": {"id": "01HXYZ987654321","type": "instagram_reel","status": "success"}}
Pending Response
{"contentUrl": "https://www.instagram.com/p/ABC123","status": "pending","expectedType": "post","download_id": "01HXYZ987654321","message": "Post scraping initiated. Data will be available shortly.","cost": "0.025","downloadInfo": {"id": "01HXYZ987654321","type": "instagram_post","status": "pending"},"summary": {"processingTime": "0.8s"}}
Failed Response
{"contentUrl": "https://www.instagram.com/p/INVALID","expectedType": "post","error": "Incorrect ID or media restricted","status": "failed"}
🚀 How to Use
Quick Start
- Get your API token from Transcript Downloader
- Find Instagram URLs of posts or reels you want to analyze
- Run the actor with your URLs
- Access results in the dataset
Example Workflow
// Step 1: Collect URLs{"contentUrls": ["https://www.instagram.com/p/ABC123","https://www.instagram.com/reel/XYZ789"],"apiToken": "your-token"}// Step 2: Results are saved to dataset with complete metadata
❌ Error Handling
The actor gracefully handles common API errors:
| Status Code | Meaning | Action |
|---|---|---|
| 400 | Incorrect ID or media restricted | Verify URL and content access |
| 401 | Insufficient credits or invalid token | Check credits and API token |
| 403 | Invalid API token | Regenerate API token |
| 500 | Failed to fetch content or processing error | Retry or check content validity |
| 503 | Service temporarily unavailable | Retry later |
Failed content items are captured in the dataset with error information.
⚠️ Rate Limiting & Performance
- 🔄 API Rate Limit: 75 requests per minute
- ⏱️ Built-in delays: Automatic delays between requests
- 🚦 Concurrency control: Recommended maxConcurrency: 3-5 for content
- 📊 Processing time:
- Most content: Instant (1-3 seconds)
- Some content: May require brief processing
- Average: 2-5 seconds per item
⏱️ First-Time Scraping & Profile Caching
- First-time scraping: When scraping content from a profile for the first time, it may take longer as the profile needs to be fetched and cached by our system
- Subsequent scraping: Content from previously scraped profiles returns much faster due to profile caching
- Cache benefit: Dramatically reduces processing time for repeated scraping of content from the same profile
- Why caching helps: We cache profile data, so future content requests for the same profile don't need to re-fetch basic profile information
💡 Tip: If you're scraping multiple posts/reels from the same profile, the first content item may take a bit longer, but subsequent items will be nearly instant.
💡 Best Practices
For Content Analysis
{"contentUrls": ["https://www.instagram.com/p/POST1","https://www.instagram.com/p/POST2","https://www.instagram.com/reel/REEL1"],"apiToken": "your-token","waitForCompletion": true,"maxConcurrency": 5}
Use case: Analyze individual posts/reels for engagement, comments, hashtags
For Competitor Research
{"contentUrls": ["https://www.instagram.com/p/COMPETITOR_POST"],"apiToken": "your-token","waitForCompletion": true}
Use case: Deep dive into competitor content strategy
General Tips
- ✅ Use higher concurrency (3-5) for faster processing
- ✅ Most content returns instantly, no long waits needed
- ✅ Monitor costs using the
summary.totalCostfield - ✅ Mix posts and reels in the same run
- ✅ Check
engagement_score_viewfor performance metrics - ✅ Use
latest_commentsfor sentiment analysis - ✅ Extract hashtags for trend analysis
- ✅ Private or restricted content may return errors
📊 Data Available
For Posts:
- Engagement: Likes, comments, engagement score
- Media: High-quality image URLs (multiple for carousels)
- Content: Caption, hashtags, location, alt text
- Users: Account info, tagged users, partnerships
- Audio: Audio tracks (if used)
- Comments: Latest comments with user details
- Metadata: Post date, verification status, product type
For Reels:
- Engagement: Likes, comments, views, play count
- Media: Video URL, thumbnail, length
- Content: Description, hashtags
- Users: Account info, tagged users, coauthors
- Audio: Audio track details (if available)
- Comments: Top comments with replies count
- Metadata: Post date, verification status
🎯 Use Cases
- Content Analysis: Analyze engagement patterns, optimal content types
- Competitor Research: Study successful content from competitors
- Influencer Vetting: Verify engagement metrics before partnerships
- Trend Tracking: Identify viral content, trending hashtags
- Brand Monitoring: Track branded content, partnerships, mentions
- Sentiment Analysis: Analyze comments for audience sentiment
- Performance Benchmarking: Compare your content against industry standards
- Content Archiving: Save snapshots of important posts/reels
- Hashtag Research: Discover effective hashtag combinations
- Audio Trends: Track popular audio tracks in reels
🔄 Integration with Other Actors
This actor works with the Instagram suite:
- Profile Scraper → Get profile + recent posts → Extract interesting post URLs
- List Scraper → Get all posts from profile → Extract specific post URLs
- Content Scraper (this actor) → Get detailed metadata for specific posts/reels
Complete Workflow:
Profile → List → Content Metadata
💳 Pricing & Billing
The Transcript Downloader API used by this actor requires a valid API token. API usage is billed separately:
- Per content item: Low cost per post/reel (~$0.025 typically)
- Real-time processing: Most content returns instantly
- Cost displayed: Exact cost shown in each response
📊 Very cost-effective for individual content analysis.
View full details and subscription plans on our pricing page
📈 Monitoring & Analytics
Track your usage with the built-in summary data:
{"summary": {"contentType": "post","likes": 5000,"comments": 250,"views": null,"totalCost": "0.025","processingTime": "2.3s"}}
Use this data to:
- Monitor API costs per content item
- Track processing performance
- Analyze engagement metrics
- Compare posts vs reels performance
🙋 Support
Need help? Visit Transcript Downloader Support. We respond within 24 business hours.
For technical issues with this actor, check the run logs for detailed error messages.
📄 License
This actor is provided under the ISC License.