| name | apify-angles-pub |
| description | Use when you want to find the ad angles that actually convert in a market - the pubs that have been running for months (a competitor only keeps paying for what works). Meta Ad Library search URL -> CSV of ads sorted by longevity. |
Trouver les angles publicitaires qui convertissent
Objectif & quand
One-shot : avant de lancer une campagne, tu veux savoir quels angles marchent déjà dans ton marché - pas ce que les annonceurs testent, mais ce qui tient dans le temps. Le signal est simple : une pub qui tourne depuis des mois est une pub qui convertit (sinon l'annonceur l'aurait coupée pour arrêter de payer). Cet Actor lit la Meta Ad Library et te sort les pubs d'un secteur, triées de la plus ancienne à la plus récente : le haut du tableau, ce sont tes angles gagnants à réutiliser.
Prérequis
- Compte Apify +
APIFY_TOKEN (gratuit pour démarrer).
- MCP Apify configuré (
CONNECTING-MCP.md).
Actor utilisé
curious_coder/facebook-ads-library-scraper (https://apify.com/curious_coder/facebook-ads-library-scraper) - extrait les pubs de la Meta Ad Library à partir d'une URL de recherche ou d'une page.
Config (config.example.yaml)
| Champ | Rôle |
|---|
urls | URL(s) Meta Ad Library de recherche (par secteur / mot-clé, pas une seule marque) |
scrapeAdDetails | inclure le détail de chaque pub (date de début, texte complet, liens, médias) |
count | nombre max de pubs à récupérer (borne le coût) |
Procédure (via MCP)
- Construire l'URL de recherche par secteur : sur https://www.facebook.com/ads/library, chercher un mot-clé de marché (ex. "logiciel CRM", "coaching business"), filtrer pays + "All ads", copier l'URL.
- Demander au MCP Apify de lancer l'Actor
curious_coder/facebook-ads-library-scraper avec l'input de config.example.yaml (tool call-actor).
- Récupérer les items du dataset (
get-dataset-items).
- Pour chaque pub, calculer
days_running = nombre de jours entre started_running et aujourd'hui.
- Trier par
days_running décroissant : les pubs les plus anciennes en haut = les angles qui convertissent.
Si le MCP ne fait pas l'action
Fallback via lib/apify_helpers.py :
from lib import apify_helpers as a
ads = a.run_actor("curious_coder/facebook-ads-library-scraper", {
"urls": ["https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=FR&q=logiciel%20CRM"],
"scrapeAdDetails": True,
"count": 60,
})
Ou lancer l'Actor depuis la console Apify (bouton Start) avec le même input.
Livrable
CSV : page_name, ad_text, started_running, days_running, cta, link_url, media_type, snapshot_url, trié par days_running décroissant. Les 5-10 premières lignes sont tes angles à modéliser.
Coût & limites
~$0.75 / 1000 pubs. Données publiques (Ad Library). Le champ count borne la dépense. days_running est dérivé de started_running au moment de la mise en forme (l'Actor ne le fournit pas tel quel). Complémentaire de apify-pubs-concurrent (qui liste tout) : ici on classe par ce qui dure.
Exemple
examples/angles-pub.csv (données fictives, schéma réel).