

A unified Instagram scraper designed to extract publicly available data from Instagram through multiple input methods. With CoreClaw, you can pull posts, profile details, comments, reels, and mentions from Instagram URLs or keyword searches with zero code, empowering social media research, influencer analysis, content monitoring, and competitive intelligence
A unified Instagram scraper designed to extract publicly available data from Instagram through multiple input methods. With CoreClaw, you can pull posts, profile details, comments, reels, and mentions from Instagram URLs or keyword searches with zero code, empowering social media research, influencer analysis, content monitoring, and competitive intelligence.
| 👤 Profile Data | 📝 Post/Reel Data |
|---|---|
| 💬 Comments | 🏷️ Hashtag & Place Data |
| 🔍 Search Results | ⚙️ Execution Metadata |
See the Output section below for the complete field reference.
CoreClaw Instagram Scraper handles request scheduling, data extraction, and result delivery for you in the background. In just a few minutes, you can scrape Instagram data by following these steps:
| Parameter | Type | Default | Description |
|---|---|---|---|
| resultsType | string | posts | Required. What to return for each input: posts (feed of posts), details (profile/hashtag/place metadata), comments (comments of a post, max 50/post), reels (profile's reels), mentions (posts where a profile is tagged). Stories need login and are not supported. |
| resultsLimit | integer | 20 | Maximum items to return per input source (per URL and per resolved search target). Comments are additionally capped at 50 per post by Instagram. |
| directUrls | array | [{"url": "https://www.instagram.com/nasa/"}] | Instagram URLs to scrape directly: a profile (/<username>/), a post (/p/<code>/), a reel (/reel/<code>/), a hashtag (/explore/tags/<tag>/), or a location (/explore/locations/<id>/). The URL type must match the chosen Results type. A bare username or @handle is also accepted. |
| search | string | — | Keyword to search Instagram for hashtags, profiles, or places (depending on Search type). Each resolved target is then scraped per the Results type. Leave empty when using Direct URLs. |
| searchType | string | hashtag | What the Search keyword resolves to:hashtag, profile, or place. user is treated the same as profile. |
| searchLimit | integer | 5 | Maximum number of search results (hashtags/profiles/places) to resolve and scrape from the Search keyword. Max 250. |
| onlyPostsNewerThan | string | — | Keep only posts taken on or after this date. Accepts absolute date (YYYY-MM-DD) or relative window such as 3 days, 2 weeks, 1 month. Applies to post feeds only, not detail records. |
| onlyPostsOlderThan | string | — | Keep only posts taken before this date. Accepts absolute date (YYYY-MM-DD) or relative window such as 3 days, 1 month. Applies to post feeds only, not detail records. |
| addParentData | boolean | false | When on, each result carries a dataSource field labeling which parent (profile/hashtag/place/search) it came from. |
| maxConcurrency | integer | 6 | How many post details to fetch in parallel. Each post is a separate request, so very high concurrency can overload a proxy and cause empty responses. Default 6 balances speed and reliability; lower if you see empty-response / 403 churn. |
| perItemTimeoutSecs | integer | 45 | Abandon a single post's detail fetch after this many seconds so one stuck item can't hold up the whole run (recorded as a 504). Set 0 for no limit. |
| includeComments | boolean | true | Fetch each post's latest comments (with author, likes, and reply counts) into latestComments. Turn off to skip the per-post comment fetch (faster, fewer requests). |
| maxComments | integer | 24 | Maximum comments to collect per post into latestComments (Instagram's preview page returns up to ~24). |
Example 1: Scrape Profile Posts
https://www.instagram.com/nasa/Example 2: Scrape Post Comments
https://www.instagram.com/p/C8m4hKqMx3a/Example 3: Search Hashtags
Example 4: Scrape Profile Details
https://www.instagram.com/nasa/Example 5: Filter by Date
https://www.instagram.com/nasa/For your convenience, output results are displayed in tables and tabs. You can choose to download the results in your preferred format.
| Group | Key Fields | Description |
|---|---|---|
| 📝Post/Reel Core | type, shortCode, url, caption, timestamp, likesCount, commentsCount | Core post/reel identification and content |
| 🖼️Media | displayUrl, images, videoUrl, dimensionsHeight, dimensionsWidth | Image and video URLs with dimensions |
| 👤Author | ownerUsername, ownerFullName, ownerId, ownerProfilePicUrl | Post author identification |
| 🏷️Content Tags | hashtags, mentions, taggedUsers | Hashtags, @mentions, and tagged users |
| 📊Engagement | likesCount, videoViewCount, videoPlayCount, commentsCount | Like, view, play, and comment counts |
| 💬Comments | firstComment, latestComments | Preview comments with author and likes |
| 🎵Reel/Video | videoDuration, musicInfo, audioUrl, productType | Video-specific metadata |
| 📍Location | locationName, locationId | Tagged location data |
| 👤Profile Details | username, fullName, biography, followersCount, followsCount, verified, private | Profile metadata (when resultsType is details) |
| 🏷️Hashtag/Place | name, topPosts, latestPosts, postsCount, lat, lng | Hashtag or place metadata |
| 🔍Search Context | queryTag, querySearch, sourceType | Search resolution metadata |
| ⚙️Execution | success, error, error_code, warning, degraded, missingFields | Execution status and diagnostics |
| Field | Type | Description |
|---|---|---|
type | string | Media type:Image, Video, or Sidecar (carousel). Empty for profile/hashtag/place records. |
dataSource | string | Parent label (profile/hashtag/place/search) — only set when addParentData is on. |
id | string | Primary ID of the record (post pk / profile id / comment id / hashtag id / place id). |
shortCode | string | Post/reel shortcode. |
url | string | Canonical URL of the record. |
inputUrl | string | The directUrl (or search:<term>) this record was produced from. |
caption | string | Post caption text. |
hashtags | array | Hashtags (without #) parsed from the caption / comment. |
mentions | array | @-mentions parsed from the caption. |
commentsCount | number | Number of comments on the post. |
firstComment | string | Text of the first/preview comment. |
latestComments | array | Preview comments with ownerUsername, text, likesCount, ownerProfilePicUrl. |
dimensionsHeight | number | Media height in pixels. |
dimensionsWidth | number | Media width in pixels. |
displayUrl | image | Main display image URL. |
images | array | Image URLs (carousel children or the single image). |
videoUrl | string | Video file URL (videos/reels). |
alt | string | Accessibility caption / alt text. |
likesCount | number | Like count. |
videoViewCount | number | Video view count. |
videoPlayCount | number | Video play count. |
timestamp | string | Publish time, ISO 8601 (e.g.,2021-08-29T12:00:00.000Z). |
childPosts | array | Carousel child posts (light post objects). |
ownerFullName | string | Post owner full name. |
ownerUsername | string | Post/comment owner username. |
ownerId | string | Post/comment owner id. |
ownerProfilePicUrl | image | Owner profile picture URL. |
productType | string | Instagram product type (feed, clips/reel, igtv, carousel_container). |
isSponsored | boolean | Whether the post is a paid partnership. |
taggedUsers | array | Users tagged in the media with username, full_name, id, is_verified, profile_pic_url. |
coauthorProducers | array | Co-author accounts credited on the post (collab posts). |
musicInfo | object | Audio / original sound info for reels/clips. |
audioUrl | string | Audio track URL for reels/clips (when exposed). |
videoDuration | number | Video duration in seconds. |
isPinned | boolean | Whether the post is pinned on the profile. |
isCommentsDisabled | boolean | Whether commenting is disabled on the post. |
locationName | string | Tagged location name. |
locationId | string | Tagged location id. |
username | string | Profile username (details). |
fullName | string | Profile full name. |
biography | string | Profile biography text. |
externalUrl | string | Primary external/bio link. |
externalUrls | array | All external/bio links. |
followersCount | number | Follower count. |
followsCount | number | Following count. |
hasChannel | boolean | Whether the profile has a broadcast channel. |
highlightReelCount | number | Number of story highlight reels. |
isBusinessAccount | boolean | Whether it is a business account. |
joinedRecently | boolean | Whether the account joined recently. |
businessCategoryName | string | Business category name. |
private | boolean | Whether the profile is private. |
verified | boolean | Whether the profile is verified. |
profilePicUrl | image | Profile picture URL. |
profilePicUrlHD | image | High-resolution profile picture URL. |
igtvVideoCount | number | Number of IGTV videos (when exposed). |
relatedProfiles | array | Related/suggested profiles. |
latestIgtvVideos | array | Latest IGTV videos (when exposed). |
postsCount | number | Number of posts (profile) / media count (hashtag/place). |
latestPosts | array | Latest posts (light post objects) for profile / hashtag / place. |
fbid | string | Facebook id linked to the profile (when exposed). |
postId | string | Parent post id (for a comment). |
text | string | Comment text. |
position | number | Comment position/order within the post. |
repliesCount | number | Number of replies to the comment. |
replies | array | Comment replies (when available). |
ownerIsVerified | boolean | Whether the comment owner is verified. |
name | string | Hashtag name / place name. |
topPosts | array | Top posts for a hashtag / place (light post objects). |
lat | number | Place latitude. |
lng | number | Place longitude. |
slug | string | Place slug. |
websiteUri | string | Place website. |
phone | string | Place phone number. |
addressStreetAddress | string | Place street address. |
addressZipCode | string | Place ZIP/postal code. |
addressCityName | string | Place city name. |
addressRegionName | string | Place region/state name. |
addressCountryCode | string | Place country code. |
queryTag | string | The hashtag this record was resolved from. |
querySearch | string | The search keyword this record was resolved from. |
sourceType | string | Internal source kind (profile/post/reel/comment/hashtag/place/mentions). |
degraded | boolean | True when a rotating/login-gated endpoint returned no data and the record was emitted as a placeholder. |
missingFields | array | Fields that could not be filled for this record. |
error | string | Error message when the record failed. |
error_code | string | Error status code when the record failed. |
warning | string | Non-fatal warning (e.g., an optional endpoint was gated). |
warning_code | string | Warning status code. |
success | boolean | True when the record was produced without a fatal error. |
Post record:
This tool can extract various publicly available Instagram data types including: posts, profile details, comments, reels, and mentions. Data covers post metadata (caption, hashtags, media URLs, engagement counts), profile information (bio, followers, verification status), comments (author, text, likes, replies), and hashtag/place metadata (top posts, coordinates, contact info).
CoreClaw supports 8 export formats to fit your workflow:
| Format | Best For | Description |
|---|---|---|
| JSON | Programming / API integration | Fully retains hierarchical structure |
| CSV | Spreadsheet analysis | Directly import into Excel, Google Sheets for quick sorting, filtering, and statistics |
| JSONL | Streaming / line-by-line processing | Each row as a separate JSON object, ideal for large datasets and streaming pipelines |
| XLS | Legacy Excel compatibility | Classic Excel 97-2003 format for older systems |
| XLSX | Modern Excel | Native Excel format with full formatting, formulas, and multiple sheets support |
| HTML Table | Web display / reports | Renders results as an HTML table for embedding in web pages or email reports |
| XML | Enterprise systems / legacy integration | Standard markup format for SOAP APIs and enterprise data exchange |
| RSS | Feed readers / monitoring | Structured feed format for tracking updates and integrating with RSS-based workflows |
Recommendation: Use JSON for data pipelines, CSV/XLSX for manual analysis, and JSONL for streaming large datasets.
Yes, the data obtained by this tool is 100% real-time and up-to-date. Each scraping request directly pulls the latest public data from Instagram servers. However, note that hashtag and place results are inherently non-deterministic — "top" and "recent" sections change between calls and across proxy regions.
No. This scraper works entirely through Instagram's public web endpoints and does not require login credentials. It only accesses publicly available data. Note that stories need a logged-in session and are not supported.
You can provide data in two ways:
/<username>/), Post (/p/<code>/), Reel (/reel/<code>/), Hashtag (/explore/tags/<tag>/), or Location (/explore/locations/<id>/)hashtag, profile, or place) — the system resolves the keyword to matching targets and scrapes each| Results Type | Input Required | What You Get |
|---|---|---|
posts | Profile, Hashtag, Location, or Search | A feed of posts/reels from the source |
details | Profile, Hashtag, or Location | Metadata about the source (bio, stats, etc.) |
comments | Post or Reel URL | Comments on that post (max 50) |
reels | Profile URL | Reels from that profile |
mentions | Profile URL | Posts where that profile is tagged |
Explore more popular scrapers from our marketplace
by CoreClaw
Extract public Instagram post data via URLs, including user info, engagement and profile details. One-click CSV/JSON export, batch scraping, no coding needed.
by CoreClaw
Extract public Instagram profile data by input URLs, including usernames, IDs, bios, locations, website URLs, follower counts, and comment counts. Supports data exporting, API integration, and synchronization with third-party tools.
by CoreClaw
Extract public Instagram profile data by input username, including usernames, IDs, bios, locations, website URLs, follower counts, and comment counts. Supports data exporting, API integration, and synchronization with third-party tools.
by mmi0cuhn
Instagram Reel Details Scraper supports batch scraping Reels: likes, comments, author info, followers, caption, hashtags. Proxy supported, structured JSON output for research & analysis.