# Instagram Scraper — Posts, Profiles, Followers & Hashtags (`pro100chok/instagram-scraper-all-in-one`) Actor

The all-in-one Instagram scraper: extract profiles, posts, reels, comments, likes, followers, following, tagged, stories, highlights, hashtags, locations, search and bio emails/contacts — from one Actor. Clean structured data with full pagination, exported to JSON, CSV or Excel. Pay only per result.

- **URL**: https://apify.com/pro100chok/instagram-scraper-all-in-one.md
- **Developed by:** [Raven](https://apify.com/pro100chok) (community)
- **Categories:** Social media, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Scraper — All-in-One 🥇

**The only Instagram scraper you need.** Extract Instagram **profiles, posts, reels, comments, likes, followers, following, tagged posts, stories, highlights, hashtags, locations and search results** — from a single Actor, with one simple input. No code required. Export to **JSON, CSV, Excel, HTML or API**.

> Stop juggling 15 different scrapers. This all-in-one Instagram data extractor replaces profile scrapers, post scrapers, hashtag scrapers, comment scrapers, reel scrapers, follower scrapers and more — in one place, with clean structured output and per-result pricing.

---

### ✨ Why this Instagram Scraper?

- 🧩 **14 scrapers in one** — switch modes from a single dropdown.
- 🧹 **Clean, flat output** — every record is a tidy, single-level row, ready for Excel, Google Sheets, BigQuery or your database.
- 🔁 **Full pagination** — scroll through thousands of posts, followers, comments and hashtag results, not just the first page.
- 💸 **Pay only for what you get** — billed per result, with a separate price for each result type (profiles, posts, comments, users, stories, search).
- 🔗 **Flexible input** — paste profile URLs, post/reel URLs, `@handles`, bare usernames, `#hashtags`, hashtag/location URLs or a search query.
- 📤 **Export anywhere** — JSON, CSV, Excel, HTML, RSS or the Apify API. Connect to Make, Zapier, n8n, Google Sheets and more.

---

### 🗂️ What can it scrape?

| # | Mode | Give it | Returns | Login cookie? |
|---|------|---------|---------|:---:|
| 👤 | **Profile details** | username / profile URL | bio, followers, following, posts count, links, verified… | — |
| ✉️ | **Contacts** | username / profile URL | emails, phones, links & address from the bio (lead-gen) | — |
| 🖼️ | **Profile posts** | username / profile URL | every post on the timeline | — |
| 🎬 | **Profile reels** | username / profile URL | every reel / video | — |
| 📄 | **Post / Reel detail** | post or reel URL | full media + tagged users + top comments | — |
| 💬 | **Post comments** | post or reel URL | comments with author, likes, replies | 🔑 |
| ❤️ | **Post likers** | post or reel URL | users who liked the post | 🔑 |
| 👥 | **Followers** | username / profile URL | the account's followers | 🔑 |
| ➡️ | **Following** | username / profile URL | accounts the user follows | 🔑 |
| 🏷️ | **Tagged posts** | username / profile URL | posts the user is tagged in | 🔑 |
| 📸 | **Stories** | username / profile URL | active stories | 🔑 |
| 🌟 | **Highlights** | username / profile URL | highlight reels | 🔑 |
| #️⃣ | **Hashtag posts** | `#tag` / hashtag URL | top & recent posts for a hashtag | 🔑 |
| 📍 | **Location posts** | location id / location URL | posts at a location | 🔑 |
| 🔎 | **Search** | search query | matching users, hashtags & places | 🔑 |

🔑 = needs a free Instagram **login cookie** (see [below](#-login-cookie--required-for-🔑-modes)). The four modes without the key work straight away.

---

### 🚀 How to use (3 steps)

1. **Pick a mode** in *🎯 What do you want to scrape?*
2. **Paste your input** in *🔗 Instagram URLs or usernames* (or a query in *🔎 Search*).
3. Click **Save & Start**. Watch results stream into the dataset, then **Export** as JSON/CSV/Excel.

That's it. Set *Max results per input* to control how much you collect.

---

### 🔑 Login cookie — required for 🔑 modes

Modes marked 🔑 (comments, likes, followers, following, tagged, stories, highlights, hashtag, location, search) read data that Instagram only serves to logged-in users. **For these modes a session cookie is mandatory** — without it the run returns no data and logs a clear message.

**How to get your cookie (1 minute):**
1. Install the **EditThisCookie v3** Chrome extension.
2. Log into **[instagram.com](https://www.instagram.com)** in your browser.
3. Click the **EditThisCookie** icon and **export** the cookies (the **5th button** at the top of the cookie editor — the *Export* icon). This copies the cookies as JSON to your clipboard.
4. **Paste** the exported JSON into the **🔑 Instagram login cookie** field of this Actor.

> The field also accepts just your **`sessionid`** value or a full **`name=value; name=value`** cookie string, if you prefer. The value is stored **encrypted** (it's a secret field). Use a secondary/throwaway account — heavy scraping on your main account is not recommended.

**🔄 Cookie expiry note:** Instagram cookies typically stay valid for a few days to a few weeks. If a run that worked before starts reporting *login required* / invalid authentication, just re-export fresh cookies from your browser and paste them again.

> 👤 Profile details, 🖼️ posts, 🎬 reels and 📄 post detail need **no cookie at all**.

---

### 📥 Input examples

#### Scrape a profile's posts (no login)
```json
{
  "scrapeType": "posts",
  "directUrls": ["https://www.instagram.com/nasa/"],
  "resultsLimit": 200
}
````

#### Extract emails & phones from bios — lead-gen (no login)

```json
{
  "scrapeType": "contacts",
  "directUrls": ["@somebrand", "https://www.instagram.com/anotherbrand/"],
  "resultsLimit": 1
}
```

#### A single post / reel with tagged users & top comments (no login)

```json
{
  "scrapeType": "post",
  "directUrls": ["https://www.instagram.com/p/DZz4bjIjhdm/"]
}
```

#### Comments of a post (🔑 login)

```json
{
  "scrapeType": "comments",
  "directUrls": ["https://www.instagram.com/p/DZz4bjIjhdm/"],
  "resultsLimit": 500,
  "sessionCookie": "PASTE_YOUR_SESSIONID_OR_COOKIES_HERE"
}
```

#### Followers of an account (🔑 login)

```json
{
  "scrapeType": "followers",
  "directUrls": ["@nasa"],
  "resultsLimit": 1000,
  "sessionCookie": "PASTE_YOUR_COOKIES_HERE"
}
```

#### Hashtag posts (🔑 login)

```json
{
  "scrapeType": "hashtag",
  "directUrls": ["#nature"],
  "resultsLimit": 300,
  "sessionCookie": "PASTE_YOUR_COOKIES_HERE"
}
```

#### Search users / hashtags / places (🔑 login)

```json
{
  "scrapeType": "search",
  "search": "nasa",
  "searchType": "all",
  "sessionCookie": "PASTE_YOUR_COOKIES_HERE"
}
```

***

### 📤 Output examples

Every record is **flat** and carries a `type` field so you can split or price results by type.

#### 👤 Profile (`type: "profile"`)

```json
{
  "type": "profile",
  "id": "528817151",
  "username": "nasa",
  "fullName": "NASA",
  "biography": "Exploring the universe and our home planet.",
  "externalUrl": "https://www.nasa.gov",
  "bioLinks": ["https://www.nasa.gov"],
  "followersCount": 104409417,
  "followsCount": 78,
  "postsCount": 4828,
  "isVerified": true,
  "isPrivate": false,
  "isBusinessAccount": true,
  "category": "Government organization",
  "profilePicUrl": "https://instagram.f...jpg",
  "url": "https://www.instagram.com/nasa/"
}
```

#### 🖼️ Post / Reel (`type: "post"`)

```json
{
  "type": "post",
  "id": "3923727884124821350",
  "shortCode": "DZz4bjIjhdm",
  "url": "https://www.instagram.com/p/DZz4bjIjhdm/",
  "mediaType": "carousel",
  "isVideo": false,
  "caption": "The official FIFA World Cup ball went to space 🛰️⚽️",
  "hashtags": ["space", "fifa"],
  "mentions": ["fifa"],
  "commentsCount": 3287,
  "likesCount": 917834,
  "videoViewCount": null,
  "timestamp": 1782490000,
  "ownerUsername": "nasa",
  "ownerId": "528817151",
  "displayUrl": "https://instagram.f...jpg",
  "images": ["https://...1.jpg", "https://...2.jpg"],
  "taggedUsers": ["fifa"]
}
```

#### ✉️ Contact (`type: "contact"`)

```json
{
  "type": "contact",
  "username": "somebrand",
  "fullName": "Some Brand",
  "email": "hello@somebrand.com",
  "emails": ["hello@somebrand.com", "press@somebrand.com"],
  "phone": "+1 555 123 4567",
  "phones": ["+1 555 123 4567"],
  "website": "https://somebrand.com",
  "links": ["https://linktr.ee/somebrand", "https://somebrand.com"],
  "bioMentions": ["somebrand_shop"],
  "isBusinessAccount": true,
  "businessCategory": "Retail",
  "addressCity": "New York",
  "followersCount": 51234,
  "isVerified": false,
  "url": "https://www.instagram.com/somebrand/"
}
```

#### 💬 Comment (`type: "comment"`)

```json
{
  "type": "comment",
  "id": "17900000000000000",
  "postShortCode": "DZz4bjIjhdm",
  "text": "This is amazing! 🚀",
  "likesCount": 42,
  "repliesCount": 3,
  "timestamp": 1782491000,
  "ownerUsername": "space_fan",
  "ownerId": "123456789",
  "ownerIsVerified": false
}
```

#### 👥 User — follower / following / liker (`type: "user"`)

```json
{
  "type": "user",
  "id": "987654321",
  "username": "astro_lover",
  "fullName": "Astro Lover",
  "isPrivate": false,
  "isVerified": false,
  "profilePicUrl": "https://instagram.f...jpg",
  "relationship": "follower",
  "ofUsername": "nasa"
}
```

#### 📸 Story / Highlight (`type: "story"`)

```json
{
  "type": "story",
  "id": "3920000000000000000",
  "mediaType": "video",
  "url": "https://www.instagram.com/p/DZx.../",
  "ownerUsername": "nasa",
  "displayUrl": "https://instagram.f...jpg",
  "videoUrl": "https://instagram.f...mp4",
  "timestamp": 1782480000,
  "expiringAt": 1782566400,
  "highlightTitle": "Launches"
}
```

#### 🔎 Search result (`type: "searchResult"`)

```json
{
  "type": "searchResult",
  "resultKind": "user",
  "query": "nasa",
  "id": "528817151",
  "username": "nasa",
  "fullName": "NASA",
  "isVerified": true,
  "profilePicUrl": "https://instagram.f...jpg"
}
```

***

### 🧾 Output field reference

**Posts/Reels:** `shortCode`, `url`, `mediaType` (image/video/carousel), `productType`, `isVideo`, `caption`, `hashtags`, `mentions`, `likesCount`, `commentsCount`, `videoViewCount`, `videoDuration`, `timestamp`, `ownerUsername`, `ownerId`, `displayUrl`, `videoUrl`, `images`, `videos`, `locationName`, `taggedUsers`.

**Profiles:** `username`, `fullName`, `biography`, `externalUrl`, `bioLinks`, `followersCount`, `followsCount`, `postsCount`, `isVerified`, `isPrivate`, `isBusinessAccount`, `category`, `profilePicUrl`.

**Users:** `username`, `fullName`, `isPrivate`, `isVerified`, `profilePicUrl`, `relationship`, `ofUsername`.

**Comments:** `text`, `likesCount`, `repliesCount`, `timestamp`, `ownerUsername`, `ownerId`.

**Contacts:** `email`, `emails`, `phone`, `phones`, `website`, `links`, `bioMentions`, `isBusinessAccount`, `businessCategory`, `addressStreet`, `addressCity`, `addressZip`, `followersCount`, `isVerified`, `biography`.

***

### 💸 Pricing — pay per result type

This Actor uses **pay-per-result** billing, and **each result type is priced separately**, so you only pay for the data you actually pull:

| Result type | Event | Typical use |
|-------------|-------|-------------|
| Profile | `profile` | profile details |
| Contact | `contact` | emails / phones / links from bios |
| Post / Reel | `post` | posts, reels, hashtag, location, tagged, post detail |
| Comment | `comment` | comments |
| User | `user` | followers, following, likers |
| Story | `story` | stories, highlights |
| Search result | `search-result` | search |

The price you see is **all-in** — there are no extra add-on fees on top of the per-result price. Use *Max results per input* to keep your budget predictable.

***

### 📦 Export & integrate

- **Formats:** JSON, JSONL, CSV, Excel (XLSX), HTML, RSS.
- **API:** pull results programmatically from the Apify dataset API.
- **No-code automation:** Make, Zapier, n8n, Google Sheets, Slack, Airbyte and webhooks.
- **Views:** the Output tab ships ready-made tabs — *Overview*, *Posts & Reels*, *Profiles*, *Users*, *Comments*.

***

### ❓ FAQ

**Do I need to log in to Instagram?**
Only for the 🔑 modes (comments, likes, followers, following, tagged, stories, highlights, hashtag, location, search). Profiles, posts, reels and post detail work without any cookie.

**Where do I get the login cookie?**
Log in to instagram.com, export your cookies with a browser extension (Cookie-Editor / EditThisCookie), and paste the `sessionid` value, the cookie string, or the JSON export into the **Instagram login cookie** field. See [Login cookie](#-login-cookie--required-for-🔑-modes).

**Does pagination really work?**
Yes — posts, reels, comments, followers, following, tagged posts, hashtag and location feeds all page through their cursors until your *Max results per input* is reached or the source is exhausted.

**Can I scrape several accounts/hashtags at once?**
Yes. Add multiple lines in *Instagram URLs or usernames*; *Max results per input* applies to each one.

**Can I get private accounts?**
Only accounts your logged-in cookie is allowed to view.

**Which formats can I export?**
JSON, CSV, Excel, HTML, RSS, and the API.

**Is scraping Instagram legal?**
Scraping publicly available data is generally permitted, but you are responsible for how you use the data. Respect Instagram's Terms, applicable laws (incl. GDPR/CCPA) and people's privacy. Do not collect personal data without a lawful basis.

***

### ⚠️ Disclaimer

This tool extracts data that is available to the account/session you use. You are solely responsible for complying with Instagram's Terms of Service, copyright and data-protection laws. Use a secondary account for the 🔑 modes.

***

#### 🔎 Keywords & tags

`instagram scraper` · `instagram data scraper` · `instagram api` · `scrape instagram` · `instagram profile scraper` · `instagram post scraper` · `instagram reel scraper` · `instagram comment scraper` · `instagram followers scraper` · `instagram following scraper` · `instagram likes scraper` · `instagram hashtag scraper` · `instagram location scraper` · `instagram tagged scraper` · `instagram stories scraper` · `instagram highlights scraper` · `instagram search` · `instagram email extractor` · `social media scraper` · `instagram crawler` · `instagram data export` · `instagram bulk scraper` · `instagram analytics` · `instagram influencer data` · `export instagram to csv` · `export instagram to excel` · `no-code instagram scraper` · `instagram scraping api` · `all-in-one instagram scraper`

# Actor input Schema

## `scrapeType` (type: `string`):

Choose a mode. Modes marked 🔑 need an Instagram login cookie (see the Login section below). Everything else works without login.

## `directUrls` (type: `array`):

One per line. Accepts what the chosen mode expects:
• Profile modes (details, posts, reels, followers, following, tagged, stories, highlights) → `https://www.instagram.com/nasa/`, `@nasa` or just `nasa`
• Post modes (post detail, comments, likes) → `https://www.instagram.com/p/SHORTCODE/` or `/reel/SHORTCODE/`
• Hashtag mode → `https://www.instagram.com/explore/tags/nature/` or `#nature` or `nature`
• Location mode → `https://www.instagram.com/explore/locations/212988663/` or the numeric id
Leave empty when using Search mode.

## `search` (type: `string`):

Used only in 🔎 Search mode. Free text, e.g. `nasa`, `coffee`, `new york`.

## `searchType` (type: `string`):

Limit search results to one entity type, or return all.

## `resultsLimit` (type: `integer`):

Upper bound of records collected for each URL/username/hashtag/location. Pagination stops automatically when the source is exhausted.

## `sessionCookie` (type: `string`):

REQUIRED for: 💬 comments, ❤️ likes, 👥 followers, ➡️ following, 🏷️ tagged, 📸 stories, 🌟 highlights, #️⃣ hashtag, 📍 location and 🔎 search. Profile, contacts, posts, reels and post-detail modes do NOT need it.

How to get your cookies:

1. Install the EditThisCookie v3 Chrome extension.
2. Log into instagram.com in your browser.
3. Click the EditThisCookie icon and export the cookies (the 5th button at the top of the cookie editor). This copies them as JSON.
4. Paste the exported JSON into this field.

The field also accepts just your `sessionid` value or a full `name=value; name=value` cookie string. Stored encrypted.

Cookie expiry: Instagram cookies usually last a few days to a few weeks. If a previously working run reports invalid authentication, re-export fresh cookies and paste them again.

## `proxyConfiguration` (type: `object`):

Residential proxies are strongly recommended. To use your own proxy (e.g. for local testing) switch to the Custom proxies tab and paste your proxy URL.

## `maxRetries` (type: `integer`):

How many times to rotate IP and retry a request before giving up on it.

## Actor input object example

```json
{
  "scrapeType": "posts",
  "directUrls": [
    "https://www.instagram.com/nasa/"
  ],
  "search": "nasa",
  "searchType": "all",
  "resultsLimit": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "maxRetries": 6
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `posts` (type: `string`):

No description

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

No description

## `users` (type: `string`):

No description

## `comments` (type: `string`):

No description

## `contacts` (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 = {
    "directUrls": [
        "https://www.instagram.com/nasa/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("pro100chok/instagram-scraper-all-in-one").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 = { "directUrls": ["https://www.instagram.com/nasa/"] }

# Run the Actor and wait for it to finish
run = client.actor("pro100chok/instagram-scraper-all-in-one").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 '{
  "directUrls": [
    "https://www.instagram.com/nasa/"
  ]
}' |
apify call pro100chok/instagram-scraper-all-in-one --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Scraper — Posts, Profiles, Followers & Hashtags",
        "description": "The all-in-one Instagram scraper: extract profiles, posts, reels, comments, likes, followers, following, tagged, stories, highlights, hashtags, locations, search and bio emails/contacts — from one Actor. Clean structured data with full pagination, exported to JSON, CSV or Excel. Pay only per result.",
        "version": "1.0",
        "x-build-id": "2WHLf0wA0pmhkroLb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pro100chok~instagram-scraper-all-in-one/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pro100chok-instagram-scraper-all-in-one",
                "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/pro100chok~instagram-scraper-all-in-one/runs": {
            "post": {
                "operationId": "runs-sync-pro100chok-instagram-scraper-all-in-one",
                "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/pro100chok~instagram-scraper-all-in-one/run-sync": {
            "post": {
                "operationId": "run-sync-pro100chok-instagram-scraper-all-in-one",
                "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": [
                    "scrapeType"
                ],
                "properties": {
                    "scrapeType": {
                        "title": "🎯 What do you want to scrape?",
                        "enum": [
                            "profile",
                            "contacts",
                            "posts",
                            "reels",
                            "post",
                            "comments",
                            "likes",
                            "followers",
                            "following",
                            "tagged",
                            "stories",
                            "highlights",
                            "hashtag",
                            "location",
                            "search"
                        ],
                        "type": "string",
                        "description": "Choose a mode. Modes marked 🔑 need an Instagram login cookie (see the Login section below). Everything else works without login.",
                        "default": "posts"
                    },
                    "directUrls": {
                        "title": "🔗 Instagram URLs or usernames",
                        "type": "array",
                        "description": "One per line. Accepts what the chosen mode expects:\n• Profile modes (details, posts, reels, followers, following, tagged, stories, highlights) → `https://www.instagram.com/nasa/`, `@nasa` or just `nasa`\n• Post modes (post detail, comments, likes) → `https://www.instagram.com/p/SHORTCODE/` or `/reel/SHORTCODE/`\n• Hashtag mode → `https://www.instagram.com/explore/tags/nature/` or `#nature` or `nature`\n• Location mode → `https://www.instagram.com/explore/locations/212988663/` or the numeric id\nLeave empty when using Search mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "search": {
                        "title": "🔎 Search query",
                        "type": "string",
                        "description": "Used only in 🔎 Search mode. Free text, e.g. `nasa`, `coffee`, `new york`."
                    },
                    "searchType": {
                        "title": "Search for",
                        "enum": [
                            "all",
                            "user",
                            "hashtag",
                            "place"
                        ],
                        "type": "string",
                        "description": "Limit search results to one entity type, or return all.",
                        "default": "all"
                    },
                    "resultsLimit": {
                        "title": "📊 Max results per input",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Upper bound of records collected for each URL/username/hashtag/location. Pagination stops automatically when the source is exhausted.",
                        "default": 100
                    },
                    "sessionCookie": {
                        "title": "🔑 Instagram login cookie",
                        "type": "string",
                        "description": "REQUIRED for: 💬 comments, ❤️ likes, 👥 followers, ➡️ following, 🏷️ tagged, 📸 stories, 🌟 highlights, #️⃣ hashtag, 📍 location and 🔎 search. Profile, contacts, posts, reels and post-detail modes do NOT need it.\n\nHow to get your cookies:\n1. Install the EditThisCookie v3 Chrome extension.\n2. Log into instagram.com in your browser.\n3. Click the EditThisCookie icon and export the cookies (the 5th button at the top of the cookie editor). This copies them as JSON.\n4. Paste the exported JSON into this field.\n\nThe field also accepts just your `sessionid` value or a full `name=value; name=value` cookie string. Stored encrypted.\n\nCookie expiry: Instagram cookies usually last a few days to a few weeks. If a previously working run reports invalid authentication, re-export fresh cookies and paste them again."
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy",
                        "type": "object",
                        "description": "Residential proxies are strongly recommended. To use your own proxy (e.g. for local testing) switch to the Custom proxies tab and paste your proxy URL.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    },
                    "maxRetries": {
                        "title": "Max retries per request",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many times to rotate IP and retry a request before giving up on it.",
                        "default": 6
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
