The tap-facebook Singer tap pulls data from Facebook Ads that can then be sent to a destination using a Singer target.

Alternative variants #

Multiple variants of tap-facebook are available. This document describes the default singer-io variant, which is recommended for new users.

Alternative variants are:

Standalone usage #

Install the package using pip:

pip install git+

For additional instructions, refer to the README in the repository.

Usage with Meltano #

Meltano helps you manage your configuration, incremental replication, and scheduled pipelines.

View the Meltano-specific tap-facebook instructions to learn more.

Capabilities #

These capabilities can also be overriden by specifying the capabilities key in your meltano.yml file.

Settings #

tap-facebook requires the configuration of the following settings:

The settings for tap tap-facebook that are known to Meltano are documented below. To quickly find the setting you're looking for, use the Table of Contents at the top of the page.

You can override these settings or specify additional ones in your meltano.yml by adding the settings key. Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this tap.

Account ID (account_id) #

Your Facebook Ads Account ID

How to get #

To get your Account ID:

  1. Visit the Facebook Ads Manager:
  2. Log in if you haven’t already.
  3. Make sure the correct account is selected in the top left corner.

Screenshot of account selector

  1. You will see the Account ID displayed inside the selector. You can also find it in the URL, after ?act= and ahead of any additional parameters starting with &:


  • URL:

    Account ID: 593385444078559

  • URL:

    Account ID: 791728544625001

Access Token (access_token) #

User Token generated by Facebook OAuth handshake

How to get #

Create App #

First, you will need to create a Facebook App through the Developer Portal.

  1. Go to
  2. Log into Facebook if you haven’t already. Make sure that your account is an Admin of the Ads Account you will be pulling data from.
  3. Convert your Facebook account to a Developer Account if you haven’t done so already. This will not affect your personal Facebook profile, but will give you access to Facebook’s developer tools.
  4. Click “My Apps” in the top right, and choose “Create App”.
  5. In the modal that appears, enter a “Display Name” of your choosing. Since you will only use this app to generate an Access Token for your own use, the actual display name does not matter too much.
  6. Enter your email address under “Contact Email” if it is not yet populated automatically.
  7. Click “Create App ID”.

Screenshot of "Create A New App ID" modal

  1. Under “Add a Product”, find “Marketing API”, and click “Set Up”.
Generate Access Token #

Now that your app has been created and the Marketing API product has been enabled, we can generate an access token.

  1. In the sidebar on the left, expand “Marketing API” if it isn’t expanded already.
  2. Under “Marketing API”, click “Tools”.
  3. Select ads_management, ads_read, and manage_pages under “Select Token Permissions”.
  4. Click “Get Token”.
  5. Copy the token that appears in the field.

Screenshot of "Get Access Token" section

This is the Access Token you will provide to Meltano.

Connect the App #

After generating the access token, your app will need to be connected to the ad account within Facebook Business Manager. Navigate to Business Manager > Accounts > Apps > Connected Assets > Add Assets to add the access token.

Token Expiration #

Tokens generated using this method are only valid for 60 days by default. When the token expires, Meltano will no longer be able to automatically update your Facebook Ads data, and you will need to generate a new token and update the extractor configuration.

To find out exactly when this token will expire, you can use the Access Token Debugger:

  1. Go to
  2. Paste the token into the field at the top.
  3. Click “Debug” on the right.
  4. Look for the value under “Expires”.

Screenshot of the Access Token Debugger

To prevent any interruption of your data pipeline, we recommend that you generate and configure a new token before the currently configured one expires:

  1. Go to
  2. Log into Facebook if you haven’t already.
  3. Click “My Apps” in the top right, and select the app you created earlier.
  4. Follow the steps under “Generate Access Token” above.

Start Date (start_date) #

Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

End Date (end_date) #

Date up to when historical data will be extracted.

Insights Buffer Days (insights_buffer_days) #

  • Default: 0

How many Days before the Start Date to fetch Ads Insights for

Include Deleted Objects (include_deleted) #

Determines if it should include deleted objects or not.

Looking for help? #

If you're having trouble getting the tap-facebook tap to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page? #

This page is generated from a YAML file that you can contribute changes to. Edit it on GitHub!