Instagram Post & Reel Content Scraper avatar

Instagram Post & Reel Content Scraper

Pricing

$1.35 / 1,000 post or reels

Go to Apify Store
Instagram Post & Reel Content Scraper

Instagram Post & Reel Content Scraper

Collect public posts and reels from Instagram profile handles or URLs. Choose posts, reels, or both, then get captions, engagement counts, media links, creator details, and optional reel transcripts when available.

Pricing

$1.35 / 1,000 post or reels

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

📸 Instagram Post Content Scraper for Public Profile Feeds

For social media researchers, marketers, and developers, this Actor collects public Instagram posts and reels from profile handles or URLs. Get stable public content IDs and canonical URLs, captions, engagement counts, media links, creator details, profile stats, audio, branded-content flags, and optional reel transcripts in one dataset. The Actor does not ask for an Instagram login.

📦 Instagram Rows from Profile Feeds

Each dataset row represents one public post or reel found in a submitted profile feed. It includes the stable public ID, canonical Instagram URL, media references, and fields that Instagram provides. Carousel rows keep their public media entries in source order. A field may be absent when the source does not provide it.

▶️ Collect Public Instagram Posts and Reels

Run steps

  1. Add one or more public Instagram handles or profile URLs.
  2. Choose posts, reels, or both.
  3. Choose whether to keep only items attributed to each queried profile or include public collab and coauthored items from its feed.
  4. Set a per-profile limit, or leave it empty to return all available results until the source is exhausted.
  5. Turn on reel transcripts if you want generated transcripts for eligible reels shorter than two minutes when available, then start the run.

The same content, author, transcript, and limit choices apply to every submitted profile. Private profiles, non-profile URLs, login-gated content, Stories, live Stories, Highlights, and direct single-post or single-reel URL lookups are outside this Actor's scope.

Duplicate handling

When the same public item appears again through another submitted profile or alias, the Actor keeps the first eligible occurrence and ignores later matches. The saved row reflects the first match.

⚙️ Input

Input fields

FieldTypeWhat it does
profileReferencesarray of stringsRequired. Enter at least one public Instagram profile handle or URL. Private profiles and non-profile URLs are not collected.
contentScopestringChoose posts, reels, or postsAndReels. If you leave it out, the Actor collects posts and reels.
authorScopestringChoose profileOnly or profileAndCollaborators. The first keeps items attributed to the queried profile. The second also keeps public collab and coauthored items from that profile feed. If you leave it out, only the queried profile's items are kept.
maxItemsPerProfileintegerSets the maximum number of selected posts or reels per profile. Use 1 or more. Leave it empty to return all available results until the source is exhausted.
includeReelTranscriptsbooleanTurn it on to generate transcripts for reels shorter than two minutes when available. Reels at two minutes or longer do not get a transcript. It applies only when reels are collected and may make the run take longer. If omitted, it stays off.

Example input

{
"profileReferences": [
"instagram"
],
"contentScope": "postsAndReels",
"authorScope": "profileOnly",
"maxItemsPerProfile": 20,
"includeReelTranscripts": false
}

🧾 Output

Dataset link

FieldTypeWhat it does
datasetUrlURL stringOpens the collected Instagram posts and reels in the dataset overview.

Post and reel rows

All content rows use the same object shape. The top-level mediaType can be photo, video, reel, or carousel. A carousel uses the same fields with one media object for each publicly exposed member. Optional fields appear only when the public source provides them.

FieldTypeWhat it does
idstringRequired stable public content ID.
urlURL stringRequired canonical Instagram URL.
mediaTypestringRequired content type: photo, video, reel, or carousel.
publishedAtISO date-time stringPublication time when available.
captionstringPublic caption when available.
engagementobjectPublic engagement values when available.
engagement.likesintegerPublic likes when available.
engagement.commentsintegerPublic comments when available.
engagement.viewsintegerPublic views when available.
engagement.playsintegerPublic plays when available.
mediaarray of objectsRequired media entries for the content. Carousel entries stay in source order.
media[].mediaTypestringRequired media type: photo or video.
media[].urlURL stringPublic media URL when available.
media[].thumbnailUrlURL stringPublic thumbnail URL when available.
media[].widthintegerMedia width in pixels when available.
media[].heightintegerMedia height in pixels when available.
media[].durationSecondsnumberVideo duration in seconds when available.
creatorobjectRequired creator details for the content.
creator.usernamestringRequired creator username.
creator.displayNamestringCreator display name when available.
creator.isVerifiedbooleanWhether the creator is publicly marked as verified when available.
creator.biographystringPublic profile biography when available.
creator.followersintegerPublic follower count when available.
creator.followingintegerPublic following count when available.
creator.postCountintegerPublic profile post count when available.
creator.profileImageUrlURL stringPublic profile image URL when available.
isBrandedContentbooleanPublic branded-content flag when available.
audioobjectPublic audio details when available.
audio.titlestringAudio title when available.
audio.artiststringAudio artist when available.
audio.isOriginalbooleanWhether the audio is marked as original when available.
transcriptstringGenerated reel transcript when requested and available.

Genuine reel row

This complete row shows a reel with media, engagement, audio, creator details, and a transcript.

{
"id": "3976187338433532695",
"url": "https://www.instagram.com/reel/DcuQVFLvJMX/",
"mediaType": "reel",
"media": [
{
"mediaType": "video",
"url": "https://scontent-lga3-1.cdninstagram.com/o1/v/t2/f2/m86/AQPPKJTFrofKZs-C3bBUPzY8zCeR7Ms7roXFNtq2Mi8-JYAPd_iHPEOn4T5ieckPmlwdfQceK6GztcjjLggM4W4I6OPLT4Ply5VrSlg.mp4?_nc_cat=109&_nc_sid=5e9851&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_ohc=hfRQSCSXusEQ7kNvwFZloFQ&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuMTI3Ni5kYXNoX2Jhc2VsaW5lXzFfdjEiLCJ4cHZfYXNzZXRfaWQiOjE4MDUwNzcyOTA4NDAwOTgsImFzc2V0X2FnZV9kYXlzIjoyLCJ2aV91c2VjYXNlX2lkIjoxMDA5OSwiZHVyYXRpb25fcyI6NjMsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=639f595bf3532698&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9DNzRFNzQzRDYwQkFBMkYxNjQ1OENFOEQ2NEM0MzNCRV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyL0IxNDJEMTE5OUY0NUYxQUEyM0FFMUY2OUFBODBDREE2X2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbEwLPrqe20BhUCKAJDMywXQE-1P3ztkWgYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HZeadAQA&_nc_gid=hnyFq5JaQr7Ls98uMjNG4Q&_nc_ss=7a3ba&_nc_zt=28&oh=00_AQKCrGqjf7p7IY9UP5jOV4lvlTp0tlw_fH54Vutmc70T9A&oe=6A9AD422",
"thumbnailUrl": "https://scontent-lga3-3.cdninstagram.com/v/t51.82787-15/789979116_18643245517049152_4750106048129770540_n.jpg?stp=c157.0.405.405a_dst-jpg_e15_tt6&_nc_ht=scontent-lga3-3.cdninstagram.com&_nc_cat=104&_nc_oc=Q6cZ2gHx4nq0xpsN5Mg63c-IHRvZ2ksaAy7GG9GApF-Hq271dbM3yI4q-D-eluoQtl0seeE&_nc_ohc=e1YrluBj_NQQ7kNvwFl_ziM&_nc_gid=hnyFq5JaQr7Ls98uMjNG4Q&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQJNf9CBBHpPyNKEB6QnXqgutjXjsNvpEyPW7AYyPSMeJA&oe=6A9EC685&_nc_sid=8b3546",
"width": 750,
"height": 421
}
],
"creator": {
"username": "nasa",
"displayName": "NASA",
"isVerified": true,
"biography": "Making the seemingly impossible, possible. ✨",
"followers": 104410670,
"following": 91,
"postCount": 4909,
"profileImageUrl": "https://scontent-lga3-1.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHx4nq0xpsN5Mg63c-IHRvZ2ksaAy7GG9GApF-Hq271dbM3yI4q-D-eluoQtl0seeE&_nc_ohc=Cnnkj7Gsyh0Q7kNvwG_WaWe&_nc_gid=hnyFq5JaQr7Ls98uMjNG4Q&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQIN4BuLLXSfGaKmABRMufUloWJa_OcWomn2khEMazrjIA&oe=6A9EA729&_nc_sid=8b3546"
},
"publishedAt": "2026-08-31T23:23:27.000Z",
"caption": "Roman is on her way, and the Golden Age of Exploration is just the beginning.",
"engagement": {
"likes": 170596,
"comments": 893,
"views": 704564,
"plays": 4179893
},
"isBrandedContent": false,
"audio": {
"title": "Original audio",
"artist": "nasa",
"isOriginal": true
},
"transcript": "Massage is launched Nancy Grace Roman, the most powerful telescope the world has ever known, and when she opens her eyes, nearly a million miles from Earth, in that first light, she will see more of the universe than anything we have ever put into space before. She will help us understand the mysterious dark matter that holds galaxies together, dark energy that is accelerating the expansion of the universe, and discover more than 100,000 new worlds hidden behind The web, and couple Roman will capture images that will captivate the world and inspire the next generation to go even further. America is taking on the near impossible missions, only NASA is capable of achieving. The golden age of discovery has only just begun. [MUSIC PLAYING]"
}

Genuine carousel row

This complete row shows a carousel with four public media entries kept in source order.

{
"id": "3972282388667522428",
"url": "https://www.instagram.com/p/DcgYclUEV18/",
"mediaType": "carousel",
"media": [
{
"mediaType": "photo",
"url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/787044904_18786834754001321_3898611995126823522_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=QQU7lHtDDAoQ7kNvwFxsj8T&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk3MjI4MDA4OTMyNjk1MDQ3NQ%3D%3D.3-ccb7-5&oh=00_AQI0icV2aWjoXIUCr9qfZT5oGRDlsu8_5d4dqhL3sPmMeg&oe=6A9EA290&_nc_sid=8b3546",
"thumbnailUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/787044904_18786834754001321_3898611995126823522_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=QQU7lHtDDAoQ7kNvwFxsj8T&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk3MjI4MDA4OTMyNjk1MDQ3NQ%3D%3D.3-ccb7-5&oh=00_AQI0icV2aWjoXIUCr9qfZT5oGRDlsu8_5d4dqhL3sPmMeg&oe=6A9EA290&_nc_sid=8b3546",
"width": 1080,
"height": 1350
},
{
"mediaType": "photo",
"url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/786993048_18786834745001321_1238346926602814146_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=o6uaEyMrrZgQ7kNvwF7b4_p&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk3MjI4MDA5MTA3MTkzNDc2NQ%3D%3D.3-ccb7-5&oh=00_AQIeICz2isTro8s1TIU4YlPTdhp5B-svfq8bOgaEbBAYSg&oe=6A9EA91E&_nc_sid=8b3546",
"thumbnailUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/786993048_18786834745001321_1238346926602814146_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=o6uaEyMrrZgQ7kNvwF7b4_p&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk3MjI4MDA5MTA3MTkzNDc2NQ%3D%3D.3-ccb7-5&oh=00_AQIeICz2isTro8s1TIU4YlPTdhp5B-svfq8bOgaEbBAYSg&oe=6A9EA91E&_nc_sid=8b3546",
"width": 1080,
"height": 1350
},
{
"mediaType": "photo",
"url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/786027442_18786834775001321_4758464535627062752_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=kALBm0hHAIcQ7kNvwFtjn1Q&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQLKnHdv2EEsogUNXYlxvEfDdy2mE_4bJaz-9CmPVNSJmw&oe=6A9EAA64&_nc_sid=8b3546",
"thumbnailUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/786027442_18786834775001321_4758464535627062752_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=kALBm0hHAIcQ7kNvwFtjn1Q&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQLKnHdv2EEsogUNXYlxvEfDdy2mE_4bJaz-9CmPVNSJmw&oe=6A9EAA64&_nc_sid=8b3546",
"width": 1080,
"height": 1350
},
{
"mediaType": "photo",
"url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/786213186_18786834763001321_5758941793582388839_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=rmDn3OHahNQQ7kNvwFHqKVk&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk3MjI4MDA5MTQ2NjExMTA3Mg%3D%3D.3-ccb7-5&oh=00_AQKorEbMqStvVlGD7mmiDyQTiktxhYdYX6TiuDf1jPFwFw&oe=6A9EAA64&_nc_sid=8b3546",
"thumbnailUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/786213186_18786834763001321_5758941793582388839_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=rmDn3OHahNQQ7kNvwFHqKVk&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk3MjI4MDA5MTQ2NjExMTA3Mg%3D%3D.3-ccb7-5&oh=00_AQKorEbMqStvVlGD7mmiDyQTiktxhYdYX6TiuDf1jPFwFw&oe=6A9EAA64&_nc_sid=8b3546",
"width": 1080,
"height": 1350
}
],
"creator": {
"username": "instagram",
"displayName": "Instagram",
"isVerified": true,
"biography": "Discover what's new on Instagram 🔎✨",
"followers": 686377667,
"following": 285,
"postCount": 8575,
"profileImageUrl": "https://scontent-ord5-1.cdninstagram.com/v/t51.82787-19/550891366_18667771684001321_1383210656577177067_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHM3S1-3SKZMP0FYM68KGDJ3O3G76DE4EDS6uREqEEfr_-4gXm8vU1-obdT4gqMSuY&_nc_ohc=fW_MvLAEPu4Q7kNvwHGMIrs&_nc_gid=5ArEoLeGaRNaeNcaRz9SzQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQLUSr81bdgYz7KJNKcSPOh3PclvS2gFgmyAQ8YHESba5Q&oe=6A9EB1E7&_nc_sid=8b3546"
},
"publishedAt": "2026-08-26T14:03:03.000Z",
"caption": "Meta and 52 state attorneys general agree on a new path forward to empower parents and support teens. But to be truly effective, we need TikTok and YouTube to join us.",
"engagement": {
"likes": 23249,
"comments": 1330
},
"isBrandedContent": false
}

💳 Pricing

This Actor uses pay-per-event pricing. One event covers each successfully collected public permanent-feed post or reel saved to the dataset. The price shown before a run is the price for that event.

🔌 Integrations

Use the saved dataset in Apify or read its rows with the Apify API. You can use the data in your own review or workflow.

❓ FAQ

The row keeps the carousel's public media entries in source order. Each entry can include its own type, URL, thumbnail, size, and duration when available.

Can I collect posts and reels in the same run?

Yes. Set contentScope to postsAndReels to collect both from each submitted profile.

Are transcripts returned for every reel?

No. Turn on includeReelTranscripts to request transcripts for eligible reels shorter than two minutes when available. Reels at two minutes or longer do not get a transcript.

What does author scope change?

profileOnly keeps items attributed to the queried profile. profileAndCollaborators also keeps public collab and coauthored items found in that profile feed.

What happens when the same post appears more than once?

The Actor saves the first eligible occurrence and ignores later matches for the same public item. The saved row reflects that first match.

What happens if I leave the per-profile limit empty?

The Actor returns all available results until the source is exhausted. A number sets the maximum selected posts or reels for each profile.

Can I use a private profile or collect Stories?

No. Inputs must point to public profiles. The Actor collects permanent-feed posts and reels, not Stories, live Stories, or Highlights.

Does the Actor download media files?

No. It returns public media URLs and thumbnails when available. It does not download or store the media files.

Can I look up one post or reel by URL?

No. This Actor collects content from submitted profile handles and public profile URLs, not a single post or reel URL.

Why is a field missing?

The row omits a field when the public source does not provide it. The Actor does not fill in missing values.

📝 Changelog

v0.0 (03-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré