Skip to content

ercedes-owe/instagram-reels-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Instagram Reels Scraper

A high-performance tool for collecting Instagram Reels, profile statistics, and post insights at scale. Designed for reliability and speed, this scraper helps you turn public Instagram data into structured, ready-to-use datasets. Perfect for analysts, marketers, data engineers, or anyone needing efficient Instagram data extraction.

Bitbash Banner

Telegram   WhatsApp   Gmail   Website

Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Instagram Reels Scraper you've just found your team — Let's Chat. 👆👆

Introduction

This project automates the extraction of Instagram Reels, profile information, and posts. It solves the challenge of collecting large amounts of structured Instagram data without manual browsing or unreliable methods. It is ideal for researchers, agencies, growth teams, and developers building analytics tools or datasets.

Why This Scraper Stands Out

  • Built for high-volume and bulk operations.
  • Extracts detailed metadata from profiles, reels, and posts.
  • Supports custom logic for filtering or stopping conditions.
  • Handles thousands of URLs and usernames in a single run.
  • Optimized for low memory usage and stable long-running sessions.

Features

Feature Description
Profile scraping Collect followers, bios, links, and engagement stats.
Reels extraction Get captions, video URLs, music metadata, comments, and play counts.
Post scraping Retrieve full post metadata using URLs or codes.
Custom functions Add logic to skip items or stop crawling dynamically.
Bulk mode Optimized for scraping many profiles efficiently.
Raw data option Include full raw response data if needed.

What Data This Scraper Extracts

Field Name Field Description
kind Identifies whether the item is a profile, post, or reel.
id Unique ID of the profile or post.
username Profile username for identification.
full_name Display name of the profile.
followers Total follower count.
following Number of profiles followed.
biography Bio text of the Instagram profile.
caption Text caption for posts or reels.
play_count Number of reel plays.
like_count Total likes received.
comment_count Number of comments.
thumbnail_url URL of thumbnail image.
video_versions Array of video URLs with metadata.
taken_at Timestamp of when the post/reel was uploaded.
raw_data Complete raw response object.

Example Output

[
  {
    "kind": "profile",
    "input": "zuck",
    "id": "314216",
    "is_private": false,
    "username": "zuck",
    "full_name": "Mark Zuckerberg",
    "biography": "",
    "bio_links": [],
    "followers": 15534658,
    "following": 610,
    "profile_pic": "https://scontent-lga3-1.cdninstagram.com/...",
    "raw_data": {}
  },
  {
    "kind": "post",
    "id": "3548364142010150900_314216",
    "code": "DE-UmMaP6_0",
    "post_type": "clips",
    "owner_id": "314216",
    "taken_at": 1737218208,
    "caption": "Send it",
    "play_count": 4456434,
    "comment_count": 7776,
    "like_count": 134906,
    "thumbnail_url": "https://instagram.fagc3-2.fna.fbcdn.net/...",
    "duration": 19.945,
    "video_versions": [
      {
        "height": 852,
        "type": 101,
        "url": "https://scontent-iad3-1.cdninstagram.com/...",
        "width": 480
      }
    ],
    "raw_data": {}
  }
]

Directory Structure Tree

Instagram Reels Scraper/
├── src/
│   ├── runner.js
│   ├── extractors/
│   │   ├── profile_parser.js
│   │   ├── reels_parser.js
│   │   └── posts_parser.js
│   ├── utils/
│   │   ├── request.js
│   │   └── validation.js
│   └── config/
│       └── settings.example.json
├── data/
│   ├── inputs.sample.json
│   └── sample-output.json
├── package.json
└── README.md

Use Cases

  • Marketing teams extract influencer statistics to improve campaign targeting and ROI analysis.
  • Data analysts gather reel performance data to model engagement trends across niches.
  • Research teams study public profiles and content for behavioral or cultural insights.
  • Developers integrate Instagram post and reel data into dashboards or automation systems.
  • Agencies track competitor content performance to refine social media strategy.

FAQs

Does it work with private or restricted accounts? No — only public data is accessible. Private or age-restricted accounts cannot be scraped.

Can I choose how many reels to scrape per profile? Yes, you can define a reels_count value to control the target number.

Can I filter posts or stop scraping early? Absolutely. Custom functions let you skip posts or stop scanning when specific conditions are met.

Can data be exported to CSV or Excel? Yes. All output can be saved in formats like Excel, CSV, JSON, XML, or JSONL.


Performance Benchmarks and Results

Primary Metric: Handles 1,000+ profiles in batch mode with consistent scraping speed due to parallelized request handling.

Reliability Metric: Maintains a 97%+ success rate on public profiles, even with varied post types and reel formats.

Efficiency Metric: Operates smoothly within 256–512MB memory, making it cost-efficient for large jobs.

Quality Metric: Delivers over 98% complete data fields on average, including high-resolution video URLs and engagement metrics.

Book a Call Watch on YouTube

Review 1

"Bitbash is a top-tier automation partner, innovative, reliable, and dedicated to delivering real results every time."

Nathan Pennington
Marketer
★★★★★

Review 2

"Bitbash delivers outstanding quality, speed, and professionalism, truly a team you can rely on."

Eliza
SEO Affiliate Expert
★★★★★

Review 3

"Exceptional results, clear communication, and flawless delivery. Bitbash nailed it."

Syed
Digital Strategist
★★★★★

Releases

No releases published

Packages

 
 
 

Contributors