Instagram Content – Post & Reel Metadata Scraper

Instagram Content – Post & Reel Metadata Scraper

by transcriptdl

Fetch detailed metadata for any Instagram post or reel using its URL. Retrieves captions, hashtags, images, videos, audio presence, likes, comments, t...

8 runs
1 users
Try This Actor

Opens on Apify.com

About 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.

What does this actor do?

Instagram Content – Post & Reel Metadata Scraper is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.

Key Features

  • Cloud-based execution - no local setup required
  • Scalable infrastructure for large-scale operations
  • API access for integration with your applications
  • Built-in proxy rotation and anti-blocking measures
  • Scheduled runs and webhooks for automation

How to Use

  1. Click "Try This Actor" to open it on Apify
  2. Create a free Apify account if you don't have one
  3. Configure the input parameters as needed
  4. Run the actor and download your results

Documentation

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. --- ## 📚 API Documentation For complete API reference, endpoint details, and advanced usage examples, visit our official documentation: Transcript Downloader API Documentation Get Your API KeyAPI 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 json { "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 json { "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 json { "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 json { "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 json { "contentUrl": "https://www.instagram.com/p/INVALID", "expectedType": "post", "error": "Incorrect ID or media restricted", "status": "failed" } --- ## 🚀 How to Use ### Quick Start 1. Get your API token from Transcript Downloader 2. Find Instagram URLs of posts or reels you want to analyze 3. Run the actor with your URLs 4. Access results in the dataset ### Example Workflow json // 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 json { "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 json { "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.totalCost field - ✅ Mix posts and reels in the same run - ✅ Check engagement_score_view for performance metrics - ✅ Use latest_comments for 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: 1. Profile Scraper → Get profile + recent posts → Extract interesting post URLs 2. List Scraper → Get all posts from profile → Extract specific post URLs 3. 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: json { "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.

Common Use Cases

Market Research

Gather competitive intelligence and market data

Lead Generation

Extract contact information for sales outreach

Price Monitoring

Track competitor pricing and product changes

Content Aggregation

Collect and organize content from multiple sources

Ready to Get Started?

Try Instagram Content – Post & Reel Metadata Scraper now on Apify. Free tier available with no credit card required.

Start Free Trial

Actor Information

Developer
transcriptdl
Pricing
Paid
Total Runs
8
Active Users
1
Apify Platform

Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.

Learn more about Apify

Need Professional Help?

Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.

Find a Specialist

Trusted by millions | Money-back guarantee | 24/7 Support