Instagram Master Scraper — Profiles, Posts & Content avatar
Instagram Master Scraper — Profiles, Posts & Content

Pricing

Pay per usage

Go to Apify Store
Instagram Master Scraper — Profiles, Posts & Content

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.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Transcript Downloader

Transcript Downloader

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Share

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

ParameterTypeDescription
profileUrlsArrayInstagram profile URLs (e.g., https://www.instagram.com/username/)
apiTokenStringYour Transcript Downloader API token (from dashboard.transcriptdownloader.com)

Optional Parameters

ParameterTypeDefaultDescription
includePostsListBooleantrueFetch all posts and reels from the profile
includeDetailedMetadataBooleanfalseGet complete metadata for each post/reel
contentLimitInteger50Maximum number of posts/reels to fetch detailed metadata for (0 = unlimited)
waitForCompletionBooleantrueWait for pending data to be processed
maxWaitTimeInteger20Maximum wait time in minutes for data processing
pollingIntervalInteger30Polling interval in seconds for pending requests
maxConcurrencyInteger3Maximum concurrent API requests

Example Input

{
"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:

{
"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)

{
"includePostsList": false,
"includeDetailedMetadata": false
}

Cost: ~1.000 credit per profile

2. Profile + Posts List (Medium Cost)

{
"includePostsList": true,
"includeDetailedMetadata": false
}

Cost: ~13.500 credits per profile

3. Profile + Limited Detailed Content (Controlled Cost)

{
"includePostsList": true,
"includeDetailedMetadata": true,
"contentLimit": 20
}

Cost: ~14.000 credits per profile (13.500 + 20 × 0.025)

4. Complete Data (Full Cost)

{
"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:

{
"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:

{
"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:

{
"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

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