# Instagram Post Scraper (`truefetch/instagram-post-scraper`) Actor

Scrape public Instagram profile posts, reels, and carousel media with captions, likes, comments, plays, timestamps, media URLs, and optional cloud media downloads for content analytics, influencer research, and AI workflows.

- **URL**: https://apify.com/truefetch/instagram-post-scraper.md
- **Developed by:** [TrueFetch](https://apify.com/truefetch) (community)
- **Categories:** Social media, Videos, News
- **Stats:** 29 total users, 8 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $2.20 / 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/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

> **Affiliate disclosure:** Apify links on this page may include referral parameters. If you sign up through one of these links, TrueFetch may earn a commission from Apify at no extra cost to you. Pricing, features, and Actor access are unaffected.

[![Instagram Post Scraper](https://img.shields.io/badge/Instagram%20Post-E1306C?style=for-the-badge&logo=instagram&logoColor=white)](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi)
[![Profile Posts Scraper](https://img.shields.io/badge/Profile%20Posts%20Scraper-1F8A70?style=for-the-badge)](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi)
[![Pay per Result](https://img.shields.io/badge/Tiered%20from%20$6.75%20per%201%2C000%20posts-2E8B57?style=for-the-badge)](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi)
[![No Login Required](https://img.shields.io/badge/No%20Login%20%7C%20No%20Cookies-555555?style=for-the-badge)](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi)
[![Telegram Support](https://img.shields.io/badge/Telegram-Support-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/AiAgentApi)
[![Telegram Group](https://img.shields.io/badge/Telegram-Group-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/TrueFetch)

## Instagram Post Scraper — Profile Posts, Reels & Media Scraper API

**Scrape any public Instagram profile to extract all posts and reels — including captions, media links, like counts, comment counts, play counts, and media details — in a single Apify Actor run.** Returns clean JSON / CSV / Excel for content analysis, influencer research, and AI agent workflows, with optional media download, and no Instagram login or cookies required.

> **TL;DR (40-word answer):** Instagram Post Scraper is a no-login Apify Actor that returns 60+ structured fields per post from any public Instagram profile with tiered pricing from **$6.75 per 1,000 posts**, including captions, media URLs, likes, comments, and plays. Last verified 2026-07-05.

> **What it is NOT:** Instagram Post Scraper is _not_ a follower or following scraper, _not_ an Instagram DM automation tool, and _not_ a comment scraper — it only reads publicly visible posts and reels from a given Instagram profile.

> **Instagram Post Scraper is an Apify Actor that scrapes posts from any public Instagram profile and returns 60+ structured fields per post — post_id, shortcode, post_url, post_type, owner fields, caption, hashtags, mentions, timestamps, engagement counts, media counts, location fields, comments, audio metadata, and media_items.** Supports optional media download, configurable result limits, and clean media extraction. Maintained by TrueFetch on the Apify Store.

---

### 📸 Why choose Instagram Post Scraper

**Instagram Post Scraper is best for** content researchers, influencer agencies, and developers who need structured post data from any public Instagram account without managing authentication or building scrapers.

- **📊 60+ fields per post** — processor, processed_at, post_id, shortcode, post_url, post_type, owner_username, caption, hashtags, mentions, published_at, like_count, comment_count, play_count, view_count, media_count, location_name, audio_title, top_comments, and media_items.
- **📥 Optional media download** — download all available media to your Apify storage with tiered media pricing from **$0.00855 per file**.
- **⚡ Pay-per-result pricing** — FREE tier is **$7.50 per 1,000 posts** (`$0.00750` per result), with paid tiers discounted down to **$6.75 per 1,000 posts**.

---

### 🚀 Quick Start — run in 3 steps

#### Run in Apify Console

1. **Open the Actor** — go to [Instagram Post Scraper on Apify](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi) and click **Try for free**.
2. **Configure inputs** — enter a bare `username` and `max_results`; optionally enable `download`.
3. **Click Start** — the Actor streams results into the default dataset; download as JSON, CSV, or Excel.

#### Run via Apify API

```bash
curl -X POST "https://api.apify.com/v2/acts/truefetch~instagram-post-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "natgeo",
    "max_results": 50,
    "download": false
  }'
````

#### Run via MCP (for AI agents)

Instagram Post Scraper is callable from Claude, ChatGPT, Cursor, and any MCP-compatible client through the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi). Reference the Actor as `truefetch/instagram-post-scraper` and pass the same JSON input as above.

***

### ⚙️ Input parameters

| Parameter         | Type    | Required | Default | Description                                                                                            | Example  |
| ----------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------ | -------- |
| `username`        | string  |    ✅    | —       | Bare Instagram username to scrape posts from. Do not include `@` or a profile URL.                     | `natgeo` |
| `max_results`     | integer |    ✅    | —       | Maximum number of posts to return. Range: `1` to `1,000,000`.                                          | `50`     |
| `download`        | boolean |    ❌    | `false` | Enable to save all available post media files to Apify storage and rewrite `cover_url` plus `media_items[].media_url`. | `true`   |

```json
{
  "username": "natgeo",
  "max_results": 50,
  "download": false
}
```

***

### 📦 Output dataset

Each run writes structured post objects to the **default Apify dataset**, exportable as JSON, JSONL, CSV, Excel, XML, RSS, or via the dataset API.

| Field | Type | Description | Example |
| ----- | ---- | ----------- | ------- |
| `processor` | string | null | Apify actor URL that processed this job record | `https://apify.com/username/actor_name` |
| `processed_at` | string | null | UTC timestamp when this record was processed | `2025-01-15T10:30:00.000Z` |
| `post_id` | string | null | Instagram media identifier for this post. | `3930000000000000000_25025320` |
| `shortcode` | string | null | Short Instagram code used in the public post URL. | `DaTSSukB-Lb` |
| `post_url` | string | null | Public Instagram URL for this post, reel, IGTV, or carousel. | `https://www.instagram.com/reel/DaTSSukB-Lb/` |
| `post_type` | string | null | Normalized post type: feed\_image, feed\_video, reel, igtv, carousel\_image, carousel\_video, or carousel\_mixed. | `reel` |
| `instagram_product_type` | string | null | Original Instagram product type, such as feed, clips, igtv, or carousel\_container. | `clips` |
| `instagram_media_type` | integer | null | Original Instagram media type number. | `2` |
| `owner_id` | string | null | Instagram account ID of the post owner. | `25025320` |
| `owner_username` | string | null | Instagram username that published this post. | `instagram` |
| `owner_full_name` | string | null | Display name of the post owner. | `Instagram` |
| `owner_is_verified` | boolean | null | Whether the post owner is verified. | `true` |
| `owner_is_private` | boolean | null | Whether the post owner account is private. | `false` |
| `owner_profile_pic_url` | string | null | Profile picture URL for the post owner. | `https://example.com/profile.jpg` |
| `caption` | string | null | Caption text shown on the Instagram post. | `time to create` |
| `caption_created_at` | integer | null | Unix timestamp when the caption was created, when available. | `1782504015` |
| `caption_is_edited` | boolean | null | Whether Instagram reports the caption as edited. | `false` |
| `accessibility_caption` | string | null | Instagram accessibility caption or generated alt text. | `Photo by Instagram on June 26, 2026.` |
| `hashtags` | array | null | Unique hashtags extracted from the caption without the # prefix. | `["reels", "launch"]` |
| `mentions` | array | null | Unique mentioned usernames extracted from the caption without the @ prefix. | `["instagram", "creators"]` |
| `published_at` | string | null | ISO 8601 timestamp when the post was published. | `2026-06-26T20:00:15+00:00` |
| `published_timestamp` | integer | null | Unix timestamp when the post was published. | `1782504015` |
| `like_count` | integer | null | Number of likes shown for this post. | `333091` |
| `comment_count` | integer | null | Number of comments shown for this post. | `18435` |
| `play_count` | integer | null | Instagram play count for reels and videos when available. | `61839889` |
| `view_count` | integer | null | View count reported by Instagram or yt-dlp when available. | `1204050` |
| `like_and_view_counts_disabled` | boolean | null | Whether Instagram reports like and view counts as hidden. | `false` |
| `cover_url` | string | null | Best display image URL for table previews. | `https://example.com/cover.jpg` |
| `media_count` | integer | null | Number of media items in this post. | `3` |
| `image_count` | integer | null | Number of image items in this post. | `1` |
| `video_count` | integer | null | Number of video items in this post. | `2` |
| `is_carousel` | boolean | null | Whether this post contains multiple media items. | `true` |
| `has_video` | boolean | null | Whether this post contains at least one video item. | `true` |
| `has_audio` | boolean | null | Whether this post contains audio on any media item. | `true` |
| `location_id` | string | null | Instagram or Facebook Places location identifier when available. | `1783641135097024` |
| `location_name` | string | null | Location name attached to the post when available. | `New York` |
| `location_lat` | number | null | Latitude of the tagged location when available. | `40.779442` |
| `location_lng` | number | null | Longitude of the tagged location when available. | `-73.963359` |
| `location_address` | string | null | Address text attached to the tagged location when available. | `Low Earth Orbit` |
| `location_city` | string | null | City attached to the tagged location when available. | `New York` |
| `tagged_users` | array | null | Users tagged in the post, with account and tag-position metadata. | `[{"id": "2107151539", "username": "chriswoodlight", "full_name": "Chris Wood Light Studio", "is_verified": false, "is_private": false, "profile_pic_url": "https://example.com/profile.jpg", "position_x": 0.5, "position_y": 0.6}]` |
| `coauthors` | array | null | Collaborating accounts reported by Instagram. | `[{"id": "25025320", "username": "instagram", "full_name": "Instagram", "is_verified": true, "is_private": false, "profile_pic_url": "https://example.com/profile.jpg"}]` |
| `comments_disabled` | boolean | null | Whether comments or caption comments are disabled for this post. | `false` |
| `can_viewer_save` | boolean | null | Whether Instagram reports that the current viewer can save the post. | `true` |
| `can_viewer_reshare` | boolean | null | Whether Instagram reports that the current viewer can reshare the post. | `true` |
| `is_paid_partnership` | boolean | null | Whether Instagram marks the post as paid partnership content. | `false` |
| `sponsor_tags` | array | null | Sponsor or branded-content accounts attached to the post. | `[{"id": "25025320", "username": "instagram", "full_name": "Instagram", "is_verified": true, "is_private": false, "profile_pic_url": "https://example.com/profile.jpg"}]` |
| `top_comments` | array | null | Structured comments returned by yt-dlp for this post. | `[{"id": "18085023536555088", "author_id": "14786298068", "author_username": "kind.care.daily", "text": "Great post", "like_count": 0, "timestamp": 1783232439, "created_at": "2026-07-05T02:20:39+00:00"}]` |
| `audio_type` | string | null | Instagram audio type for reels and videos when available. | `licensed_music` |
| `audio_title` | string | null | Audio or music title when available. | `her garden` |
| `audio_artist` | string | null | Audio artist or display artist when available. | `Amory Reel` |
| `audio_asset_id` | string | null | Instagram audio asset identifier when available. | `1446482649383194` |
| `audio_canonical_id` | string | null | Canonical Instagram music or audio identifier when available. | `18424926214053229` |
| `audio_duration_ms` | integer | null | Audio duration in milliseconds when available. | `89205` |
| `audio_cover_url` | string | null | Cover artwork URL for licensed music or original audio owner image. | `https://example.com/audio-cover.jpg` |
| `audio_preview_url` | string | null | Preview or progressive audio URL when Instagram exposes one. | `https://example.com/audio-preview.mp4` |
| `audio_owner_username` | string | null | Username associated with original audio ownership when available. | `instagram` |
| `audio_is_original` | boolean | null | Whether the post uses original audio metadata rather than licensed music metadata. | `false` |
| `audio_is_reuse_allowed` | boolean | null | Whether the exposed audio metadata indicates reuse is allowed. | `false` |
| `audio_is_trending` | boolean | null | Whether Instagram marks this audio as trending in clips. | `true` |
| `audio_mashups_count` | integer | null | Number of mashups Instagram reports for the audio when available. | `7` |
| `media_items` | array | null | All media parts inside the post, including carousel children. | `[{"position": 1, "media_id": "3930000000000000000", "media_type": "video", "media_url": "https://example.com/video.mp4", "cover_url": "https://example.com/cover.jpg", "width": 720, "height": 1280, "duration_seconds": 22.033, "has_audio": true, "accessibility_caption": null}]` |

#### Sample output

```json
{
  "processor": "https://apify.com/truefetch/instagram-post-scraper",
  "processed_at": "2026-04-24T09:30:00+00:00",
  "post_id": "3284718293741928634",
  "shortcode": "C5xKqPTL8JA",
  "post_url": "https://www.instagram.com/reel/C5xKqPTL8JA/",
  "post_type": "reel",
  "owner_username": "natgeo",
  "caption": "Golden hour in Patagonia",
  "published_at": "2026-04-24T09:00:00+00:00",
  "like_count": 48200,
  "comment_count": 312,
  "play_count": 1240000,
  "cover_url": "https://scontent.cdninstagram.com/cover.jpg",
  "media_items": [
    {
      "position": 1,
      "media_type": "video",
      "media_url": "https://scontent.cdninstagram.com/video.mp4",
      "cover_url": "https://scontent.cdninstagram.com/cover.jpg"
    }
  ]
}
```

***

### 💡 Use cases

#### For influencer agencies auditing content performance

- **Problem:** manually reviewing all posts from a target influencer account — extracting likes, plays, captions, and post types — takes hours per account.
- **How Instagram Post Scraper solves it:** extract `like_count`, `comment_count`, `play_count`, `post_type`, and `caption` for all recent posts in structured JSON for influencer scoring.
- **Outcome:** a structured content performance snapshot from **$6.75 per 1,000 posts** on discounted paid tiers.

#### For brand monitoring tracking competitor content

- **Problem:** brands need to monitor what competitors are posting on Instagram — post frequency, content types, and engagement levels.
- **How Instagram Post Scraper solves it:** schedule the Actor for target competitor accounts and track `post_type`, `like_count`, and `play_count` over time.
- **Outcome:** structured competitive content intelligence at a fraction of the cost of social media monitoring platforms.

#### For AI agents answering questions about public Instagram accounts

- **Problem:** LLM agents asked "what are the top-performing posts from @natgeo this year?" cannot trust stale training data.
- **How Instagram Post Scraper solves it:** call the Actor over the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi) and surface grounded, up-to-date Instagram post data.
- **Outcome:** accurate, source-cited Instagram content data in production AI assistants.

***

### 💰 Pricing, limits, and performance

| Fact                        | Value                                                                                           |
| --------------------------- | ----------------------------------------------------------------------------------------------- |
| Pricing model               | Tiered pay-per-event pricing: `result` plus optional `media` download                           |
| Actor start event           | **$0.01** per GB when the run starts                                                            |
| Result event                | FREE **$0.00750** · BRONZE **$0.00725** · SILVER **$0.00700** · GOLD+ **$0.00675** per post      |
| Media event                 | FREE **$0.00950** · BRONZE **$0.00918** · SILVER **$0.00887** · GOLD+ **$0.00855** per file      |
| Free-tier monthly allowance | $5 Apify credits ≈ **~660 FREE-tier posts / month**                                             |
| Result range per run        | **1** to **1,000,000** posts                                                                     |
| Output fields per post      | **62**                                                                                          |
| Login / cookies required    | **No** — works without an Instagram account                                                     |
| Export formats              | JSON, JSONL, CSV, Excel, XML, RSS, dataset API                                                  |

***

### ⚖️ Compared with alternatives

| Capability                                   | **Instagram Post Scraper** | Instagram Basic Display API |    Custom scraper    |
| -------------------------------------------- | :------------------------: | :-------------------------: | :------------------: |
| Full post feed from any public profile       |             ✅             |      own content only       | you build & maintain |
| 60+ fields incl. plays, audio, location, comments, and media items |             ✅             |           limited           | you build & maintain |
| Optional media download                      |             ✅             |             ❌              | you build & maintain |
| No login or API approval required            |             ✅             |     requires app review     | you build & maintain |
| Pay-per-result pricing                       | **$0.00750 to $0.00675 / post** |             N/A             |   infra + dev cost   |
| Export to CSV / JSON                         |             ✅             |           limited           |    you implement     |
| Setup time to first result                   |      **< 60 seconds**      |     days (app approval)     |      days–weeks      |

**Verdict.** Instagram's official APIs restrict post access heavily and require app review. Instagram Post Scraper delivers structured public post data for any account with no approval required.

***

### ⚠️ Common mistakes to avoid

1. **Passing a private account username.** The Actor can only read publicly visible posts — private accounts will return no results.
2. **Setting `max_results` outside the allowed range.** The Actor accepts 1 to 1,000,000 posts per run.
3. **Setting `download` to `true` for large accounts.** Media download uses the `media` event and is billed per file. For analysis only, omit `download` or set it to `false`.
4. **Expecting `play_count` on image posts.** The `play_count` field is only populated for video, reel, and IGTV content when Instagram exposes it.
5. **Assuming `media_items[].media_url` links are permanent.** Instagram CDN links may expire — download media immediately if persistent storage is needed.

***

### 🛠️ Troubleshooting

| Problem                          | Likely cause                                 | Fix                                                                              |
| -------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------- |
| No results returned              | Account is private or username is incorrect. | Verify the account is public and the username is spelled correctly.              |
| Fewer results than `max_results` | Account has fewer than `max_results` posts.  | Expected — some accounts have limited post history.                              |
| `play_count` null                | Post is an image or Instagram did not expose plays. | Filter `has_video == true` to process only video posts.                          |
| Media download URLs expired      | Instagram CDN links are short-lived.         | Use `download: true` to persist media to Apify key-value store. |
| `Charge limit reached`           | Account-level monthly spend limit hit.       | Raise the run / monthly limit in your Apify plan settings.                       |

***

### ❓ FAQ

#### What data does Instagram Post Scraper return?

Instagram Post Scraper returns 60+ structured fields per post including post IDs, shortcodes, URLs, owner fields, captions, hashtags, mentions, engagement counts, location signals, comments, audio metadata, and media items from any public Instagram profile.

#### How much does Instagram Post Scraper cost?

Instagram Post Scraper uses tiered pay-per-event pricing. The `result` event is **$0.00750** per post on FREE and discounts down to **$0.00675** on GOLD, PLATINUM, and DIAMOND. Optional media download uses the `media` event from **$0.00950** to **$0.00855** per file.

#### Does Instagram Post Scraper require a login?

No. The Actor reads publicly visible Instagram post feeds without any login or cookies.

#### Can I download images and videos from posts?

Yes. Set `download` to `true` to save all available post media files. Downloaded files are saved to your Apify key-value store and billed through the tiered `media` event.

#### Can I schedule Instagram Post Scraper to run automatically?

Yes. Use Apify [Schedules](https://docs.apify.com/platform/schedules?fpr=aiagentapi) to monitor a profile's new posts on a recurring cadence and push results via [Webhooks](https://docs.apify.com/platform/integrations/webhooks?fpr=aiagentapi).

***

### 🔌 Integrations

Instagram Post Scraper plugs straight into the Apify ecosystem:

- **Schedules** — monitor a profile's posts on a recurring schedule ([docs](https://docs.apify.com/platform/schedules?fpr=aiagentapi)).
- **Webhooks** — POST results to your endpoint on `ACTOR.RUN.SUCCEEDED` ([docs](https://docs.apify.com/platform/integrations/webhooks?fpr=aiagentapi)).
- **Apify API** — `run-sync-get-dataset-items` for blocking calls, `runs` for async ([docs](https://docs.apify.com/api/v2?fpr=aiagentapi)).
- **MCP Server** — call the Actor from Claude, ChatGPT, or Cursor agents ([docs](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi)).
- **No-code** — Make, Zapier, n8n, Pipedream, Google Sheets, Airtable.

***

### 🧱 Sister Actors from TrueFetch

#### Jobs

- [Best Job Listing](https://apify.com/truefetch/best-job-listing?fpr=aiagentapi)
- [Glassdoor Job Listing](https://apify.com/truefetch/glassdoor-job-listing?fpr=aiagentapi)
- [Glints Company Profile](https://apify.com/truefetch/glints-company-profile?fpr=aiagentapi)
- [Glints Job Listing](https://apify.com/truefetch/glints-job-listing?fpr=aiagentapi)
- [Indeed Job Listing](https://apify.com/truefetch/indeed-job-listing?fpr=aiagentapi)
- [JobStreet Company Profile](https://apify.com/truefetch/jobstreet-company-profile?fpr=aiagentapi)
- [JobStreet Job Listing](https://apify.com/truefetch/jobstreet-job-listing?fpr=aiagentapi)
- [LinkedIn Job Listing](https://apify.com/truefetch/linkedin-job-listing?fpr=aiagentapi)
- [StepStone Company Profile](https://apify.com/truefetch/stepstone-company-profile?fpr=aiagentapi)
- [StepStone Job Listing](https://apify.com/truefetch/stepstone-job-listing?fpr=aiagentapi)

#### Shopping & Deals

- [Amazon Product Listing](https://apify.com/truefetch/amazon-product-listing?fpr=aiagentapi)
- [Amazon Store Profile](https://apify.com/truefetch/amazon-store-profile?fpr=aiagentapi)
- [Argos Product Listing](https://apify.com/truefetch/argos-product-listing?fpr=aiagentapi)
- [ASOS Product Listing](https://apify.com/truefetch/asos-product-listing?fpr=aiagentapi)
- [eBay Listing](https://apify.com/truefetch/ebay-listing?fpr=aiagentapi)
- [eBay Seller Profile](https://apify.com/truefetch/ebay-seller-profile?fpr=aiagentapi)
- [Flipkart Product Listing](https://apify.com/truefetch/flipkart-product-listing?fpr=aiagentapi)
- [John Lewis Product Listing](https://apify.com/truefetch/john-lewis-product-listing?fpr=aiagentapi)
- [Lidl Product Listing](https://apify.com/truefetch/lidl-product-listing?fpr=aiagentapi)
- [Magalu Product Listing](https://apify.com/truefetch/magalu-product-listing?fpr=aiagentapi)
- [MediaMarkt Product Listing](https://apify.com/truefetch/mediamarkt-product-listing?fpr=aiagentapi)
- [Mercado Livre Product Listing](https://apify.com/truefetch/mercado-livre-product-listing?fpr=aiagentapi)
- [Nykaa Product Listing](https://apify.com/truefetch/nykaa-product-listing?fpr=aiagentapi)
- [OTTO Product Listing](https://apify.com/truefetch/otto-product-listing?fpr=aiagentapi)
- [Target Product Listing](https://apify.com/truefetch/target-product-listing?fpr=aiagentapi)
- [TradeIndia Product Listing](https://apify.com/truefetch/tradeindia-product-listing?fpr=aiagentapi)
- [TradeIndia Supplier Profile](https://apify.com/truefetch/tradeindia-supplier-profile?fpr=aiagentapi)
- [Walmart Product Listing](https://apify.com/truefetch/walmart-product-listing?fpr=aiagentapi)

#### Vehicles

- [AutoTrader Car Listing](https://apify.com/truefetch/autotrader-car-listing?fpr=aiagentapi)
- [AutoTrader Dealer Profile](https://apify.com/truefetch/autotrader-dealer-profile?fpr=aiagentapi)
- [Cars.com Car Listing](https://apify.com/truefetch/carscom-car-listing?fpr=aiagentapi)
- [Cars.com Dealer Profile](https://apify.com/truefetch/carscom-dealer-profile?fpr=aiagentapi)
- [Webmotors Car Listing](https://apify.com/truefetch/webmotors-car-listing?fpr=aiagentapi)

#### Real Estate

- [MagicBricks Builder Profile](https://apify.com/truefetch/magicbricks-builder-profile?fpr=aiagentapi)
- [MagicBricks Property Listing](https://apify.com/truefetch/magicbricks-property-listing?fpr=aiagentapi)
- [US Property Listing](https://apify.com/truefetch/us-property-listing?fpr=aiagentapi)
- [Zillow Property Listing](https://apify.com/truefetch/zillow-property-listing?fpr=aiagentapi)

#### Local Business & Food

- [BBB Business Profile](https://apify.com/truefetch/bbb-business-profile?fpr=aiagentapi)
- [BBB Review](https://apify.com/truefetch/bbb-review?fpr=aiagentapi)
- [Google Maps Business Listing](https://apify.com/truefetch/google-maps-business-listing?fpr=aiagentapi)
- [Reclame Aqui Company Profile](https://apify.com/truefetch/reclame-aqui-company-profile?fpr=aiagentapi)
- [Zomato Restaurant Menu](https://apify.com/truefetch/zomato-restaurant-menu?fpr=aiagentapi)
- [Zomato Restaurant Listing](https://apify.com/truefetch/zomato-restaurant-listing?fpr=aiagentapi)

#### Classifieds

- [Kleinanzeigen Listing](https://apify.com/truefetch/kleinanzeigen-listing?fpr=aiagentapi)
- [Kleinanzeigen Seller Profile](https://apify.com/truefetch/kleinanzeigen-seller-profile?fpr=aiagentapi)
- [OLX Listing](https://apify.com/truefetch/olx-listing?fpr=aiagentapi)
- [OLX Seller Profile](https://apify.com/truefetch/olx-seller-profile?fpr=aiagentapi)

#### Social Media

- [LinkedIn Company Profile](https://apify.com/truefetch/linkedin-company-profile?fpr=aiagentapi)
- [LinkedIn Person Profile](https://apify.com/truefetch/linkedin-person-profile?fpr=aiagentapi)
- [Instagram Explore Post](https://apify.com/truefetch/instagram-explore-post?fpr=aiagentapi)
- [Instagram Post Scraper](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi)
- [Instagram Profile](https://apify.com/truefetch/instagram-profile?fpr=aiagentapi)
- [Reddit Community Post](https://apify.com/truefetch/reddit-community-post?fpr=aiagentapi)
- [Reddit Community Profile](https://apify.com/truefetch/reddit-community-profile?fpr=aiagentapi)
- [Reddit Community Member](https://apify.com/truefetch/reddit-community-member?fpr=aiagentapi)
- [Reddit Post Search](https://apify.com/truefetch/reddit-post-search?fpr=aiagentapi)
- [Reddit User Profile](https://apify.com/truefetch/reddit-user-profile?fpr=aiagentapi)
- [Social Media Marketing](https://apify.com/truefetch/social-media-marketing?fpr=aiagentapi)
- [Telegram Channel Message](https://apify.com/truefetch/telegram-channel-message?fpr=aiagentapi)
- [Telegram Group Member](https://apify.com/truefetch/telegram-group-member?fpr=aiagentapi)
- [Telegram Profile](https://apify.com/truefetch/telegram-profile?fpr=aiagentapi)
- [X Community Profile](https://apify.com/truefetch/x-community-profile?fpr=aiagentapi)
- [X User Profile](https://apify.com/truefetch/x-user-profile?fpr=aiagentapi)

#### Videos & Text

- [Best Video Downloader](https://apify.com/truefetch/best-video-downloader?fpr=aiagentapi)
- [Instagram Video Transcript](https://apify.com/truefetch/instagram-video-transcript?fpr=aiagentapi)
- [TikTok Live Recorder](https://apify.com/truefetch/tiktok-live-recorder?fpr=aiagentapi)
- [TikTok Video Downloader](https://apify.com/truefetch/tiktok-video-downloader?fpr=aiagentapi)
- [TikTok Profile Video](https://apify.com/truefetch/tiktok-profile-video?fpr=aiagentapi)
- [Video Subtitles Downloader](https://apify.com/truefetch/video-subtitles-downloader?fpr=aiagentapi)
- [Video To Text](https://apify.com/truefetch/video-to-text?fpr=aiagentapi)
- [YouTube Niche Listing](https://apify.com/truefetch/youtube-niche-listing?fpr=aiagentapi)
- [YouTube Video Downloader](https://apify.com/truefetch/youtube-video-downloader?fpr=aiagentapi)

#### Content & Articles

- [Medium Article](https://apify.com/truefetch/medium-article?fpr=aiagentapi)
- [Medium Writer Profile](https://apify.com/truefetch/medium-writer-profile?fpr=aiagentapi)

***

### 📞 Support, changelog, last updated

#### Support

- 💬 **Telegram Group:** [t.me/TrueFetch](https://t.me/TrueFetch)
- 📧 **Direct support:** [t.me/AiAgentApi](https://t.me/AiAgentApi)
- 📖 **Actor page & docs:** [apify.com/truefetch/instagram-post-scraper](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi)

Maintained by **TrueFetch** on the [Apify Store](https://apify.com/truefetch?fpr=aiagentapi).

> **Cost of doing nothing:** manually reviewing an Instagram profile to collect post data — captions, likes, plays, and media links — takes hours per account. Instagram Post Scraper delivers structured post data with tiered result pricing from $6.75 per 1,000 posts. → [Try it free with $5 of Apify credits](https://apify.com/truefetch/instagram-post-scraper?fpr=aiagentapi).

#### Changelog

- **2026-05-02** — README rewritten for SEO + GEO; documented the public output fields, full pricing, troubleshooting matrix, and FAQ.
- **2026-04** — Added optional media download with tiered `media` event pricing; improved carousel media\_items extraction.
- **2026-03** — Added `has_audio`, `play_count`, and media duration details for reel posts.
- **2026-02** — Initial release: Instagram post scraping.

***

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "SoftwareApplication",
      "@id": "https://apify.com/truefetch/instagram-post-scraper#software",
      "name": "Instagram Post Scraper",
      "description": "Apify Actor that scrapes posts from any public Instagram profile and returns 60+ structured fields per post, including captions, engagement counts, media URLs, owner fields, comments, and audio metadata. Tiered pay-per-result pricing starts at $0.00675 per post.",
      "applicationCategory": "BusinessApplication",
      "operatingSystem": "Web, Cloud",
      "url": "https://apify.com/truefetch/instagram-post-scraper",
      "offers": {
        "@type": "Offer",
        "price": "0.00675",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      "author": { "@id": "https://apify.com/truefetch#author-TrueFetch" },
      "publisher": { "@id": "https://apify.com/truefetch#publisher" }
    },
    {
      "@type": "Organization",
      "@id": "https://apify.com/truefetch#publisher",
      "name": "TrueFetch",
      "url": "https://apify.com/truefetch",
      "sameAs": ["https://t.me/TrueFetch", "https://t.me/AiAgentApi"]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What data does Instagram Post Scraper return?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Instagram Post Scraper returns 60+ structured fields per post including post IDs, shortcodes, URLs, owner fields, captions, hashtags, mentions, engagement counts, location signals, comments, audio metadata, and media items from any public Instagram profile."
          }
        },
        {
          "@type": "Question",
          "name": "How much does Instagram Post Scraper cost?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Instagram Post Scraper uses tiered pay-per-event pricing. The result event is $0.00750 per post on FREE and discounts down to $0.00675 on GOLD, PLATINUM, and DIAMOND. Optional media download uses the media event from $0.00950 to $0.00855 per file."
          }
        },
        {
          "@type": "Question",
          "name": "Does Instagram Post Scraper require a login?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "No. The Actor reads publicly visible Instagram post feeds without any login or cookies."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Apify",
          "item": "https://apify.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Social Media",
          "item": "https://apify.com/store?category=SOCIAL_MEDIA"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Instagram Post Scraper",
          "item": "https://apify.com/truefetch/instagram-post-scraper"
        }
      ]
    }
  ]
}
```

***

**Last Updated:** May 2, 2026
**Schema version:** 1.1
**Maintained by:** [TrueFetch](https://apify.com/truefetch?fpr=aiagentapi) · 💬 [Telegram Group](https://t.me/TrueFetch) · 📧 [Support](https://t.me/AiAgentApi)

# Actor input Schema

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

Enter one bare Instagram username only. Do not include @, a profile URL, slash, query, or spaces.

## `max_results` (type: `integer`):

How many posts to get for this account. Set a larger number to keep loading older public posts when available.

## `download` (type: `boolean`):

Enable to save all available post media files to Apify storage and rewrite cover\_url plus media\_items\[].media\_url in the dataset.

## Actor input object example

```json
{
  "username": "openai",
  "max_results": 2
}
```

# Actor output Schema

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

Browse the overview table with all Instagram post, reel, media, engagement, owner, location, audio, and processing fields.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "username": "openai",
    "max_results": 2
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "username": "openai",
    "max_results": 2,
}

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

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

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

```

## CLI example

```bash
echo '{
  "username": "openai",
  "max_results": 2
}' |
apify call truefetch/instagram-post-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Post Scraper",
        "description": "Scrape public Instagram profile posts, reels, and carousel media with captions, likes, comments, plays, timestamps, media URLs, and optional cloud media downloads for content analytics, influencer research, and AI workflows.",
        "version": "1.0",
        "x-build-id": "GTL8O95Y0Rc9lIa1C"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/truefetch~instagram-post-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-truefetch-instagram-post-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/truefetch~instagram-post-scraper/runs": {
            "post": {
                "operationId": "runs-sync-truefetch-instagram-post-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/truefetch~instagram-post-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-truefetch-instagram-post-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "username",
                    "max_results"
                ],
                "properties": {
                    "username": {
                        "title": "Username",
                        "type": "string",
                        "description": "Enter one bare Instagram username only. Do not include @, a profile URL, slash, query, or spaces."
                    },
                    "max_results": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "How many posts to get for this account. Set a larger number to keep loading older public posts when available."
                    },
                    "download": {
                        "title": "Download",
                        "type": "boolean",
                        "description": "Enable to save all available post media files to Apify storage and rewrite cover_url plus media_items[].media_url in the dataset."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
