# Instagram Profile Scraper — Live Data by Influship (`influship/instagram-profile-scraper`) Actor

Scrape any public Instagram profile in real time. Get follower count, engagement rate, bio, recent posts, growth trends, and audience data. No login required. Powered by Influship live scraping infrastructure.

- **URL**: https://apify.com/influship/instagram-profile-scraper.md
- **Developed by:** [Influship](https://apify.com/influship) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 — Live Data

Scrape any public Instagram profile and get structured, up-to-date data including follower count, engagement rate, bio, multi-link entries, and recent posts. No login required. Just provide a username and get comprehensive profile data delivered as clean JSON.

### What is Instagram Profile Scraper?

Instagram Profile Scraper lets you pull live, structured data from any public Instagram account. Unlike browser-based scrapers that break every time Instagram updates their frontend, this actor uses a robust data pipeline that returns reliable, normalized profile data every time. It is ideal for marketers running influencer campaigns, researchers studying social media trends, and developers building tools that need fresh Instagram data on demand.

### Features

- **Live profile data** — Fetches current profile info including bio, avatar, follower count, and verification status
- **Engagement rate** — Computed average engagement rate based on recent post performance
- **Recent posts** — Optionally include up to 50 recent posts with captions, likes, comments, and media URLs
- **Account classification** — Know whether an account is a business, creator, or personal account
- **Bio links** — Multi-link bio entries (the new "links" feature on Instagram)
- **Related profiles** — Profiles Instagram suggests as similar to this account
- **Structured output** — Clean, normalized JSON ready for analysis or integration

### What data can you extract?

| Field | Description |
|-------|-------------|
| `username` | Instagram handle |
| `user_id` | Instagram numeric user ID |
| `full_name` | Profile full name |
| `biography` | Profile bio text |
| `profile_pic_url` / `profile_pic_url_hd` | Profile picture URLs |
| `category_name` | Account category (e.g., Public Figure, Business) |
| `external_url` | Link in bio |
| `follower_count` | Total follower count |
| `following_count` | Total following count |
| `media_count` | Total post count |
| `engagement_rate` | Computed engagement rate (decimal — `0.035` = 3.5%) |
| `highlight_reel_count` | Number of highlight reels |
| `is_verified` / `is_business` / `is_professional` / `is_private` | Account flags |
| `pronouns` | Pronouns set on the profile |
| `bio_links` | Multi-link bio entries |
| `posts` | Recent posts with captions, likes, comments, media URLs |
| `related_profiles` | Profiles Instagram suggests as similar |
| `scraped_at` | Timestamp of when this live scrape was performed |

### How to use

1. Enter the Instagram username you want to scrape (without the @ symbol)
2. Choose whether to include recent posts (enabled by default)
3. Set the post limit if you want fewer or more posts (default 12, max 50)
4. Run the actor
5. Download the profile data as JSON, CSV, or Excel

You can also call this actor programmatically via the Apify API, or integrate it into automated workflows using Zapier, Make, or any HTTP client.

### Input example

```json
{
  "username": "natgeo",
  "includePosts": true,
  "postLimit": 12
}
````

### Output example

```json
{
  "username": "natgeo",
  "user_id": "787132",
  "full_name": "National Geographic",
  "biography": "Experience the world through the eyes of National Geographic photographers.",
  "profile_pic_url": "https://scontent.cdninstagram.com/...",
  "profile_pic_url_hd": "https://scontent.cdninstagram.com/...",
  "category_name": "Media/News Company",
  "external_url": "https://natgeo.com",
  "is_verified": true,
  "is_business": true,
  "is_professional": true,
  "is_private": false,
  "follower_count": 283000000,
  "following_count": 200,
  "media_count": 35000,
  "engagement_rate": 0.005,
  "highlight_reel_count": 12,
  "pronouns": [],
  "bio_links": [
    { "title": "natgeo.com", "url": "https://natgeo.com", "link_type": "external" }
  ],
  "posts": [
    {
      "id": "1234567890",
      "shortcode": "CxYz123ABC",
      "display_url": "https://...",
      "is_video": false,
      "post_type": "image",
      "like_count": 450000,
      "comment_count": 2300,
      "caption": "A rare glimpse of...",
      "taken_at": 1709837400
    }
  ],
  "related_profiles": [],
  "scraped_at": "2026-03-08T10:00:00Z"
}
```

### Pricing

This actor uses **pay-per-event** pricing:

- **Actor start**: Small fee per run
- **Per result**: Fee for the profile returned

Each run returns one profile. Platform usage costs are included — you only pay the per-event fees.

### FAQ

**How fresh is the data?**
Data is scraped live on every run. This actor calls Influship's real-time scraping endpoint — there is no cache. Each run fetches current data directly from Instagram at the moment you run it.

**Can I scrape private accounts?**
No. Only public Instagram profiles can be scraped. If an account is private, the actor will return limited public information.

**What happens if the username doesn't exist?**
The actor will return an error indicating the profile was not found. You are only charged the actor start fee, not the result fee.

**Can I scrape multiple profiles in one run?**
This actor scrapes one profile per run. To scrape multiple profiles, use the Apify API to start multiple runs in parallel, or build a workflow with the Apify SDK.

**What platforms are supported?**
This actor is specifically for Instagram. Check out our other actors for YouTube, TikTok, and cross-platform creator search.

**Can I use this with the Apify API?**
Yes! Call this actor via the Apify API or any Apify integration (Zapier, Make, n8n, etc.) for fully automated workflows.

# Actor input Schema

## `username` (type: `string`):

Instagram username to scrape (without the @ symbol). Example: 'natgeo'

## `includePosts` (type: `boolean`):

Whether to include recent posts in the profile data

## `postLimit` (type: `integer`):

Maximum number of recent posts to include (1-50)

## Actor input object example

```json
{
  "username": "natgeo",
  "includePosts": true,
  "postLimit": 12
}
```

# Actor output Schema

## `profile` (type: `string`):

No description

# 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 = {
    "username": "natgeo"
};

// Run the Actor and wait for it to finish
const run = await client.actor("influship/instagram-profile-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 = { "username": "natgeo" }

# Run the Actor and wait for it to finish
run = client.actor("influship/instagram-profile-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 '{
  "username": "natgeo"
}' |
apify call influship/instagram-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Profile Scraper — Live Data by Influship",
        "description": "Scrape any public Instagram profile in real time. Get follower count, engagement rate, bio, recent posts, growth trends, and audience data. No login required. Powered by Influship live scraping infrastructure.",
        "version": "0.0",
        "x-build-id": "P7nEmPHZXFzGUkQla"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/influship~instagram-profile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-influship-instagram-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/influship~instagram-profile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-influship-instagram-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/influship~instagram-profile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-influship-instagram-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "username"
                ],
                "properties": {
                    "username": {
                        "title": "Username",
                        "type": "string",
                        "description": "Instagram username to scrape (without the @ symbol). Example: 'natgeo'"
                    },
                    "includePosts": {
                        "title": "Include Posts",
                        "type": "boolean",
                        "description": "Whether to include recent posts in the profile data",
                        "default": true
                    },
                    "postLimit": {
                        "title": "Post Limit",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of recent posts to include (1-50)",
                        "default": 12
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
