API Reference¶
facebook_ad_library.client Module¶
- class facebook_ad_library.client.FacebookAdsLibrary(access_token: str, api_version: str = 'v14.0')¶
Bases:
object
A class for interacting with the Facebook Ads API.
- Parameters:
access_token (str) – The access token for authentication with the API.
api_version (str) – The API version to be used (optional, default is “v14.0”).
- api_url = None¶
- default_api_version = 'v14.0'¶
- default_url_pattern = 'https://graph.facebook.com/{api_version}/ads_archive?access_token={access_token}'¶
- search(query: List[AdLibraryType] = None, fields: List[ADField] = None, limit: int = 20)¶
Performs a search in the Facebook Ads API.
- Parameters:
query (List[types.AdLibraryType]) – A list of search criteria (optional).
fields (List[fields.ADField]) – A list of fields to retrieve (optional).
limit (int) – The maximum number of results to return (optional, default is 20).
- Returns:
The search results.
- Return type:
dict
- session = <requests.sessions.Session object>¶
facebook_ad_library.fields Module¶
- class facebook_ad_library.fields.AdCreationTime¶
Bases:
ADField
,str
- field_name = 'ad_creation_time'¶
- class facebook_ad_library.fields.AdCreativeBodies(iterable=(), /)¶
Bases:
ADField
,List
[str
]- field_name = 'ad_creative_bodies'¶
- class facebook_ad_library.fields.AdCreativeLinkCaptions(iterable=(), /)¶
Bases:
ADField
,List
[str
]- field_name = 'ad_creative_link_captions'¶
- class facebook_ad_library.fields.AdCreativeLinkDescriptions(iterable=(), /)¶
Bases:
ADField
,List
[str
]- field_name = 'ad_creative_link_descriptions'¶
- class facebook_ad_library.fields.AdCreativeLinkTitles(iterable=(), /)¶
Bases:
ADField
,List
[str
]- field_name = 'ad_creative_link_titles'¶
- class facebook_ad_library.fields.AdDeliveryStartTime¶
Bases:
ADField
,str
- field_name = 'ad_delivery_start_time'¶
- class facebook_ad_library.fields.AdDeliveryStopTime¶
Bases:
ADField
,str
- field_name = 'ad_delivery_stop_time'¶
- class facebook_ad_library.fields.AgeCountryGenderReachBreakdown(values: List[AgeGenderReachBreakdown | dict], *args, **kwargs)¶
Bases:
ADField
,List
[AgeGenderReachBreakdown
]- field_name = 'age_country_gender_reach_breakdown'¶
- class facebook_ad_library.fields.AgeGenderReachBreakdown(age_range: str = <factory>, female: int = <factory>, male: int = <factory>, unknown: int = <factory>)¶
Bases:
object
- age_range: str¶
- female: int¶
- male: int¶
- unknown: int¶
- class facebook_ad_library.fields.BeneficiaryPlayer(beneficiary: str = <factory>, current: bool = <factory>, payer: str = <factory>)¶
Bases:
object
- beneficiary: str¶
- current: bool¶
- payer: str¶
- class facebook_ad_library.fields.BeneficiaryPlayers(values: List[BeneficiaryPlayer | dict], *args, **kwargs)¶
Bases:
ADField
,List
[BeneficiaryPlayer
]- field_name = 'beneficiary_payers'¶
- class facebook_ad_library.fields.DeliveryByRegion(values: List[AudienceDistribution | dict], *args, **kwargs)¶
Bases:
ADField
,List
[AudienceDistribution
]- field_name = 'delivery_by_region'¶
- class facebook_ad_library.fields.DemographicDistribution(values: List[AudienceDistribution | dict] = [], *args, **kwargs)¶
Bases:
ADField
,List
[AudienceDistribution
]- field_name = 'demographic_distribution'¶
- class facebook_ad_library.fields.EstimatedAudienceSize(lower_bound: str = <factory>, upper_bound: str = <factory>)¶
Bases:
ADField
,InsightsRangeValue
- field_name = 'estimated_audience_size'¶
- class facebook_ad_library.fields.Impressions(lower_bound: str = <factory>, upper_bound: str = <factory>)¶
Bases:
ADField
,InsightsRangeValue
- field_name = 'impressions'¶
- class facebook_ad_library.fields.Languages(iterable=(), /)¶
Bases:
ADField
,List
[str
]- field_name = 'languages'¶
- class facebook_ad_library.fields.PublisherPlatformsField(iterable=(), /)¶
Bases:
ADField
,List
[str
]- field_name = 'publisher_platforms'¶
- class facebook_ad_library.fields.Spend(lower_bound: str = <factory>, upper_bound: str = <factory>)¶
Bases:
ADField
,InsightsRangeValue
- field_name = 'spend'¶
facebook_ad_library.types Module¶
- class facebook_ad_library.types.AdActiveStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AdLibraryType
,Enum
- ACTIVE = 'ACTIVE'¶
- ALL = 'ALL'¶
- INACTIVE = 'INACTIVE'¶
- class facebook_ad_library.types.AdDeliveryDateMax(date: date, date_str_format: str = '%Y-%m-%d')¶
Bases:
AdDateType
- date: date¶
- date_str_format: str = '%Y-%m-%d'¶
- class facebook_ad_library.types.AdDeliveryDateMin(date: date, date_str_format: str = '%Y-%m-%d')¶
Bases:
AdDateType
- date: date¶
- date_str_format: str = '%Y-%m-%d'¶
- class facebook_ad_library.types.AdLibraryType¶
Bases:
object
- class facebook_ad_library.types.AdReachedCountries(values: List[facebook_ad_library.types.ad_reached_countries.AdReachedCountry] = <factory>)¶
Bases:
AdLibraryType
- values: List[AdReachedCountry]¶
- class facebook_ad_library.types.AdReachedCountry(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
Enum
- AD = 'AD'¶
- AE = 'AE'¶
- AF = 'AF'¶
- AG = 'AG'¶
- AI = 'AI'¶
- AL = 'AL'¶
- ALL = 'ALL'¶
- AM = 'AM'¶
- AN = 'AN'¶
- AO = 'AO'¶
- AQ = 'AQ'¶
- AR = 'AR'¶
- AS = 'AS'¶
- AT = 'AT'¶
- AU = 'AU'¶
- AW = 'AW'¶
- AX = 'AX'¶
- AZ = 'AZ'¶
- BA = 'BA'¶
- BB = 'BB'¶
- BD = 'BD'¶
- BE = 'BE'¶
- BF = 'BF'¶
- BG = 'BG'¶
- BH = 'BH'¶
- BI = 'BI'¶
- BJ = 'BJ'¶
- BL = 'BL'¶
- BM = 'BM'¶
- BN = 'BN'¶
- BO = 'BO'¶
- BQ = 'BQ'¶
- BR = 'BR'¶
- BS = 'BS'¶
- BT = 'BT'¶
- BV = 'BV'¶
- BW = 'BW'¶
- BY = 'BY'¶
- BZ = 'BZ'¶
- CA = 'CA'¶
- CC = 'CC'¶
- CD = 'CD'¶
- CF = 'CF'¶
- CG = 'CG'¶
- CH = 'CH'¶
- CI = 'CI'¶
- CK = 'CK'¶
- CL = 'CL'¶
- CM = 'CM'¶
- CN = 'CN'¶
- CO = 'CO'¶
- CR = 'CR'¶
- CV = 'CV'¶
- CW = 'CW'¶
- CX = 'CX'¶
- CY = 'CY'¶
- CZ = 'CZ'¶
- DE = 'DE'¶
- DJ = 'DJ'¶
- DK = 'DK'¶
- DM = 'DM'¶
- DO = 'DO'¶
- DZ = 'DZ'¶
- EC = 'EC'¶
- EE = 'EE'¶
- EG = 'EG'¶
- EH = 'EH'¶
- ER = 'ER'¶
- ES = 'ES'¶
- ET = 'ET'¶
- FI = 'FI'¶
- FJ = 'FJ'¶
- FK = 'FK'¶
- FM = 'FM'¶
- FO = 'FO'¶
- FR = 'FR'¶
- GA = 'GA'¶
- GB = 'GB'¶
- GD = 'GD'¶
- GE = 'GE'¶
- GF = 'GF'¶
- GG = 'GG'¶
- GH = 'GH'¶
- GI = 'GI'¶
- GL = 'GL'¶
- GM = 'GM'¶
- GN = 'GN'¶
- GP = 'GP'¶
- GQ = 'GQ'¶
- GR = 'GR'¶
- GS = 'GS'¶
- GT = 'GT'¶
- GU = 'GU'¶
- GW = 'GW'¶
- GY = 'GY'¶
- HK = 'HK'¶
- HM = 'HM'¶
- HN = 'HN'¶
- HR = 'HR'¶
- HT = 'HT'¶
- HU = 'HU'¶
- ID = 'ID'¶
- IE = 'IE'¶
- IL = 'IL'¶
- IM = 'IM'¶
- IN = 'IN'¶
- IO = 'IO'¶
- IQ = 'IQ'¶
- IS = 'IS'¶
- IT = 'IT'¶
- JE = 'JE'¶
- JM = 'JM'¶
- JO = 'JO'¶
- JP = 'JP'¶
- KE = 'KE'¶
- KG = 'KG'¶
- KH = 'KH'¶
- KI = 'KI'¶
- KM = 'KM'¶
- KN = 'KN'¶
- KR = 'KR'¶
- KW = 'KW'¶
- KY = 'KY'¶
- KZ = 'KZ'¶
- LA = 'LA'¶
- LB = 'LB'¶
- LC = 'LC'¶
- LI = 'LI'¶
- LK = 'LK'¶
- LR = 'LR'¶
- LS = 'LS'¶
- LT = 'LT'¶
- LU = 'LU'¶
- LV = 'LV'¶
- LY = 'LY'¶
- MA = 'MA'¶
- MC = 'MC'¶
- MD = 'MD'¶
- ME = 'ME'¶
- MF = 'MF'¶
- MG = 'MG'¶
- MH = 'MH'¶
- MK = 'MK'¶
- ML = 'ML'¶
- MM = 'MM'¶
- MN = 'MN'¶
- MO = 'MO'¶
- MP = 'MP'¶
- MQ = 'MQ'¶
- MR = 'MR'¶
- MS = 'MS'¶
- MT = 'MT'¶
- MU = 'MU'¶
- MV = 'MV'¶
- MW = 'MW'¶
- MX = 'MX'¶
- MY = 'MY'¶
- MZ = 'MZ'¶
- NA = 'NA'¶
- NC = 'NC'¶
- NE = 'NE'¶
- NF = 'NF'¶
- NG = 'NG'¶
- NI = 'NI'¶
- NL = 'NL'¶
- NO = 'NO'¶
- NP = 'NP'¶
- NR = 'NR'¶
- NU = 'NU'¶
- NZ = 'NZ'¶
- OM = 'OM'¶
- PA = 'PA'¶
- PE = 'PE'¶
- PF = 'PF'¶
- PG = 'PG'¶
- PH = 'PH'¶
- PK = 'PK'¶
- PL = 'PL'¶
- PM = 'PM'¶
- PN = 'PN'¶
- PR = 'PR'¶
- PS = 'PS'¶
- PT = 'PT'¶
- PW = 'PW'¶
- PY = 'PY'¶
- QA = 'QA'¶
- RE = 'RE'¶
- RO = 'RO'¶
- RS = 'RS'¶
- RU = 'RU'¶
- RW = 'RW'¶
- SA = 'SA'¶
- SB = 'SB'¶
- SC = 'SC'¶
- SE = 'SE'¶
- SG = 'SG'¶
- SH = 'SH'¶
- SI = 'SI'¶
- SJ = 'SJ'¶
- SK = 'SK'¶
- SL = 'SL'¶
- SM = 'SM'¶
- SN = 'SN'¶
- SO = 'SO'¶
- SR = 'SR'¶
- SS = 'SS'¶
- ST = 'ST'¶
- SV = 'SV'¶
- SX = 'SX'¶
- SZ = 'SZ'¶
- TC = 'TC'¶
- TD = 'TD'¶
- TF = 'TF'¶
- TG = 'TG'¶
- TH = 'TH'¶
- TJ = 'TJ'¶
- TK = 'TK'¶
- TL = 'TL'¶
- TM = 'TM'¶
- TN = 'TN'¶
- TO = 'TO'¶
- TR = 'TR'¶
- TT = 'TT'¶
- TV = 'TV'¶
- TW = 'TW'¶
- TZ = 'TZ'¶
- UA = 'UA'¶
- UG = 'UG'¶
- UM = 'UM'¶
- US = 'US'¶
- UY = 'UY'¶
- UZ = 'UZ'¶
- VA = 'VA'¶
- VC = 'VC'¶
- VE = 'VE'¶
- VG = 'VG'¶
- VI = 'VI'¶
- VN = 'VN'¶
- VU = 'VU'¶
- WF = 'WF'¶
- WS = 'WS'¶
- XK = 'XK'¶
- YE = 'YE'¶
- YT = 'YT'¶
- ZA = 'ZA'¶
- ZM = 'ZM'¶
- ZW = 'ZW'¶
- class facebook_ad_library.types.AdType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AdLibraryType
,Enum
- ALL = 'ALL'¶
- CREDIT_ADS = 'CREDIT_ADS'¶
- EMPLOYMENT_ADS = 'EMPLOYMENT_ADS'¶
- HOUSING_ADS = 'HOUSING_ADS'¶
- POLITICAL_AND_ISSUE_ADS = 'POLITICAL_AND_ISSUE_ADS'¶
- class facebook_ad_library.types.AudienceDistribution(age: str = <factory>, gender: str = <factory>, percentage: str = <factory>, region: str = <factory>)¶
Bases:
object
- age: str¶
- gender: str¶
- percentage: str¶
- region: str¶
- class facebook_ad_library.types.Bylines(searches: list = <factory>)¶
Bases:
AdArray
- class facebook_ad_library.types.DeliveryByRegion(searches: list = <factory>)¶
Bases:
AdArray
- class facebook_ad_library.types.EstimatedAudienceSizeMax(value: int = <factory>)¶
Bases:
AdInt
- class facebook_ad_library.types.EstimatedAudienceSizeMin(value: int = <factory>)¶
Bases:
AdInt
- class facebook_ad_library.types.InsightsRangeValue(lower_bound: str = <factory>, upper_bound: str = <factory>)¶
Bases:
object
- lower_bound: str¶
- upper_bound: str¶
- class facebook_ad_library.types.Languages(searches: list = <factory>)¶
Bases:
AdArray
- class facebook_ad_library.types.MediaType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AdLibraryType
,Enum
- ALL = 'ALL'¶
- IMAGE = 'IMAGE'¶
- MEME = 'MEME'¶
- NONE = 'NONE'¶
- VIDEO = 'VIDEO'¶
- class facebook_ad_library.types.PublisherPlatform(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AdLibraryType
,Enum
- AUDIENCE_NETWORK = 'AUDIENCE_NETWORK'¶
- FACEBOOK = 'FACEBOOK'¶
- INSTAGRAM = 'INSTAGRAM'¶
- MESSENGER = 'MESSENGER'¶
- OCULUS = 'OCULUS'¶
- WHATSAPP = 'WHATSAPP'¶
- class facebook_ad_library.types.PublisherPlatforms(values: List[facebook_ad_library.types.publisher_platform.PublisherPlatform] = <factory>)¶
Bases:
AdLibraryType
- values: List[PublisherPlatform]¶
- class facebook_ad_library.types.SearchPageIds(searches: list = <factory>)¶
Bases:
AdArray
- class facebook_ad_library.types.SearchTerms(value: str = <factory>)¶
Bases:
AdStr
- class facebook_ad_library.types.SearchType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AdLibraryType
,Enum
- KEYWORD_EXACT_PHRASE = 'KEYWORD_EXACT_PHRASE'¶
- KEYWORD_UNORDERED = 'KEYWORD_UNORDERED'¶
- class facebook_ad_library.types.TargetLocation(excluded: bool = <factory>, name: str = <factory>, num_obfuscated: int = <factory>, type: str = <factory>)¶
Bases:
object
- excluded: bool¶
- name: str¶
- num_obfuscated: int¶
- type: str¶
- class facebook_ad_library.types.UnmaskRemovedContent(value: bool = <factory>)¶
Bases:
AdBool
facebook_ad_library.exceptions Module¶
- class facebook_ad_library.exceptions.ExceptionData(message: str = <factory>, code: int = <factory>, error_subcode: int = <factory>, is_transient: bool = <factory>, error_user_title: str = <factory>, error_user_msg: str = <factory>, fbtrace_id: str = <factory>)¶
Bases:
object
- code: int¶
- error_subcode: int¶
- error_user_msg: str¶
- error_user_title: str¶
- fbtrace_id: str¶
- is_transient: bool¶
- message: str¶
- exception facebook_ad_library.exceptions.OAuthException(error: dict, *args, **kwargs)¶
Bases:
Exception
- error: ExceptionData = None¶