Instagram Post & Reel Details Scraper
Pricing
from $1.40 / 1,000 results
Instagram Post & Reel Details Scraper
Opening Instagram posts one by one to copy stats is slow. Paste post, reel or carousel links and get likes, comments, views, caption, hashtags, audio, tagged users, media files, top comments and the owner's profile. No login or cookies needed.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Crawl Craft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🚀 What is Instagram Post & Reel Details Scraper?
Instagram Post & Reel Details Scraper is an Apify Actor and Instagram post details scraper. Paste post, reel or TV links, shortcodes or media ids and get likes, comments, views, caption, hashtags, audio, tagged users, media links, top comments and owner profile numbers for each one. No Instagram login or cookies are needed.
Copying stats from one post at a time is slow. Many people look for an Instagram post scraper to avoid exactly that, and a whole list of links goes into a single run here. Anyone who needs to scrape Instagram data for a set of posts gets one tidy row per post.
- 📈 Engagement in one row: likes, comments, views and
engagement_rate_pctmake Instagram engagement rate per post easy to compare. - 👤 Owner numbers included: followers, following, posts count, bio, links and contact emails can be added to every post.
- 🎵 Reel audio and media links: track title, artist, every video quality and every carousel slide.
- 🗂️ Separate tables: posts, owners, top comments, media files, tagged people and a status row per input.
- 🔁 Easy to repeat: run the same list again on a schedule and compare the rows over time.
People who search for an Instagram scraper no login usually want data without handing over an account. That is how this Actor works, and you can try it from the Apify Console.
📊 What data can you extract from Instagram posts and reels?
Each saved post becomes one row, so this Instagram post data extractor gives you a clean table that you can export as JSON, CSV or Excel from the dataset. Photos, carousels, reels, videos and TV posts are supported, and you can scrape Instagram posts in bulk by pasting many links.
| Field | Description | Example |
|---|---|---|
post_id | Numeric Instagram id of the post. | 3838220318074783538 |
shortcode | Short code in the post link. | DVEGQskiMcy |
post_url | Public link of the post. | https://www.instagram.com/p/DVEGQskiMcy/ |
post_type | photo, carousel, reel, video or tv. | photo |
caption | Full caption text. | Never been so proud of this team |
hashtags | Hashtags used in the caption, without #. | IndvSA |
mentions | Accounts mentioned in the caption. | icc |
like_count | Like count. Empty when the owner hides likes. | 163564 |
comment_count | Number of comments. | 1413 |
view_count | Video views for reels and videos. Empty for photos. | - |
posted_at | When the post was published (UTC, ISO 8601). | 2026-02-22T14:46:51Z |
age_days | Days between publishing and this run. | 241 |
audio_title, audio_artist, audio_id | Track or original sound of a reel. | - |
is_original_audio, has_audio | Whether the sound was made for the post and whether the video has audio. | - |
sponsored_signals | Ad-style hashtags found in the caption (ad, sponsored, collab ...). | - |
is_ai_labeled | True when the post carries an AI-generated label. | false |
video_duration, width, height | Video length in seconds and original size in pixels. | 1440 x 1920 |
location | Tagged place with id, name, latitude and longitude. | - |
tagged_users, coauthors | Accounts tagged in the media and collaboration partners. | - |
topics | Topic pills Instagram shows under the post. | india vs south africa |
accessibility_caption | Alt text generated for the media. | Photo by Taapsee Pannu on February 22, 2026. |
comments_restricted | True when comments are limited for visitors. | false |
owner_id, owner_username, owner_full_name | The account that published the post. | 181046327, taapsee, Taapsee Pannu |
owner_is_verified, owner_is_private | Blue-tick and private-account flags. | true, false |
owner_follower_count | Follower count of the owner. | 19665387 |
owner_following_count | Accounts the owner follows. | 333 |
owner_posts_count | Posts on the owner profile. Empty when Instagram rounds it. | 3180 |
engagement_rate_pct | Likes and comments of the post compared with the owner's followers, in percent. | 0.8389 |
owner_biography, owner_links, contact_emails | Bio text, bio links and emails found in the bio and caption. | - |
top_comments | Public top comments with user, text, likes and time. | - |
image_url, thumbnail_url, video_url | Largest image, cover image and best-quality video link. | - |
video_qualities, carousel_count, carousel_items | Every video quality, number of slides and each slide. | - |
data_notes | Why a field is empty (for example likes hidden by the owner). | - |
scraped_at, success | When the row was collected (UTC) and whether the post was read. | 2026-10-21T19:13:12Z, true |
Reels and videos add audio and duration, which suits anyone who wants an Instagram reel data scraper. Carousel posts keep every slide, so the Actor also works as an Instagram carousel scraper. Place, topics and posting time round out the Instagram post metadata scraper side, and image, thumbnail and video links give you Instagram media scraper output.
The owner fields (except the basic account name, id and flags) need includeOwnerProfile. top_comments needs maxComments above 0. The link fields need includeMediaUrls.
The Output tab also offers separate tables: Owner profiles, Top comments, Media files, Tagged & co-authors and Status per input.
💡 Use cases for Instagram post and reel data
- Influencer vetting: compare
like_count,comment_count,owner_follower_countandowner_is_verifiedacross a creator's posts before you book them. An Instagram post likes scraper is only useful with context, soengagement_rate_pctputs likes next to followers. - Competitor analysis: start Instagram competitor analysis by pasting rival post links and comparing
like_count,comment_count,view_count,posted_atandage_days. - Reel performance and audio: run an Instagram reel performance analysis with
view_count,video_durationandis_original_audio. Then see which Instagram reel audio sits under the strongest reels withaudio_titleandaudio_artist. - Hashtag and content research: Instagram hashtag analysis starts with
hashtags,mentionsandtopics. The same columns feed Instagram content research on captions that work. - Sponsored posts: find sponsored Instagram posts by filtering
sponsored_signals(ad-style hashtags in the caption),coauthorsandis_ai_labeled. - Brand monitoring: Instagram brand monitoring works from
tagged_users,mentionsandtop_commentson the posts you list. To monitor Instagram post comments over time, schedule the run and comparetop_commentsbetween datasets. - Outreach lists: build a sheet of influencer contact emails from
contact_emailsandowner_links, found in the owner's bio and the caption. - Media collection: collect Instagram media links from
image_url,video_url,video_qualitiesandcarousel_items. The links expire after a few days, so download soon.
Teams that want an Instagram post analytics scraper usually start with the Engagement view of the dataset. Anyone who needs an Instagram post stats scraper can use that same view.
🛠️ How to scrape Instagram post details
- Create an Apify account and open Instagram Post & Reel Details Scraper.
- Paste post, reel or TV links, shortcodes or media ids into Post & reel links (
urls). - Set
maxCommentsand switchincludeOwnerProfile,includeMediaUrlsandincludeFailedRowson or off. - Click Start.
- Watch the posts arrive in the Output tab while the run is going.
- Download the dataset as JSON, CSV or Excel.
How to get Instagram post details by link
Paste the link into urls and press Start. A link such as https://www.instagram.com/p/DVEGQskiMcy/ gives one row with the fields above, and you can ask for Instagram post details by link for hundreds of posts at once.
How to get Instagram reel details
Use a reel link in the same list. As an Instagram reel details scraper, the Actor adds view_count, audio_title, audio_artist and video_duration for reels when Instagram shows them. You can ask for Instagram reels details by link, shortcode or media id in the same list.
How to get Instagram post ID
Every row carries post_id and shortcode. If you paste a numeric media id, the row still returns the shortcode and the public post_url.
How to export Instagram post data
Open the run, go to the Storage tab and choose JSON, CSV or Excel. Each table, such as owners or top comments, can be exported the same way.
💰 How much does it cost to scrape Instagram posts?
Instagram Post & Reel Details Scraper uses pay-per-event pricing. Each saved post is one main_result event, shown as Results in the Console, and the price per 1,000 results depends on your Apify plan tier:
| Apify plan | Price per 1,000 results |
|---|---|
| Free | $2 |
| Bronze | $1.8 |
| Silver | $1.5 |
| Gold / Platinum / Diamond | $1.4 |
A run also has a small Actor Start event of $0.00005 per run start. For example, 1,000 saved posts cost $2 on the first tier. Inputs that fail are not charged, and the run stops cleanly when a spend limit you set is reached. See the Pricing tab for current rates.
⬇️ Input
The only required field is urls, which takes Instagram post, reel or TV links, shortcodes or numeric media ids. As an Instagram post data scraper the Actor needs nothing else to start.

See the Input tab for every option. Example input:
{"urls": ["https://www.instagram.com/p/DVEGQskiMcy/","https://www.instagram.com/reel/DdTHUlbohci/","DeL1cBcjbKb"],"maxComments": 5,"includeOwnerProfile": true,"includeMediaUrls": true,"includeFailedRows": true,"proxyConfiguration": {"useApifyProxy": false}}
| Field | Description |
|---|---|
urls (required) | Post, reel or TV links, shortcodes or numeric media ids. Bulk input is supported. |
maxComments | Top public comments to save per post. The form pre-fills 5, and 0 turns comments off. About 15 top comments are public without an account, so higher values are lowered to 15. |
includeOwnerProfile | Adds the owner's followers, following, posts count, bio, links, emails and engagement rate. |
includeMediaUrls | Adds image, video, every video quality and carousel slide links. |
includeFailedRows | Adds a row to the Status table for every input that could not be read, with the reason. |
proxyConfiguration | Optional. Leave it as it is for automatic handling. |
💡 Start with a few links to check the result, then paste the full list.
⬆️ Output
The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and doesn't show all the fields.

Export formats: JSON, CSV and Excel. Reel rows from this Instagram reel data extractor add audio and duration fields. Example output (field values taken from the dataset schema examples, shortened, not a captured run):
{"post_id": "3838220318074783538","shortcode": "DVEGQskiMcy","post_url": "https://www.instagram.com/p/DVEGQskiMcy/","post_type": "photo","caption": "Never been so proud of this team","hashtags": ["IndvSA"],"mentions": ["icc"],"like_count": 163564,"comment_count": 1413,"posted_at": "2026-02-22T14:46:51Z","age_days": 241,"sponsored_signals": [],"is_ai_labeled": false,"width": 1440,"height": 1920,"tagged_users": [],"coauthors": [],"topics": ["india vs south africa"],"accessibility_caption": "Photo by Taapsee Pannu on February 22, 2026.","comments_restricted": false,"owner_id": "181046327","owner_username": "taapsee","owner_full_name": "Taapsee Pannu","owner_is_verified": true,"owner_is_private": false,"owner_follower_count": 19665387,"owner_following_count": 333,"owner_posts_count": 3180,"engagement_rate_pct": 0.8389,"data_notes": [],"scraped_at": "2026-10-21T19:13:12Z","success": true}
⚠️ Limitations and error handling
- Only public posts are read. Private or deleted posts return a row in the Status table with the reason.
- About 15 top comments per post are public without an account, which is what
maxCommentscan return. view_countexists for reels, videos and TV posts only, andlike_countis empty when the owner hides likes.- Share, save and repost counts are not part of the output.
- Media links expire after a few days.
Anyone treating the Actor as an Instagram post information scraper should expect empty fields where Instagram shows visitors nothing. The data_notes field says why a value is missing, using these notes: owner_profile_unavailable, likes_hidden_by_owner, comments_restricted, like_count_unavailable, posted_at_unavailable, comments_unavailable and view_count_unavailable.
Error codes reference
With includeFailedRows on, every input that could not be read gets a row in the Status table with success set to false, an error code and a plain-language message.
| Code | Meaning | What to do |
|---|---|---|
invalid_input | The value is not a post, reel or TV link, shortcode or media id. | Check the value and try again. |
post_not_found_or_private | No public post was found for this code. | Check that the post is public and the link is right. |
layout_changed | No post data was found; the post may be deleted or private. | Try again later, and report it in the Issues tab if it repeats. |
rate_limited | Instagram did not return this post. | Try again later. |
network_error | Instagram could not be reached. | Try again later. |
server_error | Instagram could not serve this post right now. | Try again later. |
unexpected_error | Something unexpected went wrong. | Try again, and report it if it repeats. |
parse_error | The post could not be read. | Try again, and report it if it repeats. |
🔌 Integrating Instagram Post & Reel Details Scraper with other apps
Every run can be started from the Apify API, on a schedule, or from a webhook, and the results can flow into other apps. See the API tab for ready-made code in JavaScript, Python and the CLI.
- Schedules: use Apify schedules to run the same link list every day or week. The Actor has no built-in change tracking, so each run saves fresh rows, and
scraped_atandage_dayshelp you track Instagram post performance between runs. - Webhooks: send a webhook when a run finishes to trigger your own pipeline.
- Integrations: connect results to Google Sheets, Make, Zapier or Slack through Apify integrations. A spreadsheet is a handy home for Instagram post extractor output.
Use it as an Instagram post scraper API
Send the links as the urls input and read the dataset as JSON. That makes the Actor an Instagram post details API for your own app.
For reels, the same call works as an Instagram reel details API. Teams that want an Instagram post data API can call the Actor from code and read the tables of their choice.
🔗 Other social media scrapers by crawl_craft
| Actor | What it extracts | When to use it |
|---|---|---|
| Instagram Reels Scraper | Plays, likes, comments, captions, hashtags, music, MP4 video links and engagement rates from usernames, reel links or audio pages. | Use it when you start from accounts or audio pages instead of a list of post links. |
| Instagram Reels Search & Trend Discovery | Public reels found by keyword, with plays, likes, comments, hashtags, audio, location, creator stats and trend metrics. | Use it when you do not have links yet and want to discover reels by keyword. |
| TikTok Video Scraper | Captions, hashtags, views, likes, comments, shares, author and music data from TikTok video URLs. | Use it when the same research is for TikTok. |
⚖️ Is it legal to scrape Instagram?
Instagram Post & Reel Details Scraper only extracts data that Instagram shows publicly to visitors and does not read private accounts. Results can still contain personal data, such as names, bios and emails found in public bios, so collect it only with a legitimate reason and consider the GDPR (Regulation (EU) 2016/679) and Instagram's terms. If you are unsure, consult a lawyer. Apify explains more in its posts on the legality of web scraping and ethical web scraping.
❓ FAQ
Do I need an Instagram account or cookies?
No. The Actor reads public data that any visitor can see. You only paste links, which is what people mean when they search for an Instagram post scraper no cookies.
Can I scrape Instagram comments?
Partly. You get the public top comments, about 15 per post, with username, text, like_count, reply_count and posted_at. Set maxComments to 0 to leave them out.
Can I scrape Instagram reels?
Yes. Reel links, shortcodes and media ids work like any post, and reel rows add audio and duration.
Is there a separate Instagram reel scraper?
This Actor reads the reels you list. For whole accounts or audio pages, see Instagram Reels Scraper in the table above.
Is this an Instagram post crawler that follows profiles?
No. The Actor reads only the posts you list. It does not crawl profiles, hashtags or searches.
Can I use it as an Instagram post scraper online?
Yes. Open it in the Apify Console in your browser, paste the links and press Start, or call it through the API.
Why is view_count empty on a photo?
Views exist only for reels, videos and TV posts. Photos and carousels leave view_count empty.
What happens if one link fails?
The other posts are still saved. The failed input gets a row in the Status table with a reason when includeFailedRows is on.
Do I need to set a proxy?
No. proxyConfiguration is optional, and you can leave it as it is.
💬 Your feedback
Found a bug or missing a field? Open the Issues tab on the Actor page and include the link that failed. For custom solutions, write to hello.crawlcraft@gmail.com.