Instagram Scraper
Pricing
from $2.99 / 1,000 results
Instagram Scraper
Extract Instagram posts, reels, profiles, places, hashtags, carousels, and comments. Get data from Instagram using one or more Instagram URLs or search queries: content, context, metrics, metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeAI
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract Instagram posts, reels, profiles, places, hashtags, carousels, and comments with structured metadata, metrics, and high detail.
Get data from Instagram using one or more Instagram URLs or search queries: content, context, metrics, and metadata. Export scraped data in JSON, CSV, Excel, or HTML format, run the scraper via API, schedule and monitor runs, or integrate with other automation tools.
🌟 Key Features
- Multi-Entity Extraction: Scrape Profiles, Posts, Reels, Carousels, Hashtags, Locations/Places, and Comments in a single run.
- Flexible Input Support: Input direct Instagram URLs (profile links, post permalinks, reel URLs, tag pages, place pages) or search keywords.
- Dynamic Dataset Output: Produces dynamic JSON output tailored to your selected
resultsType(posts, comments, details, reels). - Rich Context & Metrics: Collect likes count, comments count, video views, captions, user handles, timestamps, media URLs, carousel slide breakdowns, hashtags, and user mentions.
- Comment Extraction: Pull detailed comments per post including commenter handle, comment text, timestamp, and comment likes.
- Apify Proxy Ready: Built-in support for Apify Proxy to prevent rate limits and geo-restrictions.
📥 Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
directUrls | Array | ["https://www.instagram.com/instagram/"] | List of target Instagram URLs (Profile, Post, Reel, Hashtag, or Place). |
searchQueries | Array | ["instagram"] | Keywords or handles to search. |
searchType | String | "user" | Search target type: "user", "hashtag", or "place". |
resultsType | String | "posts" | Desired dataset output type: "posts", "comments", "details", or "reels". |
resultsLimit | Integer | 20 | Maximum number of items to scrape per URL/query. |
includeComments | Boolean | true | Include top comments for posts/reels. |
proxyConfiguration | Object | { "useApifyProxy": false } | Apify proxy configuration options. |
debugLog | Boolean | false | Enable verbose diagnostic logging. |
Example input.json
{"directUrls": ["https://www.instagram.com/instagram/","https://www.instagram.com/p/C-XyZ12345/","https://www.instagram.com/reel/C-AbCd12345/","https://www.instagram.com/explore/tags/photography/"],"searchQueries": ["photography","travel"],"searchType": "user","resultsType": "posts","resultsLimit": 10,"includeComments": true,"debugLog": false}
📤 Dataset Output Formats
Depending on the resultsType selected, the actor pushes dynamic records to the output dataset.
1. Post / Reel / Carousel Item Output
{"id": "post_C-XyZ12345","type": "Image","shortCode": "C-XyZ12345","url": "https://www.instagram.com/p/C-XyZ12345/","caption": "Exploring breathtaking views! #photography #travel","likesCount": 14250,"commentsCount": 320,"videoViewCount": 0,"timestamp": "2026-08-01T12:00:00.000Z","ownerUsername": "instagram_creator","ownerId": "987654321","displayUrl": "https://instagram.com/media/C-XyZ12345.jpg","childPosts": [{ "id": "slide_1", "displayUrl": "https://instagram.com/media/C-XyZ12345_1.jpg" },{ "id": "slide_2", "displayUrl": "https://instagram.com/media/C-XyZ12345_2.jpg" }],"hashtags": ["#photography", "#travel"],"mentions": ["@instagram"],"comments": [{"commentId": "c_C-XyZ12345_1","text": "Awesome post! Keep it up 🔥","timestamp": "2026-08-01T12:05:00.000Z","ownerUsername": "fan_user_1","ownerProfileUrl": "https://www.instagram.com/fan_user_1/","likesCount": 14,"postId": "post_C-XyZ12345","postShortCode": "C-XyZ12345"}],"scrapedAt": "2026-08-06T15:03:00.000Z"}
2. Profile Details Item Output
{"id": "1029384756","username": "instagram","fullName": "Instagram","biography": "Discover what's next on Instagram 💫","externalUrl": "https://about.instagram.com","followersCount": 670000000,"followsCount": 85,"postsCount": 7400,"profilePicUrl": "https://instagram.com/p/instagram/avatar.jpg","isVerified": true,"isPrivate": false,"url": "https://www.instagram.com/instagram/","scrapedAt": "2026-08-06T15:03:00.000Z"}
🚀 How to Run
Via Apify CLI
# Validate input schemaapify validate-schema# Run actor locally with simulated platform storageapify run
Via npm
# Install dependenciesnpm install# Execute main scriptnpm start
Via Apify API (Node.js SDK)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('username/instagram-scraper').call({directUrls: ['https://www.instagram.com/instagram/'],resultsType: 'posts',resultsLimit: 20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🔒 Proxy & Compliance
When scraping public data at scale, it is recommended to enable Apify Proxy (useApifyProxy: true) to avoid request throttling and ensure smooth data retrieval.