# Instagram Profile Super Scraper (`muhammad_noman_riaz/instagram-profile-super-scraper`) Actor

The Instagram Profile Super Scraper is a powerful and efficient tool built with Apify and Crawlee that allows you to extract comprehensive data from Instagram profiles. It scrapes public information such as username, bio, followers, following, posts, IGTV videos, and related profiles.

- **URL**: https://apify.com/muhammad\_noman\_riaz/instagram-profile-super-scraper.md
- **Developed by:** [Muhammad Noman Riaz](https://apify.com/muhammad_noman_riaz) (community)
- **Categories:** Automation, Social media, Developer tools
- **Stats:** 96 total users, 6 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: 1.00 out of 5 stars

## Pricing

from $7.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Instagram Profile Scraper - Extract Complete Instagram Profile Data

Professional Instagram profile scraper that extracts comprehensive data from Instagram profiles. Get detailed bio information, follower statistics, post counts, verification status, and complete profile analytics from any public Instagram account.

### Key Features of Instagram Profile Data Extraction

✅ **Complete Instagram Profile Information Extraction**

- Username, unique ID, full display name, and detailed biography
- Accurate follower and following counts with real-time statistics
- Total post count and content metrics
- Account verification status and business account indicators
- High-resolution profile pictures (standard and HD quality)
- External website links and bio URLs

✅ **Latest Instagram Posts Data**

- Extract up to 12 most recent posts from each profile
- Full post captions with hashtag and mention extraction
- High-quality image and video URLs for all media types
- Engagement analytics including likes and comments counts
- Support for all Instagram content types (Image, Video, Carousel)
- Tagged user information and post metadata
- Precise post timestamps and upload dates

✅ **Instagram Profile Relationships**

- Discover related Instagram accounts and profile suggestions
- Network analysis and connection mapping
- Related account recommendations based on Instagram's algorithm

✅ **Advanced Profile Analytics** (Optional)

- Account creation date and age analysis
- Geographic location data when available
- Verification timeline and account history
- Username change tracking and history

### Instagram Profile Scraper Output Data Structure

The scraper delivers data in a comprehensive JSON format compatible with professional data analysis:

```json
{
  "inputUrl": "https://www.instagram.com/ahmdasofficial",
  "id": "55079635587",
  "username": "ahmdasofficial",
  "url": "https://www.instagram.com/ahmdasofficial",
  "fullName": "احمد - Ahmed",
  "biography": "𝗙𝗼𝘂𝗻𝗱𝗲𝗿 @labshkw...",
  "externalUrls": [...],
  "externalUrl": "https://reach.link/ahmedabsofficial",
  "externalUrlShimmed": "https://l.instagram.com/?u=...",
  "followersCount": 40657,
  "followsCount": 617,
  "hasChannel": false,
  "highlightReelCount": 80,
  "isBusinessAccount": false,
  "joinedRecently": false,
  "businessCategoryName": "Digital creator",
  "private": false,
  "verified": true,
  "profilePicUrl": "https://...",
  "profilePicUrlHD": "https://...",
  "igtvVideoCount": 0,
  "relatedProfiles": [...],
  "latestIgtvVideos": [...],
  "postsCount": 921,
  "latestPosts": [...]
}
```

**Comprehensive Data Fields:**

- Complete profile metadata and identification
- Social metrics and engagement statistics
- Content creation and posting history
- Business and verification information
- Media assets and profile imagery
- Network connections and relationships
- Geographic and demographic data

### Instagram Profile Scraper Input Configuration

Configure your Instagram profile scraping with flexible input options:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `usernames` | Array | Yes | List of Instagram usernames, profile URLs, or profile IDs to scrape |
| `includeAboutSection` | Boolean | No | Extract detailed account information and history (default: false) |
| `cookies` | Array | No | Instagram session cookies (recommended) |

#### Instagram Profile Scraper Input Examples

**Single Instagram Profile:**

```json
{
  "usernames": ["nasa"]
}
```

**Multiple Instagram Profiles:**

```json
{
  "usernames": ["nasa", "spacex", "natgeo"]
}
```

**Using Instagram Profile URLs:**

```json
{
  "usernames": [
    "https://www.instagram.com/nasa/",
    "https://www.instagram.com/spacex/"
  ]
}
```

**Advanced Profile Analysis:**

```json
{
  "usernames": ["nasa"],
  "includeAboutSection": true
}
```

### Cookies Configuration (Recommended)

Providing Instagram session cookies enables access to more data, higher rate limits, and private content.

#### How to Obtain Your Cookies

1. **Log in to Instagram**: Open Instagram in Chrome or Firefox and log in to your account
2. **Open Developer Tools**: Press F12 or right-click and select "Inspect"
3. **Navigate to Cookies**: Go to Application tab (Chrome) or Storage tab (Firefox) → Cookies → https://www.instagram.com
4. **Copy Required Cookies**: Find and copy the values for these cookies:
   - `sessionid`
   - `ds_user_id`
   - `csrftoken`
   - `ig_did`
   - `mid`
   - `datr`
5. **Format the Cookie String**: Combine them into one string like this:
   ```
   sessionid=YOUR_SESSIONID_VALUE; ds_user_id=YOUR_DS_USER_ID_VALUE; csrftoken=YOUR_CSRFTOKEN_VALUE; ig_did=YOUR_IG_DID_VALUE; mid=YOUR_MID_VALUE; datr=YOUR_DATR_VALUE
   ```
6. **Provide in Input**: Paste this complete string into the `cookies` field

#### Important Notes

- **Expiration**: Cookies expire every 24-48 hours. Update them regularly to avoid authentication failures
- **Security**: Never share your cookies with others. They contain your session information
- **Multiple Sessions**: You can provide multiple cookie strings for session rotation
- **Fallback**: If no cookies provided, the scraper uses `cookies.json` file if available, or operates in guest mode

#### Example Cookie Input

```json
{
  "usernames": ["nasa"],
  "cookies": [
    "sessionid=123456789%3Aabcdefghijklmnop%3A1; ds_user_id=123456789; csrftoken=abcdefghijklmnop; ig_did=ABCDEFGH-1234-5678-9ABC-DEF012345678; mid=HIJKLMN; datr=NOPQRSTUVWXYZ"
  ]
}
```

### Instagram Profile Data Export Options

Extracted profile data can be exported in multiple professional formats:

- **JSON**: Structured data for API integration and analysis
- **CSV**: Spreadsheet-compatible format for Excel and data analysis tools
- **Excel**: Native Excel format with proper formatting
- **XML**: Extensible markup for enterprise systems
- **HTML Table**: Web-ready table format for reports

### Popular Use Cases for Instagram Profile Scraping

#### Social Media Market Research

- Analyze competitor Instagram strategies and content performance
- Study successful brand profiles and engagement patterns
- Research industry trends and audience demographics

#### Influencer Marketing and Discovery

- Identify top influencers in specific niches and categories
- Analyze influencer engagement rates and audience quality
- Discover emerging creators and content creators

#### Brand Monitoring and Competitive Intelligence

- Track competitor profile growth and content strategies
- Monitor brand mentions and user-generated content
- Analyze market positioning and audience overlap

#### Lead Generation and Business Development

- Find potential business partners and industry contacts
- Research company profiles and professional networks
- Identify B2B opportunities through social media analysis

#### Academic Research and Data Analysis

- Study social media behavior and communication patterns
- Analyze influencer marketing effectiveness
- Research digital marketing trends and consumer behavior

#### Content Strategy and Marketing Planning

- Study successful Instagram profiles for content inspiration
- Analyze posting frequency and content types
- Research hashtag usage and content optimization

### Instagram Profile Scraper Capabilities

This professional Instagram scraper handles all types of Instagram accounts:

- **Personal Profiles**: Individual creators and influencers
- **Business Accounts**: Brand profiles with enhanced features
- **Verified Accounts**: Official and celebrity profiles
- **Creator Accounts**: Content creators with monetization features
- **Public Profiles**: All publicly accessible Instagram accounts
- **International Content**: Support for multiple languages and regions

### Legal and Ethical Guidelines for Instagram Data Extraction

- **Public Data Only**: Extract information only from public Instagram profiles
- **Terms of Service Compliance**: Fully respect Instagram's Terms of Service and API policies
- **Privacy Protection**: Never violate user privacy or collect restricted personal data
- **Legitimate Business Use**: Use for legitimate research, analysis, and business intelligence
- **Rate Limiting Respect**: Implement appropriate delays to prevent server overload
- **Data Protection Compliance**: Ensure compliance with GDPR, CCPA, and other data regulations
- **Ethical Research**: Conduct responsible social media research and analysis

### Technical Specifications

- **Data Accuracy**: Real-time extraction with high reliability
- **Rate Limiting**: Built-in delays to respect Instagram's servers
- **Error Handling**: Robust retry mechanisms for failed requests
- **Data Validation**: Comprehensive validation of extracted information
- **Performance Optimized**: Efficient scraping with minimal resource usage

### Support and Documentation

Need assistance with Instagram profile scraping?

- Review the input schema for all configuration options
- Check the output schema for complete data structure details
- Access comprehensive documentation on the Apify platform
- Contact support team for technical assistance

### License

Apache-2.0

# Actor input Schema

## `usernames` (type: `array`):

Provide one or several Instagram user names you want to scrape the profile data from. You can also provide profile URLs or user IDs.

## `includeAboutSection` (type: `boolean`):

This feature is for paying users only. If enabled, the scraper will extract information about the account including date joined and country of origin. Please beware that the country is there ONLY if the user filled in this information.

## `cookies` (type: `array`):

Provide your Instagram session cookies for authenticated access. This enables more data extraction, higher rate limits, and access to private content.

📋 HOW TO GET YOUR COOKIES:

1. Login to Instagram in Chrome/Firefox
2. Open Developer Tools (F12) → Application/Storage tab → Cookies → https://www.instagram.com
3. Copy these cookie values: sessionid, ds\_user\_id, csrftoken, ig\_did, mid, datr
4. Format as: sessionid=YOUR\_VALUE; ds\_user\_id=YOUR\_VALUE; csrftoken=YOUR\_VALUE; ig\_did=YOUR\_VALUE; mid=YOUR\_VALUE; datr=YOUR\_VALUE
5. Paste the complete string below

⚠️ IMPORTANT: Cookies expire every 24-48 hours. Update them regularly.

💡 TIP: Multiple cookies allow session rotation to avoid rate limits.

## Actor input object example

```json
{
  "usernames": [
    "nasa",
    "spacex",
    "https://www.instagram.com/elonmusk/"
  ],
  "includeAboutSection": false,
  "cookies": [
    "sessionid=123456789%3Aabcdefghijklmnop%3A1; ds_user_id=123456789; csrftoken=abcdefghijklmnop; ig_did=ABCDEFGH-1234-5678-9ABC-DEF012345678; mid=HIJKLMN; datr=NOPQRSTUVWXYZ"
  ]
}
```

# Actor output Schema

## `profiles` (type: `string`):

The dataset containing all scraped Instagram profiles

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "ahmdasofficial"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("muhammad_noman_riaz/instagram-profile-super-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "usernames": ["ahmdasofficial"] }

# Run the Actor and wait for it to finish
run = client.actor("muhammad_noman_riaz/instagram-profile-super-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "ahmdasofficial"
  ]
}' |
apify call muhammad_noman_riaz/instagram-profile-super-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=muhammad_noman_riaz/instagram-profile-super-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/PxEGmXGtCOqbgL68T/builds/a9TTjGikXHfqsDu9o/openapi.json
