Airflow Summit 2026 is coming August 31 - September 2 in Austin, TX. Register now to secure your spot!

airflow.providers.facebook.ads.hooks.ads

This module contains Facebook Ads Reporting hooks.

Classes

JobStatus

Available options for facebook async task status.

FacebookAdsReportingHook

Facebook Ads API.

Module Contents

class airflow.providers.facebook.ads.hooks.ads.JobStatus[source]

Bases: enum.Enum

Available options for facebook async task status.

COMPLETED = 'Job Completed'[source]
STARTED = 'Job Started'[source]
RUNNING = 'Job Running'[source]
FAILED = 'Job Failed'[source]
SKIPPED = 'Job Skipped'[source]
class airflow.providers.facebook.ads.hooks.ads.FacebookAdsReportingHook(facebook_conn_id=default_conn_name, api_version=None)[source]

Bases: airflow.providers.common.compat.sdk.BaseHook

Facebook Ads API.

See also

For more information on the Facebook Ads API, take a look at the API docs: https://developers.facebook.com/docs/marketing-apis/

Parameters:
  • facebook_conn_id (str) – Airflow Facebook Ads connection ID

  • api_version (str | None) – The version of Facebook API. Default to None. If it is None, it will use the Facebook business SDK default version.

conn_name_attr = 'facebook_conn_id'[source]
default_conn_name = 'facebook_default'[source]
conn_type = 'facebook_social'[source]
hook_name = 'Facebook Ads'[source]
facebook_conn_id = 'facebook_default'[source]
api_version = None[source]
client_required_fields = ['app_id', 'app_secret', 'access_token', 'account_id'][source]
property multiple_accounts: bool[source]

Check whether provided account_id in the Facebook Ads Connection is provided as a list.

property facebook_ads_config: dict[source]

Get the facebook_ads_config attribute.

This fetches Facebook Ads connection from meta database, and sets the facebook_ads_config attribute with returned config file.

bulk_facebook_report(params, fields, sleep_time=5)[source]

Pull data from Facebook Ads API regarding Account ID with matching return type.

The return type and value depends on the account_id configuration. If the configuration is a str representing a single Account ID, the return value is the list of reports for that ID. If the configuration is a list of str representing multiple Account IDs, the return value is a dict of Account IDs and their respective list of reports.

Parameters:
Returns:

Facebook Ads API response, converted to Facebook Ads Row objects regarding given Account ID type

Return type:

list[facebook_business.adobjects.adsinsights.AdsInsights] | dict[str, list[facebook_business.adobjects.adsinsights.AdsInsights]]

Was this entry helpful?