Support needed? Reach out! 📧

How to Scrape Instagram Reels And Short Videos

This tutorial shows how to use Instagram Reels And Short Videos API to scrape and crawl structured Instagram data in real-time.
Extract Instagram Reels metadata at scale and access view counts, play rates, audio tracks, and engagement data for any creator's Reels feed through our API.

Access Instagram Data in 3 Steps

Start crawling Instagram reels analytics data. Follow these steps to extract social media data in minutes.

1

Create Your Account

Go to our registration page and make an account. It's free, no credit card, and you get credits right away to play around with.

2

Verify Your Email Address

You'll get a verification email, click the link in it. Once that's done, you can grab your API token from the dashboard.

3

Make Your First API Call

Copy the code snippet below, swap in your API key, and run it. You'll get Instagram data back as JSON within a few seconds.

Code Sample

Here's a JavaScript example to get you going. Swap out the token and you're good, works the same way in any language that can make HTTP requests. Start collecting reels analytics data via our REST API!

javascript-logo JavaScript
Instagram User Reels
1 const root = 'https://ensembledata.com/apis'
2 const endpoint = '/instagram/user/reels'
3 const params = {
4   "user_id"18428658,
5   "depth"1,
6   "include_feed_video": true,
7   "oldest_timestamp"1666262030,
8   "start_cursor""",
9   "chunk_size"10,
10   "token""YOUR-TOKEN-HERE"
11 }
12  
13 const queryString = new URLSearchParams(params).toString();
14 const url = `${root}${endpoint}?${queryString}`;
15  
16 await fetch(url)
17   .then(response => response.json())
18   .then(data => console.log(data))
19   .catch(error => console.error(error));
20  

Parameters

user_id (integer) User ID. REQUIRED
depth (integer) Abstraction of the API pagination. Depth 1 returns X results, depth N returns N * X results. Note that the exact number of results per depth (X) may differ per endpoint. Please refer to the specific endpoint description for more information. REQUIRED
include_feed_video (boolean) If true, also includes videos posted in user feed.
oldest_timestamp (integer) This parameter is used as a stopping condition for fetching posts. If a post older than the provided `oldest_timestamp` is found, the system will stop fetching posts and return the results. For instance, if depth is 10, the system will aim to send 10 requests. However, if an `oldest_timestamp` is set, and we find a post which is older than the `oldest_timestamp`, the system will not send any more requests and return the results. Note: we do not filter out posts older than the provided `oldest_timestamp` before returning the results. Please do this filtering in your own integration if required.
start_cursor (string) Parameter to manually handle pagination. Each response contains a `nextCursor` which can be used to retrieve the next page of results by sending it as the next `start_cursor`. If the `nextCursor` is not present in the response, it means that there are no more results to retrieve.
chunk_size (integer) The number of reels to fetch per `depth`.
token (string) Private token assigned to each client to access the APIs. REQUIRED

Example Response

Explore the fields returned by this endpoint. Click a row to expand nested objects and arrays, hover a value to copy it, or use "Expand all" to see everything at once.

JSON
Instagram User Reels
dataobject2 fields
reelsarray1 item · schema from #0 1 item
mediaobject65 fields
taken_atnumber1668621756
pkstring"2972905277632172268"
idstring"2972905277632172268_18428658"
device_timestampnumber1668617942490659
media_typenumber2
codestring"ClB4ZlQJlDs"
client_cache_keystring"Mjk3MjkwNTI3NzYzMjE3MjI2OA==.2"
filter_typenumber0
is_unified_videobooleanfalse
should_request_adsbooleanfalse
original_media_has_visual_reply_mediabooleanfalse
caption_is_editedbooleanfalse
like_and_view_counts_disabledbooleanfalse
commerciality_statusstring"not_commercial"
is_paid_partnershipbooleanfalse
is_visual_reply_commenter_notice_enabledbooleantrue
clips_tab_pinned_user_idsarray0 items
empty
has_delayed_metadatabooleanfalse
locationobject11 fields
pkstring"726896"
short_namestring"Westfield Century City"
facebook_places_idstring"252452752472"
external_sourcestring"facebook_places"
namestring"Westfield Century City"
addressstring"10250 Santa Monica Blvd"
citystring"Los Angeles, CA"
has_viewer_savedbooleanfalse
lngnumber-118.41954693389
latnumber34.059178776186
is_eligible_for_guidesbooleantrue
latnumber34.059178776186
lngnumber-118.41954693389
comment_likes_enabledbooleanfalse
comment_threading_enabledbooleanfalse
max_num_visible_preview_commentsnumber2
has_more_commentsbooleantrue
preview_commentsarray0 items
empty
commentsarray0 items
empty
comment_countnumber631
can_view_more_preview_commentsbooleanfalse
hide_view_all_comment_entrypointbooleanfalse
photo_of_youbooleanfalse
usertagsobject1 field
inarray2 items · schema from #0 2 items
userobject8 fields
pkstring"345123148"
usernamestring"westfieldcenturycity"
full_namestring"Westfield Century City"
is_privatebooleanfalse
pk_idstring"345123148"
profile_pic_urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-19/290955777_69796…"
profile_pic_idstring"2872141240197664267_345123148"
is_verifiedbooleantrue
positionarray2 items · schema from #0 2 items
empty
start_time_in_video_in_secnullnull
duration_in_video_in_secnullnull
is_organic_product_tagging_eligiblebooleanfalse
can_see_insights_as_brandbooleanfalse
userobject14 fields
pkstring"18428658"
usernamestring"kimkardashian"
full_namestring"Kim Kardashian"
is_privatebooleanfalse
pk_idstring"18428658"
profile_pic_urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-19/314397231_63667…"
profile_pic_idstring"2966053774901680173_18428658"
is_verifiedbooleantrue
has_anonymous_profile_picturebooleanfalse
is_unpublishedbooleanfalse
has_highlight_reelsbooleanfalse
transparency_product_enabledbooleanfalse
account_badgesarray0 items
empty
fan_club_infoobject5 fields
fan_club_idnullnull
fan_club_namenullnull
is_fan_club_referral_eligiblenullnull
fan_consideration_page_revamp_eligiblitynullnull
is_fan_club_gifting_eligiblenullnull
can_viewer_resharebooleantrue
like_countnumber27467
has_likedbooleanfalse
image_versions2object3 fields
candidatesarray6 items · schema from #0 6 items
widthnumber720
heightnumber1280
urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-15/315886083_53956…"
additional_candidatesobject3 fields
igtv_first_frameobject3 fields
widthnumber640
heightnumber1136
urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-15/315897807_18004…"
first_frameobject3 fields
widthnumber640
heightnumber1136
urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-15/315897807_18004…"
smart_framenullnull
smart_thumbnail_enabledbooleanfalse
original_widthnumber720
original_heightnumber1280
captionobject16 fields
pkstring"17986060351636706"
user_idstring"18428658"
textstring"Come visit us, LA! Westfield Century City Level 1, Atrium Monday-Satu…"
typenumber1
created_atnumber1668621758
created_at_utcnumber1668621758
content_typestring"comment"
statusstring"Active"
bit_flagsnumber0
did_report_as_spambooleanfalse
share_enabledbooleanfalse
userobject8 fields
pkstring"18428658"
usernamestring"kimkardashian"
full_namestring"Kim Kardashian"
is_privatebooleanfalse
pk_idstring"18428658"
profile_pic_urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-19/314397231_63667…"
profile_pic_idstring"2966053774901680173_18428658"
is_verifiedbooleantrue
is_coveredbooleanfalse
is_ranked_commentbooleanfalse
media_idstring"2972905277632172268"
private_reply_statusnumber0
coauthor_producersarray1 item · schema from #0 1 item
pkstring"3831575769"
usernamestring"skkn"
full_namestring"SKKN BY KIM"
is_privatebooleanfalse
pk_idstring"3831575769"
profile_pic_urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-19/284948422_71223…"
profile_pic_idstring"2851203539985053949_3831575769"
is_verifiedbooleantrue
coauthor_producer_can_see_organic_insightsnullnull
comment_inform_treatmentobject4 fields
should_have_inform_treatmentbooleanfalse
textstring""
urlnullnull
action_typenullnull
sharing_friction_infoobject3 fields
should_have_sharing_frictionbooleanfalse
bloks_app_urlnullnull
sharing_friction_payloadnullnull
video_versionsarray3 items · schema from #0 3 items
typenumber101
widthnumber480
heightnumber853
urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t66.30100-16/121372397_5445…"
idstring"8724588920885378"
has_audiobooleantrue
video_durationnumber23.685
view_countnumber253738
play_countnumber807645
can_viewer_savebooleantrue
is_in_profile_gridbooleanfalse
profile_grid_control_enabledbooleanfalse
organic_tracking_tokenstring"eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLC…"
has_shared_to_fbnumber0
product_typestring"clips"
deleted_reasonnumber0
integrity_review_decisionstring"pending"
commerce_integrity_review_decisionnullnull
music_metadatanullnull
is_artist_pickbooleanfalse
clips_metadataobject30 fields
music_infonullnull
original_sound_infoobject22 fields
audio_asset_idstring"539560281345006"
music_canonical_idnullnull
progressive_download_urlstring"https://scontent-sjc3-1.xx.fbcdn.net/v/t39.12897-6/316033380_501460935…"
duration_in_msnumber23752
dash_manifeststring"<?xml version="1.0" encoding="UTF-8"?> <!--Generated with https://gith…"
ig_artistobject8 fields
pkstring"18428658"
usernamestring"kimkardashian"
full_namestring"Kim Kardashian"
is_privatebooleanfalse
pk_idstring"18428658"
profile_pic_urlstring"https://scontent-sjc3-1.cdninstagram.com/v/t51.2885-19/314397231_63667…"
profile_pic_idstring"2966053774901680173_18428658"
is_verifiedbooleantrue
should_mute_audiobooleanfalse
hide_remixingbooleanfalse
original_media_idstring"2972905277632172268"
time_creatednumber1668621765
original_audio_titlestring"Original Audio"
consumption_infoobject5 fields
is_bookmarkedbooleanfalse
should_mute_audio_reasonstring""
is_trending_in_clipsbooleanfalse
should_mute_audio_reason_typenullnull
display_media_idnullnull
can_remix_be_shared_to_fbbooleanfalse
formatted_clips_media_countnullnull
allow_creator_to_renamebooleantrue
audio_partsarray0 items
empty
is_explicitbooleanfalse
original_audio_subtypestring"default"
is_audio_automatically_attributedbooleanfalse
is_reuse_disabledbooleanfalse
is_xpost_from_fbbooleanfalse
xpost_fb_creator_infonullnull
audio_typestring"original_sounds"
music_canonical_idstring"18323613895046021"
featured_labelnullnull
mashup_infoobject10 fields
mashups_allowedbooleanfalse
can_toggle_mashups_allowedbooleanfalse
has_been_mashed_upbooleanfalse
formatted_mashups_countnullnull
original_medianullnull
privacy_filtered_mashups_media_countnullnull
non_privacy_filtered_mashups_media_countnullnull
mashup_typenullnull
is_creator_requesting_mashupbooleanfalse
has_nonmimicable_additional_audiobooleanfalse
nux_infonullnull
viewer_interaction_settingsnullnull
branded_content_tag_infoobject1 field
can_add_tagbooleanfalse
shopping_infonullnull
additional_audio_infoobject2 fields
additional_audio_usernamenullnull
audio_reattribution_infoobject1 field
should_allow_restorebooleanfalse
is_shared_to_fbbooleanfalse
breaking_content_infonullnull
challenge_infonullnull
reels_on_the_rise_infonullnull
breaking_creator_infonullnull
asset_recommendation_infonullnull
contextual_highlight_infonullnull
clips_creation_entry_pointstring"clips"
audio_ranking_infoobject1 field
best_audio_cluster_idstring"673931264462539"
template_infonullnull
is_fan_club_promo_videonullnull
disable_use_in_clips_client_cachebooleanfalse
content_appreciation_infoobject1 field
enabledbooleanfalse
achievements_infoobject2 fields
show_achievementsbooleanfalse
num_earned_achievementsnullnull
show_achievementsbooleanfalse
show_tipsbooleanfalse
merchandising_pill_infonullnull
is_public_chat_welcome_videobooleanfalse
professional_clips_upsell_typenumber0
media_cropping_infoobject1 field
square_cropobject4 fields
crop_leftnumber0
crop_rightnumber1
crop_topnumber0.036988110964332896
crop_bottomnumber0.5997357992073976
logging_info_tokenstring"b0e5d4d599654327b9f8a7d4d2c60af0"
nextCursorstring"QVFCSFFDSnV5dTVsYk1BSTJCNndoUXlCZ1kzRUNqaXd5Sm5OcUxOVHJVNURoY2xZWTVWSU…"

Response Codes

Status codes this endpoint can return, so you can handle errors before they surprise you in production.

200SuccessSuccessful Response
422Client ErrorValidation Error
491Client ErrorToken not found
492Client ErrorEmail not verified
493Client ErrorSubscription expired
495Client ErrorAll daily units used
500Server ErrorSomething went wrong

API Pricing

#returned_reels units Cost per successful call to this endpoint.

Fetch Instagram Data at Scale

Track Reels performance across multiple creators or campaigns and use the data to sharpen your short-form video content strategy.

deco-icon

Reels Metrics

Get view counts, play counts, and engagement for every Reel.

deco-icon

Audio Tracking

See which sound powers each Reel to spot trending tracks.

deco-icon

Top Performers

Rank a creator's Reels feed to find their best-performing clips.