Instagram Post Scraper avatar

Instagram Post Scraper

Under maintenance

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Instagram Post Scraper

Instagram Post Scraper

Under maintenance

Scrape Instagram posts. Just add one or more Instagram usernames and get your data in seconds including caption, metrics, images, mentions, coauthors, recent comments, sponsored status, video duration, views. Export scraped data, schedule scraper via API, integrate with other tools or AI workflows.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeAI

ScrapeAI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

📸 Instagram Post Scraper

Scrape Instagram posts in seconds. Just add one or more Instagram usernames or direct post URLs to extract complete post details including captions, metrics, high-resolution images, mentions, coauthors, recent comments, sponsored status, video duration, and views.

Export scraped data in multiple formats (JSON, CSV, Excel, XML, HTML), schedule recurring scrapers via API, or integrate directly into your AI workflows and webhooks.


✨ Features

  • Profile & Post Scraping: Extract posts by entering Instagram usernames or direct post links.
  • Rich Post Metrics: Extract likes, comments count, video views, estimated shares, and saves.
  • Media & Carousel Images: Extract single images, video URLs, or full multi-slide carousel image lists.
  • Coauthors & Mentions: Discover tagged coauthors, brand collaborations, and @mention references in post captions.
  • Sponsored Content Detection: Instantly identify paid partnerships (isSponsored).
  • Video & Reel Metadata: Extract video duration in seconds and view counts for Reels and video posts.
  • Recent Comments Extraction: Pull top recent comments with user handles, comment text, and comment likes.
  • Export & Integration Ready: Easily connect to Webhooks, Make, Zapier, LangChain, or AI agents.

📥 Input Parameters

The Actor accepts the following input parameters in JSON format:

ParameterTypeDefaultDescription
usernamesarray["instagram", "natgeo"]List of Instagram usernames to scrape posts from.
directUrlsarray["https://www.instagram.com/p/C-XyZ12345/"]List of direct Instagram post URLs or profile links.
resultsLimitinteger20Maximum number of posts to scrape per target.
includeCommentsbooleantrueInclude recent comments for each scraped post.
maxCommentsinteger5Maximum number of recent comments per post item.
proxyConfigurationobject{"useApifyProxy": false}Proxy configuration to bypass rate limits.
debugLogbooleanfalseEnable verbose diagnostic debug logging.

Input Example (input.json)

{
"usernames": [
"instagram",
"natgeo"
],
"directUrls": [
"https://www.instagram.com/p/C-XyZ12345/"
],
"resultsLimit": 10,
"includeComments": true,
"maxComments": 5,
"debugLog": false
}

📤 Output Dataset

The output is saved directly into an Apify Dataset. Each item contains complete post metadata structured as follows:

Output Item Example

{
"id": "post_CB3K9L1A",
"type": "Sidecar/Carousel",
"shortCode": "CB3K9L1A",
"url": "https://www.instagram.com/p/CB3K9L1A/",
"caption": "Exploring new horizons in #photography with @instagram! What do you think of this carousel? #photography #natgeo #viral",
"hashtags": [
"#photography",
"#natgeo",
"#viral"
],
"mentions": [
"@natgeo",
"@instagram",
"@creator_photography"
],
"coauthors": [
{
"username": "coauthor_photography",
"fullName": "Creative Partner",
"verified": false
}
],
"images": [
"https://instagram.com/p/CB3K9L1A/media_1.jpg",
"https://instagram.com/p/CB3K9L1A/media_2.jpg",
"https://instagram.com/p/CB3K9L1A/media_3.jpg"
],
"displayUrl": "https://instagram.com/p/CB3K9L1A/media_1.jpg",
"videoUrl": null,
"videoDuration": null,
"videoViewCount": 0,
"views": 0,
"metrics": {
"likesCount": 42150,
"commentsCount": 1820,
"sharesCount": 5058,
"savesCount": 3372,
"videoViewCount": 0
},
"likesCount": 42150,
"commentsCount": 1820,
"isSponsored": false,
"ownerUsername": "natgeo",
"ownerId": "id_natgeo_681",
"ownerFullName": "Natgeo",
"recentComments": [
{
"commentId": "c_CB3K9L1A_1",
"text": "Love the details in this sidecar/carousel! 🙌",
"ownerUsername": "user_4812",
"timestamp": "2026-08-06T11:00:00.000Z",
"likesCount": 12,
"postId": "post_CB3K9L1A",
"postShortCode": "CB3K9L1A"
}
],
"timestamp": "2026-08-04T15:07:00.000Z",
"scrapedAt": "2026-08-06T15:07:00.000Z"
}

🚀 How to Use & Integration

Run via Apify CLI

$apify run

Run via API

You can start runs programmatically using the Apify REST API:

curl -X POST "https://api.apify.com/v2/acts/instagram-post-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"usernames": ["natgeo"],
"resultsLimit": 20
}'

Export Formats

Downstream data can be exported in:

  • JSON / JSONL
  • CSV / Excel
  • XML
  • HTML Table

🛡️ Proxies & Best Practices

For bulk requests or production automation, pass proxyConfiguration with Apify Proxy to avoid IP rate limits and ensure smooth data delivery across regions.