Meta_ADS_SAAS / services /meta_ads_api.py
saurav384's picture
Update services/meta_ads_api.py
22df3ca verified
import requests
import os
META_ADS_TOKEN = os.getenv("EAAVtBlZBaes0BQch8e5ldaeEfeCShyddrCAv26FeI05lODUhBrOMHoYcCUs3nQmqHnDZAKT4uTZARXl3RlYYdcmcQs8Ay8omMsZCnrHLnhFbx3yu6bZAompGIPgmQhqu9I29XdtMU2FWfyMBR7bPZAJfsAZC4JGljaJ0IJ1Ga6ncZCcJguNSByedfbkbyLvIiMsl2L8pandHm0L5ZCAjJmNnjdflLzXZBPOp5ButlCMeU2j9yvq6HGX801ZBUwa9ZAe6mv3D3plSsXjIWgHzk1yYQ2OgDzpX")
BASE_URL = "https://www.facebook.com/ads/library/?active_status=all&ad_type=political_and_issue_ads&country=IN&is_targeted_country=false&media_type=all"
def fetch_live_ads(keyword, country="IN", limit=20):
if not META_ADS_TOKEN:
raise ValueError("META_ADS_TOKEN not set")
params = {
"search_terms": keyword,
"ad_reached_countries": country,
"ad_type": "ALL",
"fields": (
"page_name,"
"ad_creative_body,"
"ad_creative_link_title,"
"ad_delivery_start_time"
),
"limit": limit,
"access_token": META_ADS_TOKEN
}
response = requests.get(BASE_URL, params=params)
response.raise_for_status()
ads = response.json().get("data", [])
return [ad for ad in ads if ad.get("ad_creative_body")]