diff --git a/docs/integrations/sources/instagram.md b/docs/integrations/sources/instagram.md index 34a225e0a271e..f0717924204af 100644 --- a/docs/integrations/sources/instagram.md +++ b/docs/integrations/sources/instagram.md @@ -1,67 +1,64 @@ # Instagram -This page guides you through the process of setting up the instagram source connector. - +This page contains the setup guide and reference information for the Instagram source connector. ## Prerequisites -* A Facebook App -* An Instagram Business Account -* A Facebook Page linked to your Instagram Business Account -* A Facebook API Access Token - - -## Step 1: Set up Instagram - -### Facebook App - -#### If you don't have a Facebook App - -Visit the [Facebook Developers App hub](https://developers.facebook.com/apps/) and create an App and choose "Manage Business Integrations" as the purpose of the app. Fill out the remaining fields to create your app. - -### Facebook Page - -See the Facebook [support](https://www.facebook.com/business/help/898752960195806) for information about how to add an Instagram Account to your Facebook Page. - -### Instagram Business Account - -Follow the [Instagram documentation](https://www.facebook.com/business/help/1492627900875762) for setting up an Instagram business account. We'll need this ID to configure Instagram as a source in Airbyte. - +* [Meta for Developers account](https://developers.facebook.com) +* [Instagram business account](https://www.facebook.com/business/help/898752960195806) to your Facebook page +* [Instagram Graph API](https://developers.facebook.com/docs/instagram-api/) to your Facebook app +* Facebook API [access token](https://developers.facebook.com/docs/facebook-login/access-tokens/#usertokens) +* [Facebook ad account ID number](https://www.facebook.com/business/help/1492627900875762) (you'll use this to configure Instagram as a source in Airbyte) -## Step 2: Set up the Instagram connector in Airbyte +## Setup Guide -**For Airbyte Cloud:** - -1. [Log into your Airbyte Cloud](https://cloud.airbyte.io/workspaces) account. -2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**. -3. On the source setup page, select **Instagram** from the Source type dropdown and enter a name for this connector. -4. Select `Authenticate your account`. -5. Log in and Authorize to the Instagram account and click `Set up source`. - -**For Airbyte Open Source:** - -1. For using an Access Tokens, set up instagram (see step above). -2. Generate [Access Tokens](https://developers.facebook.com/docs/facebook-login/access-tokens/#usertokens) with the following permissions: -* [instagram\_basic](https://developers.facebook.com/docs/permissions/reference/instagram_basic) -* [instagram\_manage\_insights](https://developers.facebook.com/docs/permissions/reference/instagram_manage_insights) -* [pages\_show\_list](https://developers.facebook.com/docs/permissions/reference/pages_show_list) -* [pages\_read\_engagement](https://developers.facebook.com/docs/permissions/reference/pages_read_engagement) +### Step 1: Set up Instagram​ +Generate access tokens with the following permissions: +* [instagram_basic](https://developers.facebook.com/docs/permissions/reference/instagram_basic) +* [instagram_manage_insights](https://developers.facebook.com/docs/permissions/reference/instagram_manage_insights) +* [pages_show_list](https://developers.facebook.com/docs/permissions/reference/pages_show_list) +* [pages_read_engagement](https://developers.facebook.com/docs/permissions/reference/pages_read_engagement) * [Instagram Public Content Access](https://developers.facebook.com/docs/apps/features-reference/instagram-public-content-access) -3. Go to local Airbyte page. -4. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**. -5. On the Set up the source page, enter the name for the Instagram connector and select **Instagram** from the Source type dropdown. -6. Paste your Access Tokens from step 2. -7. Click `Set up source`. +### Step 2: Set up the Instagram connector in Airbyte + +#### For Airbyte Cloud + +1. Log in to your [Airbyte Cloud](https://cloud.airbyte.io/workspaces) account. +2. Click **Sources** and then click **+ New source**. +3. On the Set up the source page, select **Instagram** from the **Source type** dropdown. +4. Enter a name for your source. +5. Click **Authenticate your Instagram account**. +6. Log in and authorize the Instagram account. +7. Enter the **Start Date** in YYYY-MM-DDT00:00:00Z format. All data generated after this date will be replicated. If this field is blank, Airbyte will replicate all data. +8. Click **Set up source**. + +#### For Airbyte Open Source +1. Log in to your Airbyte Open Source account. +2. Click **Sources** and then click **+ New source**. +3. On the Set up the source page, select **Instagram** from the **Source type** dropdown. +4. Enter a name for your source. +5. Click **Authenticate your Instagram account**. +6. Log in and authorize the Instagram account. +7. Enter the **Start Date** in YYYY-MM-DDT00:00:00Z format. All data generated after this date will be replicated. If this field is blank, Airbyte will replicate all data. +8. Paste the access tokens from [Step 1](#step-1-set-up-instagram​). +9. Click **Set up source**. ## Supported sync modes - The Instagram source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes): - - Full Refresh - - Incremental +* [Full Refresh - Overwrite](https://docs.airbyte.com/understanding-airbyte/glossary#full-refresh-sync) +* [Full Refresh - Append](https://docs.airbyte.com/understanding-airbyte/connections/full-refresh-append) +* [Incremental - Append](https://docs.airbyte.com/understanding-airbyte/connections/incremental-append) +* [Incremental - Deduped History](https://docs.airbyte.com/understanding-airbyte/connections/incremental-deduped-history) + +:::note + +Incremental sync modes are only available for the [User Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-user/insights) stream. +::: ## Supported Streams +The Instagram source connector supports the following streams. For more information, see the [Instagram Graph API](https://developers.facebook.com/docs/instagram-api/) and [Instagram Insights API documentation](https://developers.facebook.com/docs/instagram-api/guides/insights/). * [User](https://developers.facebook.com/docs/instagram-api/reference/ig-user) * [User Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-user/insights) @@ -70,24 +67,13 @@ The Instagram source connector supports the following [sync modes](https://docs. * [Stories](https://developers.facebook.com/docs/instagram-api/reference/ig-user/stories/) * [Story Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-media/insights) -For more information, see the [Instagram API](https://developers.facebook.com/docs/instagram-api/) and [Instagram Insights API documentation](https://developers.facebook.com/docs/instagram-api/guides/insights/). - - -### Features - -| Feature | Supported?\(Yes/No\) | Notes | -| :---------------- | :------------------- | :----------------- | -| Full Refresh Sync | Yes | | -| Incremental Sync | Yes | only User Insights | - -### Rate Limiting & Performance Considerations - -Instagram, like all Facebook services, has a limit on the number of requests, but Instagram connector gracefully handles rate limiting. +### Rate Limiting and Performance Considerations -See Facebook's [documentation on rate limiting](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#instagram-graph-api) for more information. +Instagram limits the number of requests that can be made at a time, but the Instagram connector gracefully handles rate limiting. See Facebook's [documentation on rate limiting](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#instagram-graph-api) for more information. ## Data type map +AirbyteRecords are required to conform to the [Airbyte type](https://docs.airbyte.com/understanding-airbyte/supported-data-types/) system. This means that all sources must produce schemas and records within these types and all destinations must handle records that conform to this type system. | Integration Type | Airbyte Type | | :--------------- | :----------- |