Instagram Master Scraper — Profiles, Posts & Content

Instagram Master Scraper — Profiles, Posts & Content

by transcriptdl

Scrape complete Instagram data in one workflow: full profiles, all posts, reels, and detailed metadata including comments, tags, and alt text. Support...

1 runs
1 users
Try This Actor

Opens on Apify.com

About Instagram Master Scraper — Profiles, Posts & Content

Scrape complete Instagram data in one workflow: full profiles, all posts, reels, and detailed metadata including comments, tags, and alt text. Supports multiple profiles, content limits, concurrency, intelligent polling, and cost-controlled progressive data collection.

What does this actor do?

Instagram Master Scraper — Profiles, Posts & Content 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 Profile, Posts & Reels Scraper Scrape complete Instagram data in one workflow: full profiles, all posts, reels, and detailed metadata including comments, tags, audio, and alt text. Supports multiple profiles, content limits, concurrency, intelligent polling, and cost-controlled progressive data collection. --- ## 📚 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 ### 🎯 Progressive Data Collection - Level 1: Profile Data - Get basic profile information including followers, bio, and profile image - Level 2: Posts & Reels List - Fetch all posts and reels with partial metadata - Level 3: Detailed Metadata - Get complete metadata including comments, tagged users, audio info, and more ### 🔥 Key Capabilities - Multiple Profiles - Process multiple Instagram profiles in one run - Flexible Control - Choose exactly what data you need - Cost Management - Content limits help control API costs - Concurrent Processing - Fast data retrieval with configurable concurrency - Intelligent Polling - Automatic handling of pending requests - Comprehensive Error Handling - Detailed error reporting for failed requests - Structured Output - Clean, organized data ready for analysis ### 📊 What You Can Extract Profile Data: - Username, full name, biography - Followers, following counts - Total posts count - Profile image, verification status - External URL, category - List ID for fetching posts Posts & Reels (Partial Metadata): - Post/Reel URLs and IDs - Captions and hashtags - Like and comment counts - Post dates and types - Thumbnail images - Video URLs (for reels) Detailed Metadata: - Complete engagement metrics - Latest comments with user info - Tagged users and locations - Audio/music information - Coauthor and partnership details - Carousel content (multiple photos/videos) - Accessibility alt text - And much more! ## 📥 Input Configuration ### Required Parameters | Parameter | Type | Description | |-----------|------|-------------| | profileUrls | Array | Instagram profile URLs (e.g., https://www.instagram.com/username/) | | apiToken | String | Your Transcript Downloader API token (from dashboard.transcriptdownloader.com) | ### Optional Parameters | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | includePostsList | Boolean | true | Fetch all posts and reels from the profile | | includeDetailedMetadata | Boolean | false | Get complete metadata for each post/reel | | contentLimit | Integer | 50 | Maximum number of posts/reels to fetch detailed metadata for (0 = unlimited) | | waitForCompletion | Boolean | true | Wait for pending data to be processed | | maxWaitTime | Integer | 20 | Maximum wait time in minutes for data processing | | pollingInterval | Integer | 30 | Polling interval in seconds for pending requests | | maxConcurrency | Integer | 3 | Maximum concurrent API requests | ### Example Input json { "profileUrls": [ "https://www.instagram.com/instagram/", "https://www.instagram.com/natgeo/" ], "apiToken": "your-api-token-here", "includePostsList": true, "includeDetailedMetadata": true, "contentLimit": 20, "waitForCompletion": true, "maxWaitTime": 20, "pollingInterval": 30, "maxConcurrency": 3 } ## 📤 Output Format The actor outputs one record per profile with the following structure: json { "profileUrl": "https://www.instagram.com/instagram/", "status": "success", "profileData": { "account": "instagram", "full_name": "Instagram", "biography": "Discover what's new on Instagram", "followers": 600000000, "following": 120, "posts_count": 7500, "profile_image": "https://...", "is_verified": true, "external_url": "https://about.instagram.com", "category": "App Page", "list_id": "01K7TQ6X1K3C4Z3VA1TFB1J7G4", "cost": "1.000" }, "listId": "01K7TQ6X1K3C4Z3VA1TFB1J7G4", "posts": [ { "id": 123, "url": "https://www.instagram.com/p/ABC123/", "caption": "Post caption", "likes": 50000, "comments": 1200, "date_posted": "2025-10-15T10:30:00Z", "content_type": "post", "image_url": "https://...", "user_posted": "instagram" } ], "reels": [ { "id": 124, "url": "https://www.instagram.com/reel/XYZ789/", "description": "Reel description", "likes": 100000, "views": 5000000, "date_posted": "2025-10-14T15:00:00Z", "content_type": "reel", "video_url": "https://...", "thumbnail": "https://...", "user_posted": "instagram" } ], "detailedContent": [ { "status": "success", "type": "post", "url": "https://www.instagram.com/p/ABC123/", "caption": "Detailed caption", "likes": 50000, "comments": 1200, "latest_comments": [ { "comment": "Great post!", "user_commenting": "user123", "likes": 50 } ], "tagged_users": [ { "username": "tagged_user", "full_name": "Tagged User" } ], "location": { "name": "New York, NY" }, "hashtags": ["#instagram", "#photography"] } ], "summary": { "totalPosts": 45, "totalReels": 15, "detailedContentCount": 20, "profileCost": "1.000", "listCost": "12.500", "contentCost": "0.500", "totalCost": "14.000", "processingTime": "125.3s" }, "errors": [] } ## 💰 Cost Management The Instagram Scraper helps you manage API costs effectively: ### Cost Structure - Profile Scraping: ~1.000 credit per profile - List Scraping: ~12.500 credits per profile (all posts/reels) - Content Metadata: ~0.025 credits per post/reel ### Cost Control Strategies 1. Basic Profile Only (Lowest Cost) json { "includePostsList": false, "includeDetailedMetadata": false } Cost: ~1.000 credit per profile 2. Profile + Posts List (Medium Cost) json { "includePostsList": true, "includeDetailedMetadata": false } Cost: ~13.500 credits per profile 3. Profile + Limited Detailed Content (Controlled Cost) json { "includePostsList": true, "includeDetailedMetadata": true, "contentLimit": 20 } Cost: ~14.000 credits per profile (13.500 + 20 × 0.025) 4. Complete Data (Full Cost) json { "includePostsList": true, "includeDetailedMetadata": true, "contentLimit": 0 } Cost: Varies by profile size (13.500 + [number of posts] × 0.025) ## 🚀 Use Cases ### Marketing & Brand Analysis - Track competitor profiles and content strategy - Analyze engagement trends across posts - Monitor brand mentions and tagged content - Research influencer content performance ### Content Research - Discover trending hashtags and topics - Study successful content formats - Analyze posting patterns and timing - Research visual content trends ### Social Media Management - Audit client Instagram profiles - Export content for reporting - Track campaign performance - Analyze audience engagement ### Data Analysis & Research - Academic research on social media - Sentiment analysis on comments - Network analysis of tagged users - Temporal analysis of posting behavior ## ⚙️ How It Works The Instagram Scraper orchestrates a three-step process: ### Step 1: Profile Scraping - Fetches basic profile information - Obtains the list_id needed for posts/reels - Handles pending requests with polling - Validates profile existence ### Step 2: Posts & Reels List (Optional) - Uses list_id from profile data - Fetches all posts and reels - Returns partial metadata for each item - Separates posts and reels for easy filtering ### Step 3: Detailed Metadata (Optional) - Fetches complete metadata for each post/reel - Processes in concurrent batches - Respects content limit - Includes comments, tags, audio, and more ### Intelligent Features - Automatic Polling: Handles long-running API requests - Error Recovery: Retries failed requests with exponential backoff - Rate Limiting: Respects API limits with delays - Concurrent Processing: Speeds up bulk operations - Progress Tracking: Detailed logging throughout execution ## 🔄 Data Flow Profile URLs ↓ Profile API → Get list_id + Profile Data ↓ [If includePostsList] ↓ List API → Get all Posts & Reels ↓ [If includeDetailedMetadata] ↓ Content API (batched) → Get Detailed Metadata ↓ Combined Output ## 🛠️ Best Practices ### Performance Optimization 1. Use Content Limits: Set contentLimit to avoid fetching metadata for hundreds of posts 2. Adjust Concurrency: Increase maxConcurrency for faster processing of multiple items 3. Sequential Profiles: The actor processes profiles sequentially to respect rate limits ### Cost Optimization 1. Start Small: Test with includeDetailedMetadata: false first 2. Use Limits: Set reasonable contentLimit values (20-50 posts) 3. Target Specific Content: Combine with post-processing to filter desired content ### Reliability 1. Enable Waiting: Keep waitForCompletion: true for complete data 2. Adjust Timeouts: Increase maxWaitTime for large profiles 3. Monitor Errors: Check the errors array in output for failed items ## 📊 Output Examples ### Basic Profile Only Perfect for quick profile checks and follower tracking: json { "profileUrl": "https://www.instagram.com/username/", "status": "success", "profileData": { "account": "username", "followers": 150000, "posts_count": 250 }, "summary": { "totalCost": "1.000" } } ### Profile + Posts List Great for content analysis and trend research: json { "profileUrl": "https://www.instagram.com/username/", "status": "success", "profileData": { ... }, "posts": [45 posts with partial metadata], "reels": [15 reels with partial metadata], "summary": { "totalPosts": 45, "totalReels": 15, "totalCost": "13.500" } } ### Complete Data Collection Ideal for deep analysis and research: json { "profileUrl": "https://www.instagram.com/username/", "status": "success", "profileData": { ... }, "posts": [45 posts], "reels": [15 reels], "detailedContent": [20 posts/reels with complete metadata], "summary": { "totalPosts": 45, "totalReels": 15, "detailedContentCount": 20, "totalCost": "14.000" } } ## ⚠️ Important Notes ### API Requirements - API Token Required: Get your token from Transcript Downloader Dashboard - Credits Needed: Ensure sufficient credits in your account - Rate Limits: The actor automatically handles rate limiting ### Processing Times - Profile Only: Usually instant (<5 seconds) - With Posts List: 3-5 minutes for first request (cached afterwards) - With Detailed Metadata: Varies by content limit (1-2 seconds per item) ### Data Freshness - Profile data is fetched in real-time - Lists may be cached for recent requests (30-minute window) - Detailed content is always fetched fresh ### Error Handling - Failed items are tracked in the errors array - Partial success is indicated by status: "partial" - Individual content failures don't stop the entire run ## 🔗 Related Actors Looking for more granular control? Check out our specialized actors: - Instagram Profile Scraper: Profile data only - Instagram Posts & Reels List Scraper: List scraping with list_id - Instagram Post & Reel Metadata Scraper: Detailed metadata for specific URLs ## 🙋 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. --- Made with ❤️ by Transcript Downloader | Website | API Dashboard

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 Master Scraper — Profiles, Posts & Content now on Apify. Free tier available with no credit card required.

Start Free Trial

Actor Information

Developer
transcriptdl
Pricing
Paid
Total Runs
1
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