# 📸 Instagram All-in-One Scraper \[From 💰$0.85/1K] (`misterkhan/instagram-all-in-one-scraper`) Actor

All-in-One Instagram Scraper & Status Checker for Profiles (ACTIVE vs REMOVED status, followers, bio links), Reels (play counts & MP4 URLs), Posts, Keywords, Website Contacts & Tech Stack.

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

## Pricing

from $0.85 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Instagram All-in-One Scraper do?

Instagram All-in-One Scraper is a 100% cookieless Instagram intelligence and lead enrichment tool that extracts **public Instagram profiles, bulk account health status (`ACTIVE` vs. `INACTIVE_OR_REMOVED`), Reels, timeline posts, carousels, direct MP4 video links, and trending keyword hubs**—plus optional B2B bio-link website contacts, e-commerce tech stack detection, and LLM-ready Markdown.

Whether you are building an influencer discovery platform, verifying whether thousands of Instagram handles are still active, tracking Reel play counts and engagement rates, or enriching DTC brands with bio-link emails and Shopify/Klaviyo tech stacks, this scraper runs without requiring an Instagram login, sessionid cookie, or burner account.

> 🛡️ **Zero Proxy Configuration Required:** Anti-blocking and regional routing are **handled automatically out of the box** — just paste your target URLs and click **Start**.

### What data can you extract with Instagram All-in-One Scraper?

**👤 Full Creator & Brand Profiles (profiles mode)** — `id`, `pk`, `username`, `fullName`, `profilePicUrl`, `followersCount`, `followsCount`, `postsCount`, `bioHashtags`, `bioMentions`, `isVerified`, `categoryName`, `biography`, `followerCount`, `followingCount`, `mediaCount`, `threadsUsername`, unwrapped `bioLinks`, `bioEmails`, `avgReelPlays`, `engagementRatePct`, plus up to 12 latest posts and 12 latest Reels <br>
**🩺 Bulk Account Health & Status (`status` mode)** — fast verification returning `ACTIVE`, `INACTIVE_OR_REMOVED`, `PAGE_NOT_FOUND`, or `AGE_OR_REGION_RESTRICTED` alongside `isAlive` and follower counts <br>
**🎬 Reels, Posts & Carousels (reels & posts modes)** — `shortcode`, `ownerUsername`, `mediaType`, `caption`, `playCount`, `likeCount`, `commentCount`, `displayUrl`, `mediaExpiresAtIso`, captions, hashtags, timestamps, high-res image arrays, and direct CDN MP4 `videoUrl` links <br>
**🔥 Viral Keyword & Niche Discovery (keywords mode)** — trending public posts, Reels, and creators surfaced across Instagram topic hubs <br>
**📧 Bio-Link Website Contacts (`scrapeContacts` add-on)** — verified business `emails`, `phones`, and cross-platform `socialLinks` (socials) (TikTok, YouTube, LinkedIn, X) crawled from external link-in-bio or brand domains <br>
**🧩 Brand Tech Stack & AI Markdown (`scrapeTechStack` & `scrapeRagMarkdown` add-ons)** — 7,000+ detected technologies (Shopify, Klaviyo, Meta Pixel, TikTok Pixel, GA4) and clean homepage `websiteMarkdown` for AI outreach personalization <br>

### Why scrape Instagram profiles, Reels, and bio-link websites?

**💪 Discover and vet creators with real Reel metrics** — calculate true engagement rates (`engagementRatePct`) and average Reel plays (`avgReelPlays`) instead of relying on vanity follower counts alone <br>
**🕵️ Enrich DTC brands and creators in one pass** — go directly from an Instagram @username to their external brand domain, verified email address, phone number, and Shopify/Klaviyo tech stack <br>
**✨ Audit account availability at scale** — verify thousands of Instagram handles in bulk to detect suspended, renamed, or deleted accounts (`INACTIVE_OR_REMOVED`) <br>
**👍 Zero account ban risk** — 100% accountless extraction means you never have to rotate Instagram sessionid cookies or risk locking your agency's social accounts <br>
**📩 Generate hyper-personalized AI outreach** — feed clean bio-link homepage Markdown (`websiteMarkdown`) and recent post captions directly into GPT, Claude, or Clay sequences <br>

### How do I use Instagram All-in-One Scraper?

Instagram All-in-One Scraper is designed for fast, code-free operation in Apify Console:

1. Click **Try for free** on the Actor page to open the configuration form in Apify Console.
2. Select your **Results Type (`resultsType`)**: profiles, `status`, reels, posts, or keywords.
3. Enter your target **Instagram Usernames, URLs, or Keywords** (`usernames` / `startUrls`), such as nike, gymshark, or direct /p/ and /reel/ URLs.
4. Optionally enable **Deep Media & Direct MP4 Video Enrichment** (`includeMediaDetails`), **Bio-Link Website Contacts** (`scrapeContacts`), **Tech Stack** (`scrapeTechStack`), or **AI / RAG Markdown** (`scrapeRagMarkdown`).
5. Set **Max Results** (`maxItems`), click **Start**, and export your dataset to JSON, CSV, Excel, or Google Sheets.

### Input

Instagram All-in-One Scraper supports five output modes and four optional enrichment toggles. Click on the [Input tab](https://apify.com/misterkhan/instagram-all-in-one-scraper/input-schema) for the full interactive form.

```json
{
  "usernames": [
    "nike",
    "gymshark"
  ],
  "resultsType": "profiles",
  "includeReelsOnProfile": true,
  "includeMediaDetails": false,
  "scrapeContacts": true,
  "scrapeTechStack": false,
  "scrapeRagMarkdown": false,
  "maxItems": 40
}
```

**📸 `usernames` & `startUrls`** — Instagram @usernames (nike, gymshark), profile URLs, direct /p/ or /reel/ URLs, or topic keywords <br>
**🧭 `resultsType`** — choose "profiles" (full profile + latest 12 posts & 12 Reels), "status" (fast bulk `ACTIVE` vs `REMOVED` check), "reels", "posts", or "keywords" <br>
**🎬 `includeReelsOnProfile`** — boolean (default: true); attaches the latest 12 Reels with play/like/comment counts and computes `avgReelPlays` and `engagementRatePct` on profile records at no extra charge <br>
**🎞️ `includeMediaDetails`** — optional paid add-on (default: false); visits individual /p/{shortcode}/ pages to unlock full carousel slides, direct MP4 URLs, dimensions, and preview comments <br>
**📧 `scrapeContacts`, `scrapeTechStack` & `scrapeRagMarkdown`** — optional paid add-ons (default: false) that crawl the external domain in the creator's `bioLinks` for emails/phones, 7,000+ tech fingerprints, or clean LLM Markdown <br>
**🔢 `maxItems`** — maximum number of dataset records to collect (default: 40; up to 5,000 on paid Apify plans) <br>

### Output sample

Results are streamed in real time to your default Apify Dataset. Each record includes profile metadata, account status, engagement analytics, and any requested website enrichment fields:

```json
[
  {
    "recordType": "profile",
    "id": "13460080",
    "userId": "13460080",
    "username": "nike",
    "fullName": "Nike",
    "url": "https://www.instagram.com/nike/",
    "isAlive": true,
    "status": "ACTIVE",
    "isPrivate": false,
    "isVerified": true,
    "categoryName": "Sportswear Store",
    "threadsUsername": "nike",
    "biography": "Just Do It.",
    "followerCount": 300500120,
    "followingCount": 148,
    "mediaCount": 1520,
    "externalUrl": "https://www.nike.com",
    "externalDomain": "nike.com",
    "bioLinks": [
      {
        "title": "Nike.com",
        "url": "https://www.nike.com",
        "linkType": "external"
      }
    ],
    "avgReelPlays": 4200000,
    "avgLikes": 485000,
    "avgComments": 3200,
    "engagementRatePct": 0.162,
    "latestPostsCount": 12,
    "latestReelsCount": 12,
    "emails": [
      "media.relations@nike.com"
    ],
    "phones": [
      "+1-800-806-6453"
    ],
    "socials": {
      "youtube": [
        "https://www.youtube.com/user/nike"
      ]
    },
    "mediaDetailsEnriched": false,
    "websiteContactsEnriched": true,
    "techStackScanned": false,
    "ragMarkdownExtracted": false,
    "scrapedAt": "2026-10-17T23:30:00.000Z"
  }
]
```

### How much does it cost to scrape Instagram data?

Instagram All-in-One Scraper uses **Pay-Per-Event (PPE)** pricing with a `$0.00` run start fee. Optional enrichment events (media-details, website-contacts, tech-stack, rag-markdown) are **off by default** and billed only when enabled and non-empty data is attached to a record:

**🆓 Free plan** — `$0.0015` per record ($1.50 / 1K) · Add-ons: +$0.80 / 1K Media Details · +$1.00 / 1K Contacts · +$2.00 / 1K Tech Stack · +$1.00 / 1K RAG Markdown <br>
**🥉 Starter (Bronze) plan** — `$0.00125` per record ($1.25 / 1K) · Add-ons: +$0.65 / 1K Media Details · +$0.85 / 1K Contacts · +$1.70 / 1K Tech Stack · +$0.85 / 1K RAG Markdown <br>
**🥈 Scale (Silver) plan** — `$0.001` per record ($1.00 / 1K) · Add-ons: +$0.55 / 1K Media Details · +$0.70 / 1K Contacts · +$1.45 / 1K Tech Stack · +$0.70 / 1K RAG Markdown <br>
**🥇 Business+ (Gold) plan** — `$0.00085` per record ($0.85 / 1K) · Add-ons: +$0.45 / 1K Media Details · +$0.60 / 1K Contacts · +$1.20 / 1K Tech Stack · +$0.60 / 1K RAG Markdown <br>

With the monthly free platform credit on the Apify Free plan, you can extract **up to 3,300 base Instagram records per month for free** (Free plan runs are capped at 40 records per run).

> 💡 **Predictable, All-Inclusive Pay-Per-Event Pricing:** There is a **`$0.00` run start fee** and **no separate proxy configuration required**. You only pay the flat per-result rate above for data successfully delivered to your dataset — works out of the box on both **Free** and **Paid** Apify plans.

### How many results can you scrape with Instagram All-in-One Scraper?

Instagram All-in-One Scraper supports **up to 5,000 records per run on paid Apify plans** (40 records per run on the Free plan). Keep the following scope details in mind:

- **Public profiles and media only** — because this Actor operates 100% cookielessly without logging into Instagram, private accounts (isPrivate: true) return public header metadata (`followerCount`, `followingCount`, `biography`, `isVerified`) without private timeline posts.
- **Included profile media window (12 Posts + 12 Reels)** — in profiles mode, each profile automatically includes up to the 12 most recent timeline posts and 12 most recent Reels (includeReelsOnProfile: true) at zero extra PPE cost.
- **Zero charge on empty bio-link add-ons** — if you enable `scrapeContacts`, `scrapeTechStack`, or `scrapeRagMarkdown` and a creator does not have an external bio link (or their domain yields no contacts), the add-on event is never billed.

### Want to scrape Facebook Ads, Google Maps leads, or standalone website tech stacks?

Pair your Instagram creator and DTC brand lists with our specialized B2B and ad intelligence Actors:

📢 **[Facebook Ads Library Scraper](https://apify.com/misterkhan/facebook-ads-library-scraper)** — inspect every active and inactive Meta Ad creative, video URL, CTA link, and EU reach breakdown for any DTC brand <br>
📍 **[Google Maps B2B Lead & Contact Scraper](https://apify.com/misterkhan/google-maps-scraper)** — extract local business phone numbers, ratings, websites, emails, and tech stacks across any city <br>
🛠️ **[Website Tech Stack, Contacts & AI Markdown Scanner](https://apify.com/misterkhan/website-tech-stack-scanner)** — standalone bulk domain scanner for 7,000+ technologies, verified contacts, and LLM-ready Markdown <br>

### Integrations and Instagram All-in-One Scraper

Instagram All-in-One Scraper connects directly with your CRM, influencer database, and outreach tools through [Apify integrations](https://apify.com/integrations):

- **Outreach & Automation** — pipe enriched creator profiles and bio-link emails directly into Clay, Make, Zapier, n8n, Instantly, or Smartlead.
- **Spreadsheets & Data Warehouses** — sync Instagram metrics automatically to Google Sheets, Airtable, HubSpot, BigQuery, or Snowflake.
- **Webhooks** — trigger downstream AI personalization or Slack notifications the instant a run completes.

### Using Instagram All-in-One Scraper with the Apify API

You can launch runs and stream dataset items programmatically using the official `apify-client` SDKs for **Node.js** and **Python**, or connect this Actor directly to AI agents via the **Apify MCP Server** (`https://mcp.apify.com`).

Check the [API tab](https://apify.com/misterkhan/instagram-all-in-one-scraper/api) for ready-to-copy Node.js, Python, and cURL code snippets.

### Frequently asked questions about Instagram All-in-One Scraper

**🛡️ Do I need to configure proxies to use this Actor? <br>**
**No — everything works out of the box with zero setup.** Regional routing, session management, and anti-blocking are handled automatically so you do not need to configure custom proxy settings.
**🔓 Do I need to provide an Instagram sessionid cookie or login? <br>**
No. This Actor runs 100% accountlessly with built-in proxy management. You never have to supply Instagram cookies, passwords, or burner accounts.

**🩺 What is the difference between profiles mode and `status` mode? <br>**
Use profiles mode when you want the complete creator profile (`biography`, `bioLinks`, `avgReelPlays`, `engagementRatePct`, and latest 12 posts/Reels). Use `status` mode when you want high-speed bulk handle verification (`ACTIVE`, `INACTIVE_OR_REMOVED`, `PAGE_NOT_FOUND`) across large username lists.

**💳 When are the optional add-on events (website-contacts, tech-stack, rag-markdown, media-details) billed? <br>**
An add-on event is billed only when you explicitly turn on its input toggle **and** the scraper successfully attaches non-empty enrichment data (websiteContactsEnriched: true, techStackScanned: true, ragMarkdownExtracted: true, or mediaDetailsEnriched: true) to that record.

### Is it legal to scrape public Instagram data?

Our scrapers are ethical and only extract publicly available profile metadata, public post/Reel statistics, and public business contact details displayed on the open web. They do not log in, bypass private account settings, or extract private messages. For more details on the legality of web scraping, read Apify's guide on [is web scraping legal](https://blog.apify.com/is-web-scraping-legal/).

### Your feedback

We keep this Actor under active maintenance. If a run finishes successfully but returns fewer results than you expected, hangs, or errors — please **open an Issue before posting a public review** so we can diagnose and fix it for you.

**🛠️ How to report** — Use the Actor’s [Issues tab](https://apify.com/misterkhan/instagram-all-in-one-scraper/issues/open) in Apify Console. Include the run ID, your input JSON, and what you expected vs. what you got. <br>
**⏱️ Response time** — We aim to reply within 24 hours on business days. <br>
**⭐ Reviews** — Happy with the results? A short positive review helps other users find a reliable scraper. Ran into a problem? Open an Issue first — we’ll work with you to resolve it before you leave a rating. <br>

# Actor input Schema

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

Enter Instagram @usernames (e.g. 'nike', 'gymshark'), Profile URLs ('https://www.instagram.com/nike/'), Reel/Post URLs ('https://www.instagram.com/p/...'), or Topic Keywords.

## `startUrls` (type: `array`):

Direct Instagram URLs (Profile URLs, /reels/ tabs, /p/ posts, /reel/ links, or /popular/ keyword URLs).

## `resultsType` (type: `string`):

Select the output format: 'profiles' (full profile + ACTIVE/REMOVED status + latest posts, reels & engagement rate), 'status' (fast bulk ACTIVE vs REMOVED account availability check), 'reels' (individual Reel rows with play counts), 'posts' (individual Post/Carousel rows), or 'keywords' (viral public media from topic hubs).

## `maxItems` (type: `integer`):

Maximum number of dataset items to collect across the run. Free plan runs are capped at 40 items per run; paid Apify plans support up to 5,000 items per run.

## `includeReelsOnProfile` (type: `boolean`):

When Results Type is 'profiles', automatically fetches /{username}/reels/ to attach the latest 12 Reels (with playCount, likeCount, commentCount) and compute avgReelPlays & engagementRatePct at no extra PPE charge.

## `includeMediaDetails` (type: `boolean`):

Fetches individual post/reel detail pages (/p/{shortcode}/) to unlock direct MP4 video download URLs, all carousel slide images, dimensions, location tags, and preview comments. Billed as a 'media-details' PPE add-on event only when media details are attached.

## `scrapeContacts` (type: `boolean`):

Unwraps external bio_links (including brand websites, Linktree, and Beacons) and crawls the external site for verified business emails, phone numbers, and cross-platform social links (TikTok, YouTube, X, LinkedIn). Billed once per unique enriched domain via the 'website-contacts' PPE event.

## `scrapeTechStack` (type: `boolean`):

Scans the external website in the profile's bio_links across 7,300+ technology fingerprints (Shopify, Klaviyo, Meta Pixel, TikTok Pixel, GA4, Stripe). Billed once per unique scanned domain via the 'tech-stack' PPE event.

## `scrapeRagMarkdown` (type: `boolean`):

Converts the creator or brand's external bio_link landing page into clean, LLM-ready Markdown for AI outreach personalization. Billed once per unique domain via the 'rag-markdown' PPE event.

## Actor input object example

```json
{
  "usernames": [
    "nike",
    "gymshark"
  ],
  "resultsType": "profiles",
  "maxItems": 40,
  "includeReelsOnProfile": true,
  "includeMediaDetails": false,
  "scrapeContacts": false,
  "scrapeTechStack": false,
  "scrapeRagMarkdown": false
}
```

# Actor output Schema

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

No description

## `dataset_items` (type: `string`):

No description

## `usage_summary` (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 = {
    "usernames": [
        "nike",
        "gymshark"
    ],
    "resultsType": "profiles",
    "maxItems": 40
};

// Run the Actor and wait for it to finish
const run = await client.actor("misterkhan/instagram-all-in-one-scraper").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "usernames": [
        "nike",
        "gymshark",
    ],
    "resultsType": "profiles",
    "maxItems": 40,
}

# Run the Actor and wait for it to finish
run = client.actor("misterkhan/instagram-all-in-one-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "usernames": [
    "nike",
    "gymshark"
  ],
  "resultsType": "profiles",
  "maxItems": 40
}' |
apify call misterkhan/instagram-all-in-one-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,misterkhan/instagram-all-in-one-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/zxbcgl1RRxfI62Zrx/builds/8ZXVMiuDCeiioU4KS/openapi.json
