Skip to main content

Instagram

Instagram is a popular social media platform that enables users to share photos, videos, and stories, providing businesses with powerful marketing tools for brand promotion, customer engagement, and influencer partnerships through visual content and interactive features.

Instagram icon

Power end-to-end data operations for your Instagram API with Nexla. Our bi-directional Instagram connector is purpose-built for Instagram, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Instagram or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Instagram workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Instagram credential, you need to obtain a System User Access Token from your Facebook Business Suite account. The System User Access Token is required to authenticate with the Instagram API.

To obtain your System User Access Token, you need to have a Facebook Business Suite account with access to Instagram Business accounts. Once you have access to your account, you can create and manage System Users in your Facebook Business Suite settings. System Users are special API users that are designed for programmatic access to Facebook and Instagram resources. The System User Access Token is a Facebook Access Token for a Business Suite System User that has permissions to the Facebook resources you want to access. For detailed information about System Users and access tokens, refer to the Facebook Pages Access Tokens documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
System User Access TokenYesYesFacebook Access Token for Business Suite System User that has permissions to the facebook resources you want to access. View https://developers.facebook.com/docs/pages/access-tokens for details.

Create a credential in Nexla

  1. To create a new Instagram credential, after selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Instagram

InstagramCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

System User Access Token Authentication

Instagram uses System User Access Token authentication to securely access the Instagram API. System Users are special API users designed for programmatic access to Facebook and Instagram resources, providing secure authentication without requiring individual user accounts.

  1. Enter your Facebook System User Access Token in the System User Access Token field. This is the Facebook Access Token for a Business Suite System User that has permissions to the Facebook resources you want to access. The System User Access Token is sent in the Authorization header with the Bearer prefix for all API requests to the Instagram API.

    Keep your System User Access Token secure and do not share it publicly. The System User Access Token provides access to your Instagram Business account data and should be treated as sensitive information. Your Facebook System User Access Token can be found in your Facebook Business Suite account settings where you manage System Users. System Users are special API users designed for programmatic access to Facebook and Instagram resources. The System User Access Token must have permissions to the Facebook resources you want to access. The token is sent in the Authorization: Bearer {token} header for all API requests to the Instagram API. For detailed information about creating and managing System Users and obtaining access tokens, see the Facebook Pages Access Tokens documentation.

  2. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Instagram connector tile, then select the credential that will be used to connect to the Instagram account, and click Next; or, create a new Instagram credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Instagram endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

Fetch User Informationm

Fetch basic information about the instagram business account. See Instagram documentation for available fields

  • Enter the Instagram User ID in the Instagram User ID field. This is the unique identifier for the Instagram Business account you want to fetch information for. The default value is 17841435346882875 if not specified.
  • Select or enter the user attributes you want to fetch in the User Attributes to Fetch field. Available fields include id, username, biography, followers_count, website, and more. You can select multiple fields. The default value is id,username,biography,followers_count,website if not specified. Click on the documentation link to view all available fields.
  • The endpoint uses GET requests to https://graph.facebook.com/{user_id}?fields={fields} where {user_id} is the Instagram User ID you provide and {fields} is the comma-separated list of User Attributes to Fetch you provide. The endpoint URL is automatically constructed based on the Instagram Graph API base URL and all the parameters.
  • The endpoint does not use pagination (iteration.type: static.url) and returns a single response. The response data path is $, which extracts the entire response object.

This endpoint retrieves basic information about an Instagram Business account. The endpoint allows you to specify which user attributes you want to fetch, giving you control over the data returned. Available fields include account information such as ID, username, biography, follower count, website, and more. The endpoint does not use pagination and returns a single response with the requested user information. For detailed information about available fields and the API response format, see the Instagram API documentation.

Fetch User Insights

Fetch social interaction metrics about a specific user.

  • Enter the Instagram User ID in the Instagram User ID field. This is the unique identifier for the Instagram Business account you want to fetch insights for. The default value is 17841435346882875 if not specified.
  • Select or enter the metrics you want to fetch in the Metrics to Fetch field. Available metrics include impressions, reach, and more. You can select multiple metrics. The default value is impressions,reach if not specified. Click on the documentation link to view all available metrics.
  • Select the aggregation period for the metrics from the Aggregation period dropdown menu. Available options include day, week, days_28, month, and lifetime. The default value is day if not specified. The aggregation period determines how the metrics are aggregated over time.
  • Enter any other allowed request parameters in the Other Request Parameters field. This field allows you to specify date ranges and/or segmentation. The default value is &since={now-1}&until={now} if not specified, which fetches data from yesterday to today. You can use Nexla macros like {now}, {now-1}, etc. to specify dynamic date ranges.
  • Enter the Facebook API version in the API Version field. The default value is v13.0 if not specified. The API version determines which version of the Instagram Graph API will be used.
  • The endpoint uses GET requests to https://graph.facebook.com/{api_version}/{user_id}/insights?metric={metrics}&period={period}{other_params} where {api_version} is the API Version you provide, {user_id} is the Instagram User ID you provide, {metrics} is the comma-separated list of Metrics to Fetch you provide, {period} is the Aggregation period you select, and {other_params} is the Other Request Parameters you provide. The endpoint URL is automatically constructed based on the Instagram Graph API base URL and all the parameters.
  • The endpoint uses URL-based pagination (iteration.type: paging.next.url) through the paging.next mechanism. The response data path is $.data[*], which extracts all items from the data array in the API response.
  • When a response includes a paging.next value, Nexla automatically uses it as the URL for the subsequent request to fetch the next page of results until all insights have been retrieved.

This endpoint retrieves social interaction metrics (insights) for an Instagram Business account. The endpoint allows you to specify which metrics you want to fetch, the aggregation period, and date ranges. Available metrics include impressions, reach, and more. The endpoint supports pagination through the paging.next URL mechanism, which allows you to retrieve large lists of insights efficiently. You can use Nexla macros in the Other Request Parameters field to specify dynamic date ranges. For detailed information about available metrics, aggregation periods, and the API response format, see the Instagram API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Instagram data sources can also be manually configured to ingest data from any valid Instagram Graph API endpoint not covered by the pre-built templates, or to apply further customizations. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the content format, API method, and endpoint URL. The Instagram API typically returns data in JSON format, and endpoints follow the pattern https://graph.facebook.com/{api_version}/{endpoint_path}.

The endpoint requires System User Access Token authentication via the Authorization: Bearer {token} header, which is handled automatically by your credential configuration. For detailed information about Instagram API endpoints and available APIs, see the Instagram API documentation.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Instagram data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.