Skip to content

Commit

Permalink
Source Instagram: refactor instagram docs (#12469)
Browse files Browse the repository at this point in the history
* Updated doc to new template

* Fix typo
  • Loading branch information
lazebnyi authored Apr 29, 2022
1 parent 6565315 commit 28c04ef
Showing 1 changed file with 64 additions and 46 deletions.
110 changes: 64 additions & 46 deletions docs/integrations/sources/instagram.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,17 @@
# Instagram

## Sync overview
This page guides you through the process of setting up the instagram source connector.

This source can sync data for the Instagram Business Account available in the Facebook Graph API: User, Media, and Stories. It can also sync Media/Story and User Insights.

### Output schema

This Source is capable of syncing the following core Streams:

* [User](https://developers.facebook.com/docs/instagram-api/reference/ig-user)
* [User Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-user/insights)
* [Media](https://developers.facebook.com/docs/instagram-api/reference/ig-user/media)
* [Media Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-media/insights)
* [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/).

### Data type mapping

| Integration Type | Airbyte Type |
| :--- | :--- |
| `string` | `string` |
| `number` | `number` |
| `array` | `array` |
| `object` | `object` |

### 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.

See Facebook's [documentation on rate limiting](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#instagram-graph-api) for more information.

## Getting started

### Requirements
## Prerequisites

* A Facebook App
* An Instagram Business Account
* A Facebook Page linked to your Instagram Business Account
* A Facebook API Access Token

### Setup guide

## Step 1: Set up Instagram

### Facebook App

Expand All @@ -64,19 +27,75 @@ See the Facebook [support](https://www.facebook.com/business/help/89875296019580

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.

### API Access Token

To work with the Instagram connector, you need to generate an Access Token with the following permissions:
## Step 2: Set up the Instagram connector in Airbyte

**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 OSS:**

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)
* [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`.

More details how to get a User's Access Token you can find in the following docs: [Access Tokens](https://developers.facebook.com/docs/facebook-login/access-tokens/#usertokens) and [User and Page Access Tokens](https://developers.facebook.com/docs/pages/access-tokens)

With the Instagram Account ID and API access token, you should be ready to start pulling data from the Facebook Instagram API. Head to the Airbyte UI to setup your source connector!
## 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


## Supported Streams

* [User](https://developers.facebook.com/docs/instagram-api/reference/ig-user)
* [User Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-user/insights)
* [Media](https://developers.facebook.com/docs/instagram-api/reference/ig-user/media)
* [Media Insights](https://developers.facebook.com/docs/instagram-api/reference/ig-media/insights)
* [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.

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

| Integration Type | Airbyte Type |
| :--- | :--- |
| `string` | `string` |
| `number` | `number` |
| `array` | `array` |
| `object` | `object` |


## Changelog

Expand All @@ -86,4 +105,3 @@ With the Instagram Account ID and API access token, you should be ready to start
| 0.1.8 | 2021-08-11 | [5354](https://github.com/airbytehq/airbyte/pull/5354) | added check for empty state and fixed tests. |
| 0.1.7 | 2021-07-19 | [4805](https://github.com/airbytehq/airbyte/pull/4805) | Add support for previous format of STATE. |
| 0.1.6 | 2021-07-07 | [4210](https://github.com/airbytehq/airbyte/pull/4210) | Refactor connector to use CDK: - improve error handling. - fix sync fail with HTTP status 400. - integrate SAT. |

0 comments on commit 28c04ef

Please sign in to comment.