Instagram Profile – User Profile & Metadata Scraper

Instagram Profile – User Profile & Metadata Scraper

by transcriptdl

Extract complete Instagram profiles and posts with follower stats, engagement metrics, captions, hashtags, media URLs, and related accounts.

11 runs
1 users
Try This Actor

Opens on Apify.com

About Instagram Profile – User Profile & Metadata Scraper

Extract complete Instagram profiles and posts with follower stats, engagement metrics, captions, hashtags, media URLs, and related accounts.

What does this actor do?

Instagram Profile – User Profile & 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 Profile & Posts Scraper Extract complete Instagram profiles and posts with follower stats, engagement metrics, captions, hashtags, media URLs, and related accounts. Supports instant fetch (recent posts) or full scraping, batch processing, concurrency control, polling, and detailed error tracking. --- ## ✨ Features * 👤 Profile extraction: Get follower count, following, bio, verified status, and more * 📸 Posts scraping: Extract recent posts with likes, comments, captions, and media URLs * 🎯 Two modes: Instant fetch (recent posts) or full scraping (all posts) * 🔁 Batch processing: Handle multiple profiles simultaneously * ⚙️ Concurrency control: Adjust processing speed with configurable limits * 🔄 Automatic polling: Waits for full profile scraping when enabled * 🚦 Rate limiting: Built-in delays to respect API limits * 💰 Cost tracking: Monitor API usage per profile * 🧠 Error tracking: All failures logged with detailed error information * 📊 Rich metadata: Hashtags, related accounts, highlights, engagement scores --- ## 📚 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 --- ## 🔧 Input Parameters The actor accepts the following input: | Parameter | Type | Required | Default | Description | | ------------------ | ------- | -------- | ------- | -------------------------------------------------------------- | | profileUrls | array | ✅ Yes | - | List of Instagram profile URLs | | apiToken | string | ✅ Yes | - | Your Transcript Downloader API bearer token | | waitForCompletion| boolean | No | true | Whether to wait for full profile scraping (all posts) | | maxWaitTime | number | No | 10 | Max time to wait for scraping completion (1-30 minutes) | | pollingInterval | number | No | 30 | How often to check status when waiting (10-120 seconds) | | maxConcurrency | number | No | 2 | Max concurrent profile requests (range: 1-5) | ### 📥 Sample Input #### Instant Mode (Recent posts) json { "profileUrls": [ "https://www.instagram.com/mrbeast", "https://www.instagram.com/cristiano" ], "apiToken": "your-api-token", "waitForCompletion": false, "maxConcurrency": 2 } #### Full Mode (All posts, waits for completion) json { "profileUrls": [ "https://www.instagram.com/mrbeast" ], "apiToken": "your-api-token", "waitForCompletion": true, "maxWaitTime": 10, "pollingInterval": 30, "maxConcurrency": 1 } --- ## 📤 Output Format Each profile will produce a dataset item with the following structure: ### Successful Response json { "profileUrl": "https://www.instagram.com/mrbeast", "status": "success", "profile": { "account": "mrbeast", "instagram_id": "12345678", "fbid": "17841400455970028", "profile_name": "MrBeast", "full_name": "Jimmy Donaldson", "biography": "Doing things that no one has done before...", "profile_image_link": "https://scontent.cdninstagram.com/...", "followers": 150000000, "following": 500, "posts_count": 1250, "is_verified": true, "is_private": false, "is_business_account": true, "is_professional_account": true, "avg_engagement": 5.2, "category_name": "Entrepreneur", "highlights_count": 8, "is_joined_recently": false, "has_channel": true, "business_address": "Los Angeles, CA", "email": "contact@example.com", "external_url": ["https://website.com"], "profile_url": "https://www.instagram.com/mrbeast/" }, "posts": [ { "id": 123, "instagram_id": "post_12345", "url": "https://www.instagram.com/p/ABC123/", "caption": "Post caption text with #hashtags", "likes": 5000000, "comments": 25000, "date_posted": "2025-09-10T15:30:00Z", "content_type": "image", "image_url": "https://...", "video_url": null, "thumbnail": "https://...", "hashtags": ["#challenge", "#giveaway"], "location": {"name": "Los Angeles"}, "shortcode": "ABC123", "is_paid_partnership": false, "post_content": [ { "index": 0, "type": "image", "url": "https://image.jpg", "instagram_id": "content_id_123" } ] } ], "related_accounts": [ { "instagram_id": "87654321", "user_name": "related_user", "profile_name": "Related User", "is_private": false, "is_verified": true, "profile_pic_url": "https://..." } ], "highlights": ["highlight1", "highlight2"], "bio_hashtags": ["#entrepreneur", "#creator"], "post_hashtags": ["#challenge", "#giveaway"], "summary": { "totalPosts": 1250, "totalCost": "0.050", "listCost": "12.500", "processingTime": "15.2s" }, "downloadInfo": { "id": "01K575ZB8HT9BY4QATJ7848BVK", "type": "instagram_profile", "status": "success" }, "listInfo": { "list_id": "01K575ZB8HT9BY4QATJ784DJN", "list_cost": "12.500" } } ### Pending Response (when waitForCompletion is false) json { "profileUrl": "https://www.instagram.com/mrbeast", "status": "pending", "download_id": "01HXYZ123456789", "message": "Profile scraping initiated. All posts will be processed. Please be patient as it may take a few minutes.", "summary": { "processingTime": "2.1s" } } ### Failed Response json { "profileUrl": "https://www.instagram.com/invalid", "error": "Profile does not exist or has been deleted", "status": "failed" } --- ## 🚀 How to Use 1. Get your API token from Transcript Downloader 2. Add Instagram profile URLs in the format: - https://www.instagram.com/username - https://instagram.com/username (also supported) 3. Choose your mode: - Instant mode: Set waitForCompletion: false for instant results with recent posts - Full mode: Set waitForCompletion: true to get all posts (takes longer) 4. Run the actor and access results in the dataset --- ## ❌ Error Handling The actor gracefully handles common API errors: | Status Code | Meaning | Action | | ----------- | -------------------------------------------- | -------------------------------- | | 400 | Invalid Instagram URL | Check URL format | | 401 | Insufficient credits or invalid token | Check credits and API token | | 403 | Invalid API token | Regenerate API token | | 404 | Profile does not exist or has been deleted | Verify profile exists | | 429 | Rate limit exceeded | Actor handles with delays | | 500 | Third party service error or processing error| Retry automatically | | 503 | Service temporarily unavailable | Retry later | Failed profiles 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: 1-2 for Instagram * 📊 Processing time: - Instant mode (recent posts): ~5-15 seconds per profile - Full mode (all posts): ~2-10 minutes per profile (depends on post count) --- ## 💡 Best Practices ### For Quick Analysis (Instant Results) json { "profileUrls": ["https://www.instagram.com/profile1", "https://www.instagram.com/profile2"], "apiToken": "your-token", "waitForCompletion": false, "maxConcurrency": 2 } Use case: Quick profile checks, follower counts, recent engagement ### For Deep Analysis (All Posts) json { "profileUrls": ["https://www.instagram.com/profile"], "apiToken": "your-token", "waitForCompletion": true, "maxWaitTime": 15, "pollingInterval": 30, "maxConcurrency": 1 } Use case: Complete content analysis, historical data, all posts metadata ### General Tips - ✅ Use waitForCompletion: false for quick checks - ✅ Use waitForCompletion: true for comprehensive analysis - ✅ Keep maxConcurrency low (1-2) to avoid rate limits - ✅ Monitor costs using the summary.totalCost field - ✅ Validate profile URLs before running large batches - ✅ Private accounts may return limited data or errors - ✅ Business accounts typically provide richer metadata ### 🆕 New Profile Fields Available The API now returns additional profile information: - fbid: Facebook ID associated with the Instagram account - is_professional_account: Whether the account is a professional account - highlights_count: Number of story highlights on the profile - is_joined_recently: Indicates if the user joined Instagram recently - has_channel: Whether the account has a broadcast channel - business_address: Physical address for business accounts - list_cost: Cost for fetching the complete posts list (returned upfront) These fields are available in the profile object of the response. --- ## 🔗 Supported URL Formats The actor supports Instagram profile URLs in the following formats: ✅ https://www.instagram.com/username ✅ https://instagram.com/username ✅ http://www.instagram.com/username ✅ http://instagram.com/username ❌ Not supported: ❌ https://www.instagram.com/p/POST_ID/ (individual posts) ❌ https://www.instagram.com/username/reels/ ❌ https://www.instagram.com/username/tagged/ --- ## 📈 Monitoring & Analytics Track your usage with the built-in summary data: json { "summary": { "totalPosts": 1250, "totalCost": "0.050", "listCost": "12.500", "processingTime": "45.2s" } } Use this data to: - Monitor API costs per profile - Track processing performance - Plan batch processing strategies - Optimize concurrency settings --- ## 💳 Pricing & Billing The Transcript Downloader API used by this actor requires a valid API token. API usage is billed separately: * Instant fetch (recent posts): Lower cost per profile * Full scraping (all posts): Higher cost based on post count * List processing: Additional cost shown in listCost field 📊 Pricing varies by profile size and data volume. Visit our site to checkout pricing. View full details and subscription plans on our pricing page --- ## 🎯 Use Cases - Influencer Marketing: Analyze engagement rates, follower counts, content strategy - Competitor Research: Track competitors' posting frequency, hashtags, content types - Brand Monitoring: Monitor brand mentions, user-generated content, partnerships - Content Analysis: Analyze successful post patterns, optimal posting times - Market Research: Identify trends, popular hashtags, related accounts - Social Listening: Track conversations, comments, engagement metrics --- ## 🙋 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 Profile – User Profile & Metadata Scraper now on Apify. Free tier available with no credit card required.

Start Free Trial

Actor Information

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