# Instagram Posts Scraper - Export with Engagement 2026 (`instaprism/instagram-posts-scraper`) Actor

No login required. Extract posts from any Instagram account. Get likes, comments, views, timestamps, media URLs. Calculate engagement rates. Export JSON/CSV/Excel.

- **URL**: https://apify.com/instaprism/instagram-posts-scraper.md
- **Developed by:** [red](https://apify.com/instaprism) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 52 total users, 6 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.80 / 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 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 Posts Scraper - Export Posts with Engagement Metrics 2026

Extract posts from any public Instagram account with complete engagement data. Get likes, comments, video views, timestamps, and calculate engagement rates for competitor analysis and content research.

### No Login Required

**Your Instagram account stays safe.** This Actor:
- Does NOT require your Instagram login or cookies
- Uses our own infrastructure to fetch data
- Zero risk of account suspension for you
- Works with any public Instagram profile

Unlike browser extensions or tools that use your account, we handle all scraping server-side. Your credentials are never needed.

### Important: Processing Time

**This Actor uses a distributed scraping architecture.** Here's what to expect:

| Data Size | First Results | Complete Results |
|-----------|---------------|------------------|
| 50 posts | 2-3 min | 3-5 min |
| 200 posts | 3-5 min | 5-10 min |
| 500+ posts | 5-10 min | 10-20 min |

**Why does it take time?**
- Instagram has strict rate limits to prevent spam
- We use multiple proxy servers worldwide to stay undetected
- Each post requires fetching detailed engagement data

**Don't worry about timeouts!** Our streaming mode saves results every 60 seconds. Even if Apify times out after 24h, you'll have all the data collected up to that point.

### What You Get

- **Post URL** - Direct link to the Instagram post
- **Post ID** - Unique identifier for the post
- **Likes Count** - Number of likes on the post
- **Comments Count** - Number of comments
- **Video Views** - View count for videos/reels (null for photos)
- **Media Type** - Photo, video, or carousel
- **Timestamp** - When the post was published
- **Engagement** - Combined likes + comments
- **Caption** - Post text content (when available)

### Input

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `username` | String | Yes | - | The Instagram username to scrape posts from (without the @ symbol) |
| `limit` | Integer | No | 50 | Maximum number of posts to extract. Instagram shows up to ~1000 recent posts |

#### Example Input

```json
{
    "username": "nike",
    "limit": 100
}
````

### Output

| Field | Type | Example | Description |
|-------|------|---------|-------------|
| `position` | Integer | 1 | Position in the posts feed (1 = most recent) |
| `postId` | String | "3214567890123456789" | Unique Instagram post ID |
| `url` | String | "https://instagram.com/p/ABC123/" | Direct URL to the post |
| `likes` | Integer | 125000 | Number of likes |
| `comments` | Integer | 3500 | Number of comments |
| `engagement` | Integer | 128500 | Total engagement (likes + comments) |
| `timestamp` | String | "2026-01-15T10:30:00.000Z" | When the post was published |
| `mediaType` | String | "video" | Type: "photo", "video", or "carousel" |
| `videoViews` | Integer | 2500000 | View count for videos (null for photos) |
| `scrapedFrom` | String | "nike" | Source account username |
| `scrapedAt` | String | "2026-01-15T12:00:00.000Z" | When the data was scraped |

#### Example Output

```json
[
    {
        "position": 1,
        "postId": "3214567890123456789",
        "url": "https://www.instagram.com/p/ABC123/",
        "likes": 125000,
        "comments": 3500,
        "engagement": 128500,
        "timestamp": "2026-01-15T10:30:00.000Z",
        "mediaType": "video",
        "videoViews": 2500000,
        "scrapedFrom": "nike",
        "scrapedAt": "2026-01-15T12:00:00.000Z"
    },
    {
        "position": 2,
        "postId": "3214567890123456788",
        "url": "https://www.instagram.com/p/XYZ789/",
        "likes": 89000,
        "comments": 1200,
        "engagement": 90200,
        "timestamp": "2026-01-14T15:00:00.000Z",
        "mediaType": "photo",
        "videoViews": null,
        "scrapedFrom": "nike",
        "scrapedAt": "2026-01-15T12:00:01.000Z"
    }
]
```

### Use Cases

- **Competitor Analysis** - Track what content performs best for your competitors. Identify trends in their top posts.
- **Influencer Vetting** - Verify real engagement rates before signing partnerships. Spot accounts with fake engagement.
- **Content Research** - Analyze what works in your niche. Find the best posting formats and times.
- **Engagement Benchmarking** - Calculate average engagement rates to set realistic KPIs.
- **Trend Detection** - Find viral content patterns by analyzing high-performing posts.

### Streaming Mode (Auto-Save)

This Actor uses **streaming mode** to protect your data:

- Results saved to dataset every 60 seconds
- No data loss even on timeout or interruption
- Monitor progress in real-time via logs
- Partial results always available

### Integrations

Export your data to:

- **Google Sheets** - Direct integration, auto-sync results
- **Zapier / Make (Integromat)** - Trigger workflows when scrape completes
- **Webhooks** - Get real-time notifications
- **API** - Programmatic access via Apify API
- **Download** - JSON / CSV / Excel files

### FAQ

#### Why is my scrape taking so long?

Instagram limits how fast data can be fetched. Our distributed architecture uses multiple proxies worldwide to maximize speed while staying undetected. Each post requires individual engagement data fetching.

#### Can I scrape private accounts?

No, this Actor only works with public Instagram profiles. Private accounts require login credentials which we don't support.

#### What if the Actor times out?

Your data is safe! Streaming mode saves results every 60 seconds to the Apify dataset. If the run times out, you can download whatever was collected.

#### How do I calculate engagement rate?

Engagement rate = (likes + comments) / followers \* 100. You'll need to combine this data with follower count from our Profile Scraper.

#### Can I get the post captions/text?

Caption extraction depends on Instagram's response. When available, captions are included in the output.

#### What's the maximum posts I can scrape?

Instagram typically allows access to the most recent ~1000 posts. Older posts may not be accessible via the public API.

#### How accurate is the engagement data?

Data is scraped in real-time directly from Instagram. It reflects the current state at scrape time. Note that engagement numbers can change as posts get more likes/comments.

#### How often can I run this?

As often as you need. Each run is independent. For tracking changes over time, set up scheduled runs via Apify.

### Keywords

Instagram posts scraper, export Instagram posts, Instagram engagement scraper, scrape Instagram posts, Instagram content analysis, Instagram competitor analysis, Instagram influencer verification, Instagram engagement metrics, export posts to CSV, Instagram data extraction, Instagram likes scraper, Instagram comments scraper

### Need Custom Solutions?

Looking for **custom scraping**, **higher limits**, or **dedicated infrastructure**?

📩 **Contact us:**

- **Telegram:** [@taskforceorange](https://t.me/taskforceorange)
- **Website:** [social-swarm.com](https://social-swarm.com)

We offer:

- Custom actor development
- Enterprise-grade scraping solutions
- Dedicated proxy infrastructure
- White-label integrations
- Priority support

***

*Built with ❤️ by the InstaPrism team*

# Actor input Schema

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

Instagram username to scrape posts from (without @)

## `limit` (type: `integer`):

Maximum number of posts to scrape

## Actor input object example

```json
{
  "username": "instagram",
  "limit": 50
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped items in JSON format

# 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": "instagram"
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Posts Scraper - Export with Engagement 2026",
        "description": "No login required. Extract posts from any Instagram account. Get likes, comments, views, timestamps, media URLs. Calculate engagement rates. Export JSON/CSV/Excel.",
        "version": "1.0",
        "x-build-id": "xKYs34qM6ZpdhiP4h"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/instaprism~instagram-posts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-instaprism-instagram-posts-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/instaprism~instagram-posts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-instaprism-instagram-posts-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/instaprism~instagram-posts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-instaprism-instagram-posts-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 posts from (without @)"
                    },
                    "limit": {
                        "title": "Limit",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of posts to scrape",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
