VOOZH about

URL: https://apify.com/queenlike_xystos/instagram-posts-reels-scraper---no-cookies

โ‡ฑ Instagram Posts/Reels Scraper - No Cookies ยท Apify


๐Ÿ‘ Instagram Posts/Reels Scraper - No Cookies avatar

Instagram Posts/Reels Scraper - No Cookies

Pricing

from $1.50 / 1,000 results

Go to Apify Store

Instagram Posts/Reels Scraper - No Cookies

The Instagram Posts & Reels Scraper extracts posts, reels, and carousel media from any public instagram profile โ€” no login or cookies required. Simply provide a username, select your scrape type, and receive clean, structured JSON data for every post or reel.

Pricing

from $1.50 / 1,000 results

Rating

5.0

(1)

Developer

๐Ÿ‘ Q_Alpha

Q_Alpha

Maintained by Community

Actor stats

6

Bookmarked

757

Total users

183

Monthly active users

25 days

Issues response

18 days ago

Last modified

Categories

Share

Instagram Posts & Reels Scraper

๐Ÿ“Œ Overview

The Instagram Posts & Reels Scraper extracts posts, reels, and carousel media from any public Instagram profile โ€” no login or cookies required. Simply provide a username, select your scrape type, and receive clean, structured JSON data for every post or reel.


๐Ÿš€ Features

  • No authentication required โ€” works with public profiles only โœ…
  • Flexible scraping โ€” extract posts (feed content) or reels (short-form videos)
  • Rich metadata โ€” captures captions, engagement metrics, location data, and more
  • Carousel support โ€” handles multi-image and multi-video posts
  • Pagination โ€” scrape hundreds or thousands of items
  • Resume capability โ€” use cursor to continue from where you left off (paid users)
  • Two output modes โ€” clean (essential fields) or extended (full details)
  • Free tier available โ€” try before you subscribe

๐Ÿ”ง How It Works

  1. Enter a public Instagram username
  2. Choose scrape type: posts (feed content) or reels (short videos)
  3. Set a max items limit (optional, default: 12)
  4. Select output mode: clean or extended (optional, default: clean)
  5. Optionally provide a cursor to resume a previous scrape
  6. The scraper fetches pages of results and returns structured JSON
  7. Paid users receive a final cursor record to resume in future runs

๐Ÿ“ฅ Input Parameters

ParameterTypeRequiredDefaultDescription
usernameStringโœ… Yesโ€”Public Instagram username to scrape (without the @ symbol)
scrape_typeStringโœ… YespostsEither "posts" (feed content) or "reels" (short-form videos)
max_itemsIntegerโŒ No12Maximum number of posts or reels to return (minimum: 12)
output_modeStringโŒ NocleanEither "clean" (essential fields) or "extended" (full metadata)
cursorStringโŒ Noโ€”Pagination cursor from a previous run to resume scraping from that point

Example Input

{
"username":"qoqsik1",
"scrape_type":"reels",
"max_items":50,
"output_mode":"clean"
}

๐Ÿ“ค Output Data Structure

Each item in the dataset represents one post or reel from the target profile.

๐Ÿ‘ค Common Fields (Both Clean & Extended)

FieldTypeDescription
idStringUnique Instagram media ID
shortcodeStringInstagram shortcode (used in post URLs)
urlStringDirect link to the post on Instagram
taken_atIntegerUnix timestamp of when the post was created
scraped_atStringISO 8601 timestamp of when the post was scraped
product_typeStringclips (reels), carousel_container (multi-image), or other
media_typeStringvideo (reel/video), carousel, or image
authorObjectProfile information of the post creator
captionStringPost caption/description text
hashtagsArrayList of hashtags in the caption
mentionsArrayList of @mentioned usernames in the caption
caption_is_editedBooleanWhether the caption has been edited since posting
carousel_media_countIntegerNumber of items in carousel (null if single post)
like_countIntegerTotal number of likes
comment_countIntegerTotal number of comments
play_countIntegerTotal video plays (for reels/videos)
ig_play_countIntegerInstagram platform plays
reshare_countIntegerNumber of times reshared
media_repost_countIntegerNumber of reposts
is_paid_partnershipBooleanWhether the post is a paid partnership/sponsored
can_viewer_reshareBooleanWhether viewers can reshare this post
locationObjectLocation metadata (if tagged)

๐Ÿ‘ค Author Object

FieldTypeDescription
idStringInstagram user ID of the post creator
usernameStringUsername of the post creator
full_nameStringDisplay name of the post creator
is_verifiedBooleanWhether the account is Instagram verified
is_privateBooleanWhether the account is private
follower_countIntegerNumber of followers at scrape time
account_typeStringAccount type: personal, business, or creator

๐ŸŽฌ Audio Object (Extended Mode)

FieldTypeDescription
titleStringAudio track title (if applicable)
artistArrayArtist name(s)
typeStringoriginal_sounds or music library
is_explicitBooleanWhether audio contains explicit content
original_audio_titleStringTitle of original audio track
is_trendingBooleanWhether the audio is trending

๐Ÿ“ Location Object

FieldTypeDescription
nameStringLocation name
short_nameStringAbbreviated location name
addressStringFull address (if available)
cityStringCity name
latFloatLatitude coordinate
lngFloatLongitude coordinate
external_sourceStringSource (typically facebook_places)
has_viewer_savedBooleanWhether viewer has saved this location

๐Ÿ“ฆ Example Output Item (Clean Mode)

{
"id":"3857585607866680160",
"shortcode":"DWI5awHjYNg",
"url":"https://www.instagram.com/reel/DWI5awHjYNg/",
"taken_at":1774080143,
"scraped_at":"2026-04-11T18:08:40.784130+00:00",
"product_type":"clips",
"media_type":"video",
"author":{
"id":"56114511320",
"username":"qoqsik1",
"full_name":"Oksana S",
"is_verified":true,
"is_private":false,
"follower_count":2759534,
"account_type":"business"
},
"caption":"Language barrier is super funny sometimes ๐Ÿ˜น",
"hashtags":[],
"mentions":[],
"caption_is_edited":false,
"carousel_media_count":null,
"like_count":265642,
"comment_count":1037,
"play_count":9279118,
"ig_play_count":9279118,
"reshare_count":20970,
"media_repost_count":2576,
"is_paid_partnership":false,
"can_viewer_reshare":true,
"location":{
"name":"Warsaw, Poland",
"short_name":"Warsaw",
"lat":52.25,
"lng":21,
"address":"",
"city":"",
"external_source":"facebook_places",
"has_viewer_saved":false
}
}

๐Ÿ“ฆ Example Output Item (Extended Mode)

{
"id":"3857585607866680160",
"shortcode":"DWI5awHjYNg",
"url":"https://www.instagram.com/reel/DWI5awHjYNg/",
"taken_at":1774080143,
"scraped_at":"2026-04-11T18:08:40.784130+00:00",
"product_type":"clips",
"media_type":"video",
"author":{
"id":"56114511320",
"username":"qoqsik1",
"full_name":"Oksana S",
"is_verified":true,
"is_private":false,
"follower_count":2759534,
"account_type":"business"
},
"caption":"Language barrier is super funny sometimes ๐Ÿ˜น",
"hashtags":[],
"mentions":[],
"caption_is_edited":false,
"carousel_media_count":null,
"like_count":265642,
"comment_count":1037,
"play_count":9279118,
"ig_play_count":9279118,
"fb_play_count":null,
"fb_comment_count":null,
"reshare_count":20970,
"media_repost_count":2576,
"like_and_view_counts_disabled":false,
"share_count_disabled":false,
"video_url":"https://scontent-lax3-1.cdninstagram.com/o1/v/t16/f2/m69/...",
"thumbnail_url":"https://scontent-lax7-1.cdninstagram.com/v/t51.82787-15/...",
"duration_seconds":15.23,
"original_width":720,
"original_height":1280,
"has_audio":true,
"audio":{
"title":null,
"artist":[],
"type":"original_sounds",
"is_explicit":false,
"original_audio_title":"Original audio",
"is_trending":null
},
"is_paid_partnership":false,
"commerciality_status":null,
"can_viewer_reshare":true,
"location":{
"name":"Warsaw, Poland",
"short_name":"Warsaw",
"address":"",
"city":"",
"external_source":"facebook_places",
"lat":52.25,
"lng":21,
"has_viewer_saved":false
},
"usertags":null,
"coauthor_producers":[]
}

๐Ÿ”– Final Cursor Record (paid users only)

The last record in the dataset contains pagination metadata:

{
"cursor":"QVFCNkNFMEF0U3dtbjkxRDhwNi1ibFlNWHE3bEVpaUI3YlVwdXZNb1Y5Ul9hZHM3aDdDVUdsSldkNHEybXhFa1U2SjZQdzFvVHJmeUxvSURJRnVUb3FYZA==",
"total_scraped":12
}

Use this cursor in a future run to resume from where you left off.


๐Ÿ” Resuming a Scrape

Paid users can resume an interrupted scrape by pasting the cursor from the final dataset record:

  1. Run the scraper and note the cursor value from the final record
  2. Start a new run with the same username and your target scrape_type
  3. Paste the cursor in the Resume Cursor field
  4. The scraper will continue from that exact point

Example: If you scraped 50 reels but want 200 total, run again with max_items: 200 and the cursor from your first run.


๐Ÿ’ณ Free vs Paid

FeatureFreePaid
Max items per run~12Up to max_items
Output modesCleanClean + Extended
Cursor returnedโŒโœ…
Resume supportโŒโœ…
Video URLs & metadataLimitedFull

Free users will see the message: ๐Ÿ”’ Upgrade your subscription to scrape more posts/reels.


โš™๏ธ Notes & Limitations

Scope

  • Only public profiles can be scraped โ€” private accounts cannot be accessed
  • Scrapes only publicly visible content โ€” no private stories or restricted posts

Performance

  • The Actor will retry failed requests up to 3 times automatically
  • max_items defaults to 12 if not provided; free tier is capped at ~12 items
  • Pagination is handled automatically โ€” set max_items higher to fetch more

Data Integrity

  • play_count reflects video views; may be null for image-only posts
  • location is null if not tagged on the post
  • carousel_media_count is null for single-image or single-video posts
  • Deleted or restricted posts may be skipped during scraping

Scrape Type Differences

Posts (posts)

  • Returns carousel posts (multi-image), static images, and regular videos from the feed
  • Includes all engagement metrics
  • Suitable for content analysis and archival

Reels (reels)

  • Returns short-form vertical videos (Instagram Reels)
  • Includes video duration, resolution, and audio metadata
  • Suitable for trend analysis and content strategy

๐Ÿง  Use Cases

  • Content auditing โ€” analyze historical posts and performance trends
  • Influencer profiling โ€” research creator content strategy and engagement patterns
  • Competitor analysis โ€” monitor competitor post frequency and messaging
  • Content research โ€” discover trending topics, hashtags, and formats
  • Data archival โ€” backup public Instagram content for reference
  • Audience insights โ€” understand content performance across different post types
  • Engagement benchmarking โ€” compare your posts against industry standards

๐Ÿ’ก SEO Keywords

  • Instagram Posts Scraper
  • Instagram Reels Extractor
  • Scrape Instagram Feed
  • Instagram Content Analyzer
  • Instagram Data Extraction API
  • No-Login Instagram Scraper
  • Instagram JSON Export
  • Reel Downloader
  • Instagram Analytics Tool

๐Ÿ” Data & Privacy

This scraper accesses only publicly available data โ€” content visible to any visitor on Instagram's website without authentication. The developer assumes no liability for misuse or violation of Instagram's Terms of Service.


โ“ FAQ

Q: Can I scrape private accounts?
A: No. This scraper only works with public profiles. Private account content is not accessible without following and explicit permission.

Q: How many items can I scrape?
A: Free users are limited to ~12 items per run. Paid users can set max_items to any value (performance may vary on very large datasets).

Q: What's the difference between "Clean" and "Extended" mode?
A: Clean mode returns essential fields (captions, likes, comments, author info). Extended mode includes video URLs, all resolutions, full audio metadata, and raw API fields for advanced integrations.

Q: Can I get video downloads?
A: Extended mode provides video_url fields that point directly to Instagram's CDN. These are public, temporary links. Use them programmatically to download, but respect copyright and Instagram's ToS.

Q: How do I resume a scrape?
A: Copy the cursor value from the final record of your previous run and paste it into the Resume Cursor field. This is a paid feature only.

Q: Why are some fields null?
A: Fields may be null if not applicable to that post type (e.g., play_count for image posts, location if not tagged, carousel_media_count for single media).

Q: What if Instagram rate-limits me?
A: The scraper retries automatically up to 3 times. Very large scrapes may need to be split into multiple runs with cursor-based resumption.


๐Ÿš€ Getting Started

  1. Enter username: Type a public Instagram username (e.g., qoqsik1)
  2. Choose scrape type: Select posts for feed content or reels for short videos
  3. Set max items: Enter your desired limit (default: 12)
  4. Pick output mode: Choose clean (recommended) or extended
  5. Run: Click start and wait for the dataset
  6. Export: Download as JSON, CSV, or integrate via API

๐Ÿ“ง Support & Feedback

For issues, feature requests, or feedback, contact support or use the feedback form. Your input helps improve the scraper!


๐Ÿš€ Start scraping Instagram posts and reels โ€” fast, clean, structured data without cookies!

You might also like

Instagram Reels Scraper

hpix/ig-reels-scraper

Scrape Instagram Reels, Profiles and Posts efficiently and reliably.

Instagram Posts Scraper

parseforge/instagram-posts-scraper

Extract Instagram posts, engagement metrics, and profile data from user profiles, individual posts, or Reels. Supports multiple input formats (usernames, profile URLs, post URLs) with date filtering. No login required. Perfect for social media analysis, competitor research, and content monitoring.

254

2.2

Instagram Hashtag Posts Scraper

breathtaking_anthem/instagram-hashtag-posts-scraper

Extract posts, reels, and media data from any public Instagram hashtag. Get engagement metrics, captions, trending audio, author profiles, and location data in clean JSON โ€” no cookies or login needed.

1.1K

5.0

Instagram Scraper

hpix/instagram-scraper

Scrape Instagram profiles, posts, and Reels at scale.

Fast Instagram Scraper API - Posts, Reels, Profiles & Hashtags

apidojo/instagram-scraper-api

Instagram Scraper API - extract posts, reels, profiles, hashtags, locations & audio FASTat 100-200 posts/sec. Transparent event-based pricing from $0.005/query + $0.0005/post, FREE posts per query, no login, proxies or API keys. Perfect for influencer analysis, brand & social media monitoring.

1.3K

5.0

Instagram Reels Scraper

pratikdani/instagram-reels-scraper

The Instagram Reels Scraper is a tool designed to extract detailed information from valid Instagram Reels. This actor automates the process of gathering data, making it easier for developers and data analysts to access and utilize Instagram Reels content for various applications.

693

2.1

Instagram Hashtag Posts - Most Recent by Hashtag 2026

instaprism/instagram-hashtag-posts

No login required. Scrape the most recent posts from any Instagram hashtag in real-time. Get post URLs, captions, engagement metrics, author IDs. Always returns chronologically newest posts first. Export JSON/CSV.

Instagram Reel Scraper

apify/instagram-reel-scraper

Scrape or download Instagram reels. Just add Instagram profile or reel URL, and get caption, timestamp, transcript, hashtags, mentions, tagged users, comments, likes, shares, views, duration, and downloaded video. Export scraped data, schedule via API, and integrate with other tools or AI workflows.

Instagram Hashtag Finder ยท No Login

data-slayer/instagram-hashtags-scraper-no-login-required

Type any keyword, get every related Instagram hashtag Instagram suggests โ€” with post counts, hashtag IDs, and followable status. Bulk input: research 50 topics in one run instead of searching manually. Build your hashtag strategy with real post-count data. No login. JSON/CSV/Excel.

Instagram Hashtag Analytics Scraper

parseforge/instagram-hashtag-analytics-scraper

Analyze Instagram hashtags at scale. Get total post counts, average likes, comments, views, top-performing posts with engagement data, related keywords, and top creators for any hashtag. Compare multiple hashtags side by side for content strategy and trend research. No login required.