Skip to main content

🚀 Sponsored by CoreClaw

Looking for a production-ready Instagram scraping API?

CoreClaw provides APIs and open-source Workers for Instagram posts, profiles, comments, and more, helping developers collect structured data at scale.

🎁 Start freehttps://coreclaw.com

Instagram Posts Scraper

InstagramPostsScraper is a Python library for collect instagram users' data.

The data obtained by web crawlers is not real-time data, but rather data from a specific point in time on the same day.

I’d really appreciate your support! You can star ⭐ or fork this repository to help me keep sharing more interesting web scrapers.

Support Me

If you enjoy this project and would like to support me, please consider donating 🙌
Your support will help me continue developing this project and working on other exciting ideas!

💖 Ways to Support:

Thank you for your support!! 🎉

Requirements

beautifulsoup4==4.13.4
cloudscraper==1.2.71
lxml==6.1.1
pandas==2.2.3
pytz==2024.2
requests==2.32.3
selenium==4.33.0
seleniumbase==4.39.2

Installation

To install the latest release from PyPI:

pip install instagram-posts-scraper

Usage - Sample

from instagram_posts_scraper.instagram_posts_scraper import InstaPeriodScraper
from IPython.display import display

ig_posts_scraper = InstaPeriodScraper()
target_info = {"username": "stephencurry30", "days_limit": 30}
res = ig_posts_scraper.get_posts(target_info=target_info)
display(res)

Optional parameters

  • username: target instagram user
  • days_limit: Number of days within which to scrape posts..

Version

You can check the installed version and module documentation:

import instagram_posts_scraper

print(instagram_posts_scraper.__version__)  # e.g. 0.2.0
print(instagram_posts_scraper.__doc__)      # module documentation

Sample Output

The scraper returns a single consolidated dictionary containing the target's normalized profile, the account_status, the scraping timestamp (updated_at), a posts list of normalized posts, plus the raw init_posts (picnob first-page HTML posts) and top_posts (profile-scraper highlights) collections, which are preserved verbatim so no source data is lost.

Profile metadata is normalized: followers comes from the profile scraper's precise count, while following and the biography fallback come from picnob. Each entry in posts is normalized to a single, consistent engagement shape (like_count / comment_count as integers). init_posts and top_posts keep their original shapes untouched.

Below is an abbreviated example (long media URLs are truncated with ... for readability). For the complete, real output see examples/example_output.json.

{
  "profile": {
    "username": "stephencurry30",
    "userid": "324599988",
    "full_name": "Wardell Curry",
    "biography": "Believer. Husband. Father. Founder. Philanthropist. Olympic Gold Medalist. NYT Best Selling Author. Philippians 4:13.",
    "followers": 57049215,
    "following": 1296,
    "posts_count": 1556,
    "profile_picture": "https://cdn.iqsaved.com/..."
  },
  "account_status": "public",
  "updated_at": "2026-08-21 15:28:13.009746+08:00",
  "posts": [
    {
      "shortcode": "6772442523573164715722",
      "caption": "Played a lil G with my boy @stephencurry30 this week to kick off Father’s Day weekend! ...",
      "media_type": "igtv",
      "is_video": true,
      "timestamp": 1781966678,
      "like_count": 98397,
      "comment_count": 540,
      "thumbnail": "https://scontent-ord5-1.cdninstagram.com/...",
      "image_url": "https://scontent.cdninstagram.com/..."
    }
    // ... more posts
  ],
  "init_posts": [
    {
      "text": "Quality time looks a little different in our family ...",
      "likes": "101k",
      "comments": "425",
      "time": "7 days ago",
      "thumbnail": "https://sp1.pixnoy.com/..."
    }
    // ... picnob first-page posts, preserved verbatim (now includes the cover `thumbnail`)
  ],
  "top_posts": [
    {
      "timestamp": 1786636718,
      "caption": "Quality time looks a little different in our family 😂 ...",
      "comment_count": 425,
      "like_count": 100894,
      "shortcode": "Db_GagbB20Q"
    }
    // ... profile-scraper highlights, preserved verbatim
  ]
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

instagram_posts_scraper-0.3.0.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

instagram_posts_scraper-0.3.0-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file instagram_posts_scraper-0.3.0.tar.gz.

File metadata

  • Download URL: instagram_posts_scraper-0.3.0.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for instagram_posts_scraper-0.3.0.tar.gz
Algorithm Hash digest
SHA256 56c26bc2cb0e72ddfbccebe0b35f8b8457f8b2524487e6a3434b0f9a22fa1722
MD5 a341ddd22d29290a7da82d6081e0fffa
BLAKE2b-256 01dcb2b61ee36837ceaed391d6698757ed18d78253f111916ae690cdc15e2830

See more details on using hashes here.

File details

Details for the file instagram_posts_scraper-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for instagram_posts_scraper-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48e36127f54e521f7d7c8cc27a25ef4afd869458aba44eff9632ce72bf49bc89
MD5 b47788d72bf6cfdab7e6762cdfb8a645
BLAKE2b-256 9e1e045f6303301616c433dd54ae344402260051f5ddd9797e5fd11de7d154b7

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page