Requirements
Before setting up Instagram as a data source, ensure your account meets these requirements:- The Instagram account must be a Business account (personal accounts are not supported)
- The Instagram profile must have at least 100 followers
- The Instagram profile must be linked to a Facebook page
- The user connecting the account must have one of these roles on the Facebook page:
- Owner
- Administrator
- Editor
Instagram Limitations:
- Media insights (such as views and engagement metrics) are only available for content that has received at least 5 views.
- Stories data is only available for 24 hours after posting. If your pipeline runs during this window, the data will be captured and stored in your destination, but new pipelines won’t be able to fetch stories older than 24 hours.
Configuring Instagram as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Instagram option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to add the following information to connect to Instagram:- Complete Facebook authorization with an account that has access to the page you want to get data from.
- Select the Instagram Page you’d like to extract data from.
- Define a date to be the starting point of the data retrival.
- The lookback window parameter allows you to define the the number of days to look in the past for new updates in Media (such as Comments and Likes). What the lookback does is check data from X days ago to ensure it captures all new updates. You can use default value if you are not sure about it.
2. Select streams
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
-
Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.For you to be able to see it on your Catalog, you need at least one successful source run.
Streams and Fields
Below you’ll find all available data streams from Instagram and their corresponding fields:User Details
User Details
Stream for basic account information.Key Fields:
id- Account ID (Primary Key)ig_id- Instagram internal IDusername- Account usernamename- Account display name
biography- Account bio textwebsite- Account website URLprofile_picture_url- Profile picture URL
follows_count- Number of accounts being followedfollowers_count- Number of followersmedia_count- Total number of media posts
Media
Media
Stream for posts, stories, and reels.Key Fields:
id- Media ID (Primary Key)ig_id- Instagram internal IDcaption- Post caption textmedia_type- Type of media (image, video, carousel)media_product_type- Product type (FEED, STORY, REELS)timestamp- When the media was posted
media_url- URL to the media contentpermalink- Permanent link to the postthumbnail_url- Thumbnail image URLshortcode- Short code for the media
comments_count- Number of commentslike_count- Number of likes
is_comment_enabled- Whether comments are enabledis_shared_to_feed- Whether shared to feedusername- Username who postedowner- Owner information (id)boost_eligibility_info- Boost eligibility (eligible_to_boost)
Media Insights
Media Insights
Stream for media performance metrics.Key Fields:
media_id- Media ID (Primary Key)media_product_type- Type of media (FEED, STORY, REELS)timestamp- When the insights were recorded
comments- Number of commentslikes- Number of likesreach- Number of unique accounts that saw the postshares- Number of sharestotal_interactions- Total engagement count
profile_activity- Activity on profile from postprofile_visits- Profile visits from postsaved- Number of savesviews- Number of views
navigation- Story navigation metricsprofile_activity- Activity on profile from storyprofile_visits- Profile visits from storyreplies- Number of replies
ig_reels_avg_watch_time- Average watch timeig_reels_video_view_total_time- Total view timesaved- Number of savesviews- Number of views
Comments
Comments
Comment Replies
Comment Replies
Stream for replies to comments.Key Fields:
id- Reply ID (Primary Key)parent_comment_id- ID of the parent commenttext- Reply texttimestamp- When the reply was posted
like_count- Number of likes on the replyhidden- Whether the reply is hidden
User Insights
User Insights
Stream for account-level insights with different time windows.Available Time Windows:
- Daily (
insights_rolling_day) - Weekly (
insights_rolling_week) - 28 Days (
insights_rolling_days28)
date- Date of the metrics (Primary Key)
reach- Number of unique accounts reachedtotal_interactions- Total engagement countaccounts_engaged- Number of accounts that engagedlikes- Number of likesshares- Number of sharesreplies- Number of repliesfollows_and_unfollows- Follow/unfollow activityprofile_links_taps- Profile link clickswebsite_clicks- Website clicksprofile_views- Profile views
Follower Demographics
Follower Demographics
Stream for follower demographic information.Available Breakdowns:
- Country (
follower_demographics_country_lifetime) - Age (
follower_demographics_age_lifetime) - Gender (
follower_demographics_gender_lifetime) - City (
follower_demographics_city_lifetime)
dimension_value- The demographic value (e.g., country name, age range) (Primary Key)value- Number of followers in this demographic
Engagement:id- Comment ID (Primary Key)media_id- ID of the media being commented ontext- Comment texttimestamp- When the comment was postedlike_count- Number of likes on the commenthidden- Whether the comment is hidden