Instagram Carousel Scraper โ Media Export
Pricing
from $1.00 / 1,000 results
Instagram Carousel Scraper โ Media Export
Extract every image and video from public Instagram carousels by URL. Get ordered slides, captions, engagement, authors, tags, locations, and media variants.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Extract every image and video from public Instagram carousel posts by URL. Instagram Carousel Scraper returns ordered carousel slides together with caption, engagement, author, location, tagged users, coauthors, sponsors, and post-level metadata.
Submit full Instagram post URLs and receive one structured dataset row per carousel. The Actor requires no Instagram login or cookies and records an explicit failed row for invalid, unavailable, or non-carousel inputs.
| At a glance | Details |
|---|---|
| ๐ฅ Input | Full Instagram carousel URLs such as https://www.instagram.com/p/SHORTCODE/ |
| ๐ค Output | Post metadata plus every carousel image and video in its original order |
| ๐ Login required | No |
| โก Processing | Up to 5 URLs concurrently, with automatic retries |
| ๐พ Delivery | Apify dataset for JSON, CSV, Excel, XML, API, and integrations |
What the Instagram carousel scraper extracts ๐ผ๏ธ
Instagram carousels can combine images and videos in one post. This Actor keeps the entire carousel together as one result while exposing a structured items array with slide position, media URLs, dimensions, counts, accessibility text, video duration, and tags.
Post-level output includes:
- Carousel ID, PK, shortcode, canonical URL, product type, and media type
- Caption text, caption ID, publication time, translation state, and edit state
- Like, comment, view, Facebook, and repost counts when public
- Author profile, location, coauthors, sponsors, and tagged users
- Cover image variants and dimensions
- Every carousel child in order, including image and video variants
- Visibility, commenting, paid-partnership, count-hiding, and resharing flags
How to scrape an Instagram carousel ๐
- Copy the full URL of a public Instagram carousel.
- Add one or more URLs to
inputList. - Start the Actor.
- Open the dataset and inspect the
itemsarray. - Export the row or send it to your storage and analytics tools.
{"inputList": ["https://www.instagram.com/p/DcVY5dZm_Pv/","https://www.instagram.com/p/ANOTHER_CODE/"]}
Bare shortcodes are not accepted. A Reel URL or a single-image post URL is not silently treated as a carousel; it is saved as failed.
Carousel data fields and complete output ๐ฆ
The main row contains the post. Repeating entities are represented as arrays so slide order and relationships remain intact.
| Field group | Included data |
|---|---|
| Identity | id, pk, code, url, type, product_type, media_type |
| Caption | Text, ID, timestamps, translation availability, edit status |
| Engagement | Likes, comments, views, Facebook counts, reposts |
| Media | Cover URL, variants, dimensions, item count, ordered items |
| Context | Author, location, tagged users, coauthors, sponsors |
| Flags | Comments disabled, counts hidden, partnership, resharing |
Complete representative success item:
{"input": "https://www.instagram.com/p/DcVY5dZm_Pv/","status": "success","cover_url": "https://instagram.example/carousel-cover.jpg","url": "https://www.instagram.com/p/DcVY5dZm_Pv/","id": "1234567890123456789_13460080","pk": "1234567890123456789","code": "DcVY5dZm_Pv","type": "carousel","product_type": "carousel_container","media_type": 8,"caption": "A carousel caption","caption_id": "987654321","caption_timestamp": 1754006400,"caption_published_at": "2025-08-01T00:00:00Z","caption_has_translation": false,"caption_is_edited": false,"published_at": "2025-08-01T00:00:00Z","timestamp": 1754006400,"like_count": 12500,"comment_count": 213,"view_count": null,"facebook_like_count": 0,"facebook_comment_count": 0,"repost_count": 18,"width": 1080,"height": 1350,"accessibility_caption": "Two athletes outdoors","comments_disabled": false,"commenting_disabled_for_viewer": false,"counts_hidden": false,"is_paid_partnership": false,"can_reshare": true,"author": {"profile_picture_url": "https://instagram.example/author.jpg","profile_picture_url_hd": "https://instagram.example/author-hd.jpg","username": "nike","name": "Nike","id": "13460080","pk": "13460080","profile_url": "https://www.instagram.com/nike/","is_verified": true,"is_private": false},"location": {"id": "1001","pk": "1001","name": "New York","short_name": "New York","address": "New York, NY","city": "New York","latitude": 40.7128,"longitude": -74.006},"cover_versions": [{"url": "https://instagram.example/carousel-cover-1080.jpg","width": 1080,"height": 1350}],"items_count": 2,"items": [{"position": 1,"id": "1234567890123456790_13460080","pk": "1234567890123456790","code": "DcVY5dZm_Pv","type": "image","media_type": 1,"image_url": "https://instagram.example/slide-1.jpg","video_url": null,"video_duration": null,"width": 1080,"height": 1350,"accessibility_caption": "First carousel image","image_versions": [{"url": "https://instagram.example/slide-1-1080.jpg","width": 1080,"height": 1350}],"video_versions": [],"product_type": "carousel_item","timestamp": 1754006400,"published_at": "2025-08-01T00:00:00Z","like_count": null,"tagged_users": [{"id": "2002","pk": "2002","username": "examplecreator","name": "Example Creator","profile_url": "https://www.instagram.com/examplecreator/","profile_picture_url": "https://instagram.example/tagged.jpg","is_verified": false,"position": [0.42, 0.61]}]},{"position": 2,"id": "1234567890123456791_13460080","pk": "1234567890123456791","code": "DcVY5dZm_Pv","type": "video","media_type": 2,"image_url": "https://instagram.example/slide-2-cover.jpg","video_url": "https://instagram.example/slide-2.mp4","video_duration": 8.4,"width": 1080,"height": 1350,"accessibility_caption": null,"image_versions": [{"url": "https://instagram.example/slide-2-cover-1080.jpg","width": 1080,"height": 1350}],"video_versions": [{"url": "https://instagram.example/slide-2-1080.mp4","width": 1080,"height": 1350,"type": 101}],"product_type": "carousel_item","timestamp": 1754006400,"published_at": "2025-08-01T00:00:00Z","like_count": null,"tagged_users": []}],"tagged_users": [],"coauthors": [{"id": "3003","pk": "3003","username": "partnerbrand","name": "Partner Brand","profile_url": "https://www.instagram.com/partnerbrand/","profile_picture_url": "https://instagram.example/coauthor.jpg","is_verified": true}],"sponsors": [{"id": "4004","pk": "4004","username": "sponsorbrand","name": "Sponsor Brand","profile_url": "https://www.instagram.com/sponsorbrand/","is_verified": true}]}
A failed row uses the same top-level schema. It keeps input, sets status to failed, and returns every other field as null. This ensures invalid links remain visible in exports without inventing partial carousel data.
Instagram CDN media URLs can expire. Download media you are authorized to retain instead of treating the returned URL as permanent storage.
Input requirements โ๏ธ
| Parameter | Type | Required | Rules |
|---|---|---|---|
inputList | array of strings | Yes | At least one full Instagram post URL pointing to a carousel |
The URL must use a supported Instagram post path and contain a valid shortcode. Invalid strings are saved as failed without a network request. Duplicate post URLs or shortcodes are deduplicated by the request queue.
Carousel scraping use cases ๐ฏ
Creative and campaign analysis
Keep every slide in order while comparing captions, formats, partnerships, tags, and engagement.
Media archiving
Collect authorized image and video URLs plus dimensions and accessibility captions for downstream storage.
Product and catalog research
Transform multi-image launches, lookbooks, tutorials, and product collections into structured records.
Brand and creator monitoring
Track coauthors, tagged profiles, sponsors, and visible engagement on selected public carousel posts.
AI and analytics pipelines
Send ordered media arrays and metadata to classification, moderation, computer-vision, or reporting workflows.
Pricing and result counting ๐ฐ
See the Actor's Pricing tab for the active charging model and rate. Store pricing may change, so this README does not promise a fixed amount.
Under dataset-item pricing, one submitted unique carousel produces one saved row:
- A parsed carousel saves one
successresult, regardless of its number of slides. - An invalid, unavailable, restricted, deleted, or non-carousel URL saves one
failedresult. - Automatic retries do not create separate rows.
This means a ten-slide carousel is still one dataset item containing ten ordered objects in items.
Instagram carousel API ๐
Replace $ACTOR_ID with the Actor ID from its API tab and $APIFY_TOKEN with your token.
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"inputList":["https://www.instagram.com/p/DcVY5dZm_Pv/"]}'
Connect runs to schedules, webhooks, Make, Zapier, Google Sheets, cloud storage, or custom applications. The default dataset provides machine-readable results after the run.
Reliability, retries, and failures โ ๏ธ
The Actor processes up to five URLs concurrently. Temporary timeouts, throttling, blocked redirects, selected HTTP errors, and transport failures are retried automatically up to the configured attempt limit. Permanent validation errors and confirmed non-carousel responses become failed rows.
One bad URL does not stop the rest of a batch. A whole Actor run can still fail when startup cannot complete, Apify storage is unavailable, or a result cannot be saved safely.
Public availability is controlled by Instagram. Private, deleted, age-restricted, login-gated, region-restricted, or recently changed posts may not be accessible. Instagram can also change response structures without notice.
Frequently asked questions โ
Does the Actor return every carousel slide?
It returns every item exposed in the public carousel response, preserving the source order in items.
Can I submit a Reel URL?
No. A Reel is intentionally rejected by this carousel-specific Actor. Use the Reel Details Actor instead.
Is each slide billed as a separate result?
Under dataset-item pricing, no. The carousel is one row and its slides are nested inside items.
Does it download the media files?
No. It returns public image and video URLs plus metadata. Downloading and storing those files is a separate action.
Why are some fields null?
Instagram does not expose every optional count, location, tag, or accessibility field for every post.
Can I export nested items to JSON?
Yes. JSON preserves the nested structure best. Tabular formats may serialize nested arrays or require later normalization.
Support, responsible use, and related actors ๐
For a reproducible issue, provide the support channel with the run ID, approximate time, and a safe public carousel URL. Never publish tokens or proxy credentials.
Use public content lawfully. Respect privacy, copyright, data-protection, contractual, and platform requirements, especially before storing or redistributing media.