Scrape Instagram Reels and their respective profile efficiently.
An efficient and straightforward Actor for scraping Instagram posts, profiles and Reels, designed with performance in mind.
This input will scrape zuck
's profile, 8 of the latest reels from his feed, and one post with the code DFNkPgRROOS
:
1{ 2 "tags": [ 3 "zuck" 4 ], 5 "target": "all", 6 "reels_count": 8, 7 "post_urls": [ 8 "https://www.instagram.com/p/DFNkPgRROOS" 9 ], 10 "include_raw_data": true, 11 "custom_functions": "{ shouldSkip: (data) => false, shouldContinue: (data) => true }" 12}
This is an advanced parameter which you can use to modify the crawler's behaviour. With custom functions, you can skip a post or profile based on its data, or stop crawling a profile's reels when a certain condition is met.
For example, you can skip posts if they don't have music metadata:
1{ 2 shouldSkip: (data) => data.kind == 'post' && !data.music_metadata 3}
Or stop crawling when it reaches the shortcode of a post:
1{ 2 shouldContinue: (data) => data.code != 'codeToStopCrawling' 3}
The data
argument is the same of an item on the final dataset (see Outputs).
1{ 2 "kind": "profile", 3 "input": "zuck", 4 "id": "314216", 5 "is_private": false, 6 "username": "zuck", 7 "full_name": "Mark Zuckerberg", 8 "biography": "", 9 "bio_links": [], 10 "followers": 15534658, 11 "following": 610, 12 "profile_pic": "https://scontent-lga3-1.cdninstagram.com/...", 13 "raw_data": {...} 14}
1{ 2 "kind": "post", 3 "id": "3548364142010150900_314216", 4 "code": "DE-UmMaP6_0", 5 "post_type": "clips", 6 "owner_id": "314216", 7 "taken_at": 1737218208, 8 "caption": "Send it", 9 "play_count": 4456434, 10 "comment_count": 7776, 11 "like_count": 134906, 12 "has_privately_liked": false, 13 "thumbnail_url": "https://instagram.fagc3-2.fna.fbcdn.net/...", 14 "duration": 19.945, 15 "video_versions": [ 16 { 17 "height": 852, 18 "type": 101, 19 "url": "https://scontent-iad3-1.cdninstagram.com/...", 20 "width": 480 21 }, 22 { 23 "height": 852, 24 "type": 103, 25 "url": "https://scontent-iad3-1.cdninstagram.com/...", 26 "width": 480 27 }, 28 { 29 "height": 852, 30 "type": 102, 31 "url": "https://scontent-iad3-1.cdninstagram.com/...", 32 "width": 480 33 } 34 ], 35 "raw_data": {...} 36}
1{ 2 "kind": "post", 3 "input": "DFNkPgRROOS", 4 "id": "3552655076181205906", 5 "code": "DFNkPgRROOS", 6 "post_type": "post", 7 "owner_id": "314216", 8 "taken_at": 1737730421, 9 "caption": "Grateful to train with you @marcelogarciajiujitsu. Good luck and have fun vs Imanari today!", 10 "like_count": 249896, 11 "comment_count": 4627, 12 "thumbnail_url": "https://scontent-lga3-2.cdninstagram.com/...", 13 "raw_data": {..} 14}
Do you have a feature suggestion? Create an issue and let me know!
include_raw_data
) to include or omit the raw data extracted from InstagramSure! Apify allows you to download the results as an Excel spreadsheet. You can also download in CSV, JSON, XML, HTML, JSONL and RSS.
Oh, what a shame! Please create an Issue so I can evaluate what happened.
Of course! You can use the Issues tab to suggest new features.
This Actor scrapes public data from Instagram pages. Features are susceptible to changes made by Meta.
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!