All notable changes to this project are documented in this file.
The format follows the spirit of Keep a Changelog, and this project uses semantic versioning for Actor releases.
- Unified Apify Actor with selectable scrape modes:
profile, posts, reels, comments, and all.
- Developer-provided Instagram authentication through the
INSTAGRAM_COOKIES environment variable.
- Profile scraping with biography, follower counts, following counts, post counts, profile picture URL, verification status, business category, and external URL.
- Post and reel scraping with caption, hashtags, mentions, media URLs, structured media assets, owner metadata, timestamps, likes, comment counts, and available engagement metrics.
- Structured
media output containing asset type, url, width, height, optional duration, bandwidth, and carousel index.
- Millisecond publish time fields:
takenAtMs, publishedAtMs, and ISO publishedAt.
- Comment scraping with username, text, likes, replies, timestamp, pinned status, and verified status.
- Optional local output writer for JSON, JSONL, and CSV when running outside Apify.
- Root Apify Actor definition and input schema.
- User-facing Apify README and separate developer documentation.
- Docker build now forces a fresh TypeScript project build to avoid stale incremental artifacts.
- Instagram cookies are sent as request headers to avoid cross-domain cookie jar errors from Instagram response cookies.
- Cookie parsing normalizes Instagram cookies for shared
.instagram.com usage.
- Output field naming is standardized with
camelCase.
- Share, repost, save, view, and play metrics are returned only when Instagram exposes them in the authenticated endpoint response.
- Media CDN URLs may expire because Instagram signs many media URLs with time-limited parameters.
- The Actor is designed for owner-managed cookies and does not expose cookies in the public input schema.