# Instagram Profile Scraper (`scrapepilotapi/instagram-profile-scraper`) Actor

📸 Instagram Profile Scraper (instagram-profile-scraper) extracts public profile data—bio, username, followers, posts, captions, hashtags, links & engagement. 🔎 Ideal for market research, competitor analysis, influencer discovery & lead gen. ⚡ Fast, accurate, export-ready.

- **URL**: https://apify.com/scrapepilotapi/instagram-profile-scraper.md
- **Developed by:** [ScrapePilot](https://apify.com/scrapepilotapi) (community)
- **Categories:** Automation, Lead generation, Social media
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

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

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

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

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

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

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

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


# README

### Instagram Profile Scraper

The Instagram Profile Scraper is a Playwright-powered IG profile scraper that extracts structured public profile data — usernames, bios, follower counts, profile images, external links, related profiles, IGTV info, and the latest posts with media and engagement. It solves the manual copy-paste problem for marketers, developers, data analysts, and researchers by exporting clean Instagram profile data at scale. With residential proxies always enabled, automatic retries, and real-time dataset saving, this Instagram profile data scraper accelerates market research, influencer discovery, and analytics workflows.

### What data / output can you get?

Below are real output fields produced by this Instagram user profile scraper. Field names match the dataset records exactly.

- inputUrl — Normalized input profile URL used for fetching. Example: https://www.instagram.com/humansofny
- url — Canonical Instagram profile URL. Example: https://www.instagram.com/humansofny
- id — Instagram user ID. Example: 242598499
- username — Profile username. Example: humansofny
- fullName — Display name. Example: Humans of New York
- biography — Bio text. Example: New York City, one story at a time.
- externalUrl — Main link in bio. Example: https://bit.ly/dearnewyorkbook
- externalUrlShimmed — Instagram shimmed URL. Example: https://l.instagram.com/...
- externalUrls — Array of bio links returned by Instagram. Example: []
- followersCount — Followers total. Example: 12802590
- followsCount — Following total. Example: 673
- postsCount — Total posts count. Example: 5839
- igtvVideoCount — IGTV videos count. Example: 0
- verified — Verification flag (boolean). Example: true
- isBusinessAccount — Business account flag (boolean). Example: false
- private — Privacy flag (boolean). Example: false
- profilePicUrl — Profile picture URL. Example: https://instagram.cdn/.../s150x150/...
- profilePicUrlHD — High-definition profile picture URL. Example: https://instagram.cdn/.../s320x320/...
- hasChannel — Has channel flag (boolean). Example: false
- highlightReelCount — Number of highlight reels. Example: 12
- joinedRecently — Recently joined flag (boolean). Example: false
- businessCategoryName — Business category name (if any). Example: Local & travel website
- latestPosts — Array of recent posts with:
  - id, type (Image/Video/Sidecar), shortCode, caption, hashtags, mentions
  - url, commentsCount, likesCount, timestamp
  - dimensionsHeight, dimensionsWidth, displayUrl, alt
  - ownerUsername, ownerId, images, childPosts, taggedUsers
- latestIgtvVideos — Array of IGTV video objects with:
  - id, shortCode, displayUrl, dimensions, timestamp
- relatedProfiles — Array of related account objects with:
  - id, full_name, is_verified, profile_pic_url, username, is_private
- about — Present only when includeAboutSection is true:
  - joinedDate (ISO), country

Note: Results are stored in an Apify dataset and can be exported to JSON, CSV, or Excel from the Apify platform. This Instagram profile info extractor supports clean Instagram profile data export for analytics and reporting.

### Key features

- 🌐 Always-on residential proxy
  Ensures high success rates for this Instagram public profile scraper. The actor always uses residential proxy with 3 automatic retries, regardless of proxy input settings.

- 🧭 Playwright-based interception
  Uses a headless browser to intercept Instagram’s web_profile_info response for accurate, structured profile metadata and post snapshots.

- 💾 Real-time dataset saving
  Each scraped profile is pushed to the dataset immediately, enabling incremental results and reliable long-running jobs.

- 🖼️ Rich post metadata
  Extracts recent posts with captions, hashtags, mentions, media URLs, dimensions, engagement counts, tagged users, and sidecar child posts. Ideal for an Instagram profile metadata scraper.

- 🎬 IGTV and related profiles
  Captures IGTV video info (if present) and similar/related accounts for discovery workflows using this Instagram account scraper.

- 🧩 Optional “About” enrichment
  When enabled, adds joinedDate and country from the API response in a dedicated about object.

- 🧑‍💻 Developer-friendly outputs
  Clean JSON structure designed for pipelines and the Instagram profile scraper API use via Apify. Integrate with data tools and automation platforms easily.

- 🔁 Robust retries and timeouts
  Built-in retry with delays for stability at scale. Perfect for teams that scrape Instagram user profiles in batches.

### How to use Instagram Profile Scraper - step by step

1. Sign in to Apify
   Create or log in to your Apify account.

2. Open the actor
   Find “instagram-profile-scraper” in your Apify Console Actors list.

3. Add target profiles
   In the startUrls field, paste one per line. Accepted formats:
   - Full URL: https://www.instagram.com/username/
   - Username only: username
   - Short URL: instagram.com/username
   - Handles are supported (e.g., @natgeo)

4. Configure options
   - includeAboutSection: Set to true if you also want joinedDate and country in about.
   - proxyConfiguration: You can edit this, but the actor will still use residential proxy automatically.

5. Start the run
   Click Start. The actor launches Playwright, fetches each profile, and saves results to the dataset as it goes.

6. Monitor progress
   Watch logs for status messages, retries, and completion summaries.

7. Export your data
   Go to the Dataset tab to download results as JSON, CSV, or Excel — ready for analytics, enrichment, or reporting.

Pro Tip: Mix usernames and URLs freely in startUrls to accelerate batch runs with this Instagram username scraper for research and lead gen.

### Use cases

- Marketing competitor analysis
  Compare profiles, verification, and content patterns with a reliable Instagram user data extractor.

- Influencer discovery and vetting
  Build shortlists using followersCount, isBusinessAccount, and recent content signals from this Instagram followers scraper workflow.

- Content strategy and benchmarking
  Analyze captions, hashtags, and media types from recent posts with an Instagram profile scraping tool.

- Brand and market research
  Enrich datasets with businessCategoryName, external links, and relatedProfiles for discovery.

- Academic and social research
  Collect consistent public profile metadata at scale using an Instagram profile data export pipeline.

- Data platform ingestion
  Feed standardized JSON into BI tools, warehouses, or workflows powered by an Instagram profile scraper API.

### Why choose Instagram Profile Scraper?

- 🎯 Precision and structure: Extracts clean, labeled fields ready for dashboards and enrichment.
- 🌐 Built for reliability: Residential proxy is always enabled with automatic retries for consistent results.
- 🧩 Comprehensive scope: Profiles, latest posts, IGTV info, and related profiles in one Instagram profile info extractor.
- 💾 Real-time saves: Incremental dataset writes reduce risk in long runs and large batches.
- 🧑‍💻 Developer-ready: JSON outputs designed for pipelines, scripts, and automation.
- 🔒 Safe alternative: More stable and predictable than browser extensions or ad-hoc scripts.
- 💸 Scales with you: A dependable Instagram profile data scraper you can run repeatedly for monitoring and trend analysis.

In short, this Instagram public profile scraper prioritizes accurate structure and operational reliability over unstable alternatives.

### Is it legal / ethical to use Instagram Profile Scraper?

Yes — when done responsibly. This tool extracts data from publicly available Instagram profiles and does not access private accounts or authenticated areas.

Guidelines:
- Only collect public information and respect Instagram’s Terms of Use.
- Ensure compliance with applicable laws (e.g., GDPR, CCPA) for your jurisdiction and use case.
- Do not use the data for spam, harassment, or any illegal activity.
- Consult your legal team for edge cases or regulated workflows.

### Input parameters & output format

#### Example input
```json
{
  "startUrls": [
    "https://www.instagram.com/humansofny/",
    "mileycyrus",
    "@natgeo"
  ],
  "includeAboutSection": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

#### Parameters

- startUrls (array, required)
  - Description: Add Instagram profiles to scrape. Accepts full URLs (https://www.instagram.com/username/), username only (username), or short URLs (instagram.com/username). Examples: humansofny, https://www.instagram.com/mileycyrus/, @natgeo
  - Default: None (must be provided)

- includeAboutSection (boolean, optional)
  - Description: Enable to extract additional profile information. When enabled, you’ll also get:
    - Date Joined — when the account was created (joinedDate in about)
    - Country — account’s country location (country in about)
  - Default: false

- proxyConfiguration (object, optional)
  - Description: Proxy settings editor. Important: This actor always uses residential proxy with 3 automatic retries for maximum reliability and success rate. You can configure proxy settings here, but the actor will use residential proxy regardless of your selection.
  - Default: None

#### Example output

```json
[
  {
    "inputUrl": "https://www.instagram.com/humansofny",
    "url": "https://www.instagram.com/humansofny",
    "id": "242598499",
    "username": "humansofny",
    "fullName": "Humans of New York",
    "biography": "New York City, one story at a time.",
    "externalUrls": [],
    "externalUrl": "https://bit.ly/dearnewyorkbook",
    "externalUrlShimmed": "https://l.instagram.com/...",
    "followersCount": 12802590,
    "followsCount": 673,
    "hasChannel": false,
    "highlightReelCount": 12,
    "isBusinessAccount": false,
    "joinedRecently": false,
    "businessCategoryName": "Local & travel website",
    "private": false,
    "verified": true,
    "profilePicUrl": "https://instagram.cdn/.../s150x150/...",
    "profilePicUrlHD": "https://instagram.cdn/.../s320x320/...",
    "igtvVideoCount": 0,
    "postsCount": 5839,
    "relatedProfiles": [
      {
        "id": "1234567890",
        "full_name": "HONY Stories",
        "is_verified": false,
        "profile_pic_url": "https://instagram.cdn/.../s150x150/...",
        "username": "honystories",
        "is_private": false
      }
    ],
    "latestIgtvVideos": [],
    "latestPosts": [
      {
        "id": "3742534382104984578",
        "type": "Sidecar",
        "shortCode": "DPwJzEVDbwC",
        "caption": "A few years ago I received a DM...",
        "hashtags": [],
        "mentions": ["zohrankmamdani"],
        "url": "https://www.instagram.com/p/DPwJzEVDbwC/",
        "commentsCount": 3841,
        "dimensionsHeight": 1080,
        "dimensionsWidth": 1080,
        "displayUrl": "https://instagram.cdn/.../n.jpg",
        "alt": "Photo description",
        "likesCount": 254147,
        "timestamp": "2025-10-13T20:14:46.000Z",
        "ownerUsername": "humansofny",
        "ownerId": "242598499",
        "images": [
          "https://instagram.cdn/.../first.jpg",
          "https://instagram.cdn/.../second.jpg"
        ],
        "childPosts": [
          {
            "id": "3742534382104984579",
            "type": "Image",
            "shortCode": "DPwJzEVDbwC",
            "caption": "",
            "hashtags": [],
            "mentions": [],
            "url": "https://www.instagram.com/p/DPwJzEVDbwC/",
            "commentsCount": 0,
            "dimensionsHeight": 1080,
            "dimensionsWidth": 1080,
            "displayUrl": "https://instagram.cdn/.../child.jpg",
            "alt": null,
            "likesCount": 0,
            "timestamp": "2025-10-13T20:14:46.000Z",
            "ownerUsername": "humansofny",
            "ownerId": "242598499",
            "firstComment": "",
            "latestComments": [],
            "images": [],
            "childPosts": [],
            "taggedUsers": []
          }
        ],
        "taggedUsers": []
      }
    ],
    "about": {
      "joinedDate": "2011-05-01T00:00:00.000Z",
      "country": "United States"
    }
  }
]
```

Notes:

- about appears only when includeAboutSection is true.
- externalUrls is returned as-is from Instagram’s bio\_links structure and may be an empty array or a list of objects.

### FAQ

#### Do I need to log in to scrape Instagram profiles?

No. This Instagram user profile scraper works headlessly with Playwright and does not require login or cookies. It targets public profile data only.

#### Does it always use a proxy?

Yes. The actor always uses a residential proxy with 3 automatic retries for maximum reliability, regardless of the proxyConfiguration input.

#### Can it scrape private accounts?

No. It collects data from public Instagram profiles. Private accounts and gated content are not accessed.

#### How many posts does it extract per profile?

It extracts the latest posts exposed in the web\_profile\_info response on the profile page, including media URLs, captions, hashtags, mentions, and engagement counts.

#### What IGTV and related profile data can I get?

You’ll receive latestIgtvVideos with id, shortCode, displayUrl, dimensions, timestamp (if present), and relatedProfiles with id, full\_name, is\_verified, profile\_pic\_url, username, and is\_private.

#### What formats can I export the data to?

Data is saved to an Apify dataset during the run. From the Apify platform you can export to JSON, CSV, or Excel, making it a practical Instagram profile data export solution.

#### What happens if a request times out?

The scraper retries automatically (up to 3 attempts) with delays between attempts. Errors are logged, and processing continues for the remaining profiles.

#### Can I mix usernames and URLs as input?

Yes. The startUrls parameter accepts full profile URLs, username-only entries, and short URLs. Handles like @username are supported too.

### Closing CTA / Final thoughts

Built for structured, scalable Instagram profile data extraction, this Instagram Profile Scraper delivers reliable, export-ready records for marketing, research, and analytics teams. With residential proxies, Playwright-based fetching, and real-time dataset saving, it’s a robust Instagram profile scraping tool for developers, analysts, and marketers alike. Start using this Instagram profile metadata scraper to automate discovery, benchmark content, and power your analytics pipelines.

# Actor input Schema

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

📝 **Add Instagram profiles to scrape:**

**Format Options:**
• 🌐 Full URL: `https://www.instagram.com/username/`
• 👤 Username only: `username`
• 🔗 Short URL: `instagram.com/username`

**Examples:**
• `humansofny`
• `https://www.instagram.com/mileycyrus/`
• `@natgeo`

✨ **What you'll get:**
• 📊 Profile stats (followers, following, posts count)
• 📝 Biography & external links
• 🖼️ Latest posts with full details
• 👥 Related accounts
• 🎬 IGTV videos
• ✅ Verification status & business info

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

🔍 **Enable to extract additional profile information:**

**When enabled, you'll also get:**
• 📅 **Date Joined** - When the account was created
• 🌍 **Country** - Account's country location

💡 **Note:** This data comes directly from Instagram's API response. No additional parsing required!

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

⚙️ **Proxy Configuration**

🔒 **Important:** This actor **always uses residential proxy** with 3 automatic retries for maximum reliability and success rate.

💡 **Note:** You can configure proxy settings here, but the actor will use residential proxy regardless of your selection.

✨ **Why residential proxy?**
• 🛡️ Better success rate
• 🔄 Automatic retry on failures
• 🌐 Real residential IP addresses
• ✅ Less likely to be blocked by Instagram

## Actor input object example

```json
{
  "startUrls": [
    "https://www.instagram.com/humansofny/"
  ],
  "includeAboutSection": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "startUrls": [
        "https://www.instagram.com/humansofny/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "startUrls": ["https://www.instagram.com/humansofny/"],
    "proxyConfiguration": { "useApifyProxy": False },
}

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

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.instagram.com/humansofny/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapepilotapi/instagram-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Profile Scraper",
        "description": "📸 Instagram Profile Scraper (instagram-profile-scraper) extracts public profile data—bio, username, followers, posts, captions, hashtags, links & engagement. 🔎 Ideal for market research, competitor analysis, influencer discovery & lead gen. ⚡ Fast, accurate, export-ready.",
        "version": "0.1",
        "x-build-id": "G1ryhtxDzklAWCOUB"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilotapi~instagram-profile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilotapi-instagram-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapepilotapi~instagram-profile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilotapi-instagram-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapepilotapi~instagram-profile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilotapi-instagram-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "🎯 Target Profiles",
                        "type": "array",
                        "description": "📝 **Add Instagram profiles to scrape:**\n\n**Format Options:**\n• 🌐 Full URL: `https://www.instagram.com/username/`\n• 👤 Username only: `username`\n• 🔗 Short URL: `instagram.com/username`\n\n**Examples:**\n• `humansofny`\n• `https://www.instagram.com/mileycyrus/`\n• `@natgeo`\n\n✨ **What you'll get:**\n• 📊 Profile stats (followers, following, posts count)\n• 📝 Biography & external links\n• 🖼️ Latest posts with full details\n• 👥 Related accounts\n• 🎬 IGTV videos\n• ✅ Verification status & business info",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeAboutSection": {
                        "title": "📋 About Section (Optional)",
                        "type": "boolean",
                        "description": "🔍 **Enable to extract additional profile information:**\n\n**When enabled, you'll also get:**\n• 📅 **Date Joined** - When the account was created\n• 🌍 **Country** - Account's country location\n\n💡 **Note:** This data comes directly from Instagram's API response. No additional parsing required!",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy Settings",
                        "type": "object",
                        "description": "⚙️ **Proxy Configuration**\n\n🔒 **Important:** This actor **always uses residential proxy** with 3 automatic retries for maximum reliability and success rate.\n\n💡 **Note:** You can configure proxy settings here, but the actor will use residential proxy regardless of your selection.\n\n✨ **Why residential proxy?**\n• 🛡️ Better success rate\n• 🔄 Automatic retry on failures\n• 🌐 Real residential IP addresses\n• ✅ Less likely to be blocked by Instagram"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
