Instagram

Instagram

This document provides instructions for integrating Instagram data into Panoply. The following items will be covered:

Instagram Data Integration

To integrate Instagram data into Panoply using default selections, complete the following steps. For more advanced options, complete the following and refer to the subsequent sections for detailed information.

  1. Click Data Sources in the navigation menu.
  2. Click the Add Data Source button.
  3. In the Data Sources – Choose Source Type window, select Instagram. Instagram is listed under APIs.
  4. In the Data Sources – Instagram screen, click Login.
  5. Click Authorize to allow Panoply to access your Instagram data.
  6. Select the resources you want to import.
  7. (Optional) To customize the ingestion from your data source, review the advanced options.
  8. Click Collect.

The Data Sources – Instagram window will appear grayed out while the data integration is pending. A small green progress bar appears below Instagram.

You will be prompted to set up the integration of another data source. You can set up multiple data integrations without impacting the ingestion of the already scheduled or pending data integrations.

From the Data Sources main menu, you can monitor the data ingestion status of the scheduled and pending data integrations. After the data ingestion is complete, you can clean or transform your data in the Tables menu.

Advanced Options

Clicking Show next to Advanced will expand the Data Sources - Instagram window to include Destination, Primary Key, Exclude, Parse string, and Truncate table.

  • Destination - Default is instagram_{__tablename}, where __tablename is the table name from the schema for this data source. See Data Schema for more detail about each table.

  • Primary Key - Default is id. The primary key here determine which field(s) to use as the deduplication key when ingesting data.

  • Incremental Key - By design, this data source does not include a configurable incremental key.

Data Schema

The data schema in Panoply reflects data collection from User, Comments, and Media endpoints in the Instagram API. Additionally, Panoply includes these metadata columns in each table: __tablename, __senttime, and __updatetime.

User

User data is collected from the https://api.instagram.com/v1/users/self API endpoint. For additional detail on this endpoint, see GET /users/self in the Instagram API Platform documentation.

In Panoply, the default user table is instagram_user and includes these fields:

Column Data Type
counts_follows number
id text
username text
is_business number
counts_followed_by number
profile_picture text
full_name text
counts_media number

Comments

Comment data is collected from the https://api.instagram.com/v1/media/{media-id}/comments API endpoint, where {media-id} is the id value of the media item on which the comment was made. This endpoint gets a list of recent comments on each media object, not a complete listing of all comments. For additional detail on this endpoint, see GET /media/media-id/comments in the Instagram API Platform documentation.

In Panoply, the default comments table is instagram_comments and includes these fields:

Column Data Type
id text
from_username text
text text
created_time number

Media

Media data is collected from the https://api.instagram.com/v1/users/self/media/recent API endpoint. For additional detail on this endpoint, see GET /users/self/media/recent in the Instagram API Platform documentation.

In Panoply, the default base media table is instagram_media. However, because the media API endpoint includes nested data with caption, image, and user information, Panoply creates subtables for the nested data. This section displays the fields available on the base media table and each of its subtables.

The instagram_media table includes these fields:

Column Data Type
created_time number
id text
comments_count number
type text
filter text
link text
likes_count number
user_has_liked number

The instagram_media_caption table includes these fields:

Column Data Type
id text
created_time number
text text
instagram_media_id text

The instagram_media_caption_from table includes these fields:

Column Data Type
id text
username text
profile_picture text
full_name text
instagram_media_caption_id text

The instagram_media_images table includes these fields:

Column Data Type
id text
instagram_media_id text

The instagram_media_images_low_resolution, instagram_media_images_standard_resolution, and instagram_media_images_thumbnail tables have identical schemas and includes these fields:

Column Data Type
id text
url text
width number
height number
instagram_media_images_id text

The instagram_media_user table includes these fields:

Column Data Type
id text
username text
profile_picture text
full_name text
instagram_media_id text