Bild des Meta Ad Library ScrapersFacebook & Instagram

Meta Ad Library Scraper.

Sammle die Facebook- und Instagram-Anzeigen deiner Wettbewerber. Suche wiederkehrende Angebote und Botschaften für eigene Kreativtests.

Auf Apify starten

So kannst du diesen Scraper nutzen.

Probiere diese Beispiele für Marketing, Wachstum und Wettbewerbsrecherche.

01

Erstelle ein Wettbewerber-Kreativbriefing

Verfolge als Abomarke jeden Montag fünf Wettbewerber. Gruppiere neue Anzeigen nach Problem, Versprechen, Beleg und Angebot. Wähle drei Ansätze für die nächste Testrunde.

Du erhältst eine Tabelle mit Kreativlinks, Hook-Kategorien, Notizen und einem Testvorschlag.

02

Verfolge eine saisonale Aktion

Sammle täglich Anzeigen rund um eine saisonale Aktion. Vergleiche neue IDs und Texte für Änderungen bei Rabatten, Bundles und Lieferversprechen.

Bewahre eine Startchronologie und Angebotsbibliothek mit Notizen auf.

03

Finde bisher unbeobachtete Werbetreibende

Suche eine Kategorie wie running shoes, um weitere Werbetreibende zu finden. Prüfe sie vor der Aufnahme in deine Beobachtungsliste.

Erweitere deine Wettbewerberliste und priorisiere die Recherche.

VOM ERSTEN LAUF ZUM REGELMÄSSIGEN ABLAUF

Ihr erster Lauf, Schritt für Schritt.

  1. Öffnen Sie den Actor auf Apify, wählen Sie Input und wechseln Sie zum JSON-Editor, um eine Konfiguration einzufügen.
  2. Ersetze im JSON-Editor die gesamte Eingabe durch das Beispiel. Tausche ZARA gegen deinen Seitennamen oder die numerische Seiten-ID aus. Lösche im Formular auch die vorbelegte pageID, damit kein zweiter Werbetreibender erfasst wird.
  3. Starte mit einem Land, aktiven Anzeigen und einem Limit von 50. Lass den Residential-Proxy aktiviert. Lass die Daten zunächst leer und ergänze einen Zeitraum, nachdem du die Seite geprüft hast.
  4. Starten Sie den Lauf und prüfen Sie das Protokoll. Kontrollieren Sie die erkannten Ziele und Filter, bevor Sie aus leeren Ergebnissen auf fehlende Daten schließen.
  5. Öffnen Sie Storage → Dataset, prüfen Sie mehrere Datensätze und exportieren Sie verschachtelte Daten als JSON oder einfache Tabellen als CSV.
Konfiguration für den ersten Lauf
{
  "pageIDs": ["ZARA"],
  "country": "GB",
  "activeStatus": "active",
  "maxAds": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Fügen Sie dies in den JSON-Eingabeeditor des Actors ein. Ersetzen Sie die Beispielziele vor dem Start.

Das aktuelle Eingabeformular auf Apify ansehen

Wählen Sie die passende Suche.

Wähle eine Seite, wenn du den Werbetreibenden kennst, oder ein Keyword zur Themensuche. Das sind getrennte Suchen: Ein Keyword grenzt nicht automatisch jede eingegebene Seite ein.

SuchmethodeWann es sinnvoll istWas sich ändert
Werbetreibender oder MarkennameWann es sinnvoll istDu hast eine Liste von Wettbewerbern.Was sich ändertGeben Sie numerische Seiten-IDs, Namen, Nutzernamen oder Facebook-Links an. Verifizierte Treffer haben Vorrang; mehrere unverifizierte genaue Treffer können mehrere Seiten ergeben.
Suche nach KeywordsWann es sinnvoll istDu möchtest passende Ergebnisse finden, bevor du konkrete Ziele auswählst.Was sich ändertMehrere Themensuchen mit gemeinsamen Ländern, Zeiträumen und Suchregeln. Sie teilen maxAds; doppelte Treffer werden entfernt.
URLs der WerbebibliothekWann es sinnvoll istDu hast die Suche bereits auf der Quellwebsite eingerichtet.Was sich ändertFügen Sie Seiten-, Such- oder einzelne Anzeigen-URLs ein. URL-Filter haben Vorrang; ein direkter Anzeigenlink wird ohne diese Filter abgerufen.

Der entscheidende Unterschied

Beginn eines Auslieferungszeitraums in YYYY-MM-DD. Früher gestartete Anzeigen können passen. Gleiche Start- und Enddaten werden um einen Tag erweitert.

Den verwandten Scraper vergleichen

Alle Eingaben erklärt.

Verwenden Sie in JSON die genauen Feldnamen unten. Geben Sie Listenwerte im Apify-Formular einzeln ein und verwenden Sie Zahlen und Wahrheitswerte im richtigen Datentyp.

Standardwert und Vorbelegung sind verschieden. Der Standardwert gilt, wenn du eine Einstellung auslässt; die Vorbelegung ist ein Beispiel im Apify-Formular. Prüfe Ziele und Limits vor jedem Lauf. Manche Einstellungen haben keinen Standardwert im Schema. Du musst trotzdem mindestens ein unterstütztes Ziel angeben.

Ziele und Suchbegriffe6
adLibraryUrls
Liste

Fügen Sie Seiten-, Such- oder einzelne Anzeigen-URLs ein. URL-Filter haben Vorrang; ein direkter Anzeigenlink wird ohne diese Filter abgerufen.

adLibraryUrl
Text

Einzel-URL-Version von adLibraryUrls. Verwenden Sie zur Übersicht nur eines der beiden Felder. Normale Facebook-Seitenlinks nutzen die globalen Filter.

pageIDs
Liste

Geben Sie numerische Seiten-IDs, Namen, Nutzernamen oder Facebook-Links an. Verifizierte Treffer haben Vorrang; mehrere unverifizierte genaue Treffer können mehrere Seiten ergeben.

pageID
TextIm Formular vorausgefüllt: 15087023444

Eine Seite in denselben Formen wie pageIDs. Löschen Sie die vorausgefüllte Seite bei reiner Stichwortsuche, sonst werden beide Ziele erfasst.

keyword
Text

Findet Anzeigen zu einem Thema über mehrere Werbetreibende. Die Suche ist von Seitenzielen getrennt und wird zusätzlich zu diesen ausgeführt.

keywords
Liste

Mehrere Themensuchen mit gemeinsamen Ländern, Zeiträumen und Suchregeln. Sie teilen maxAds; doppelte Treffer werden entfernt.

Märkte, Zeiträume und Filter5
searchType
TextStandard: keyword_unordered

keyword_unordered erlaubt beliebige Wortreihenfolge; keyword_exact_phrase verlangt die zusammenhängende Phrase. Nur für Stichwörter; search_type der URL hat Vorrang.

Vorgeschlagene JSON-Werte
keyword_unordered keyword_exact_phrase
minDate
Text

Beginn eines Auslieferungszeitraums in YYYY-MM-DD. Früher gestartete Anzeigen können passen. Gleiche Start- und Enddaten werden um einen Tag erweitert.

maxDate
Text

Einschließliches Ende des Auslieferungszeitraums. Mit minDate werden Anzeigen erfasst, die währenddessen liefen, nicht nur neu erstellte.

activeStatus
TextStandard: allIm Formular vorausgefüllt: active

active erfasst laufende, inactive gestoppte Anzeigen; all umfasst das Archiv. Das Formular beginnt mit active, ohne Feld gilt jedoch all.

Vorgeschlagene JSON-Werte
all active inactive
country
TextStandard: ALL

Ein Ländercode oder -name, ALL für alle Märkte. Unbekannte Länder werden mit Warnung zu ALL; prüfen Sie das Protokoll bei zu breiten Ergebnissen.

Vorgeschlagene JSON-Werte
ALL US GB DE FR ES IT BR MX CA AU IN AF AX AL DZ AS AD AO AI AQ AG AR AM AW AC AT AZ BH BD BB BY BE BZ BJ BM BT BO BQ BA BW BV IO VG BN BG BF BI KH CM CV KY CF TD CL CN CX CC CO KM CK CR HR CU CW CY CZ CD DK DJ DM DO EC EG SV GQ ER EE SZ ET FK FO FM FJ FI GF PF TF GA GM GE GH GI GR GL GD GP GU GT GG GN GW GY HT HM HN HK HU IS ID IR IQ IE IM IL CI JM JP JE JO KZ KE KI XK KW KG LA LV LB LS LR LY LI LT LU MO MG MW MY MV ML MT MH MQ MR MU YT MD MC MN ME MS MA MZ MM NA NR NP NL NC NZ NI NE NG NU NF KP MK MP NO OM PK PW PS PA PG PY PE PH PN PL PT PR QA CG RE RO RU RW BL KN LC MF PM VC WS SM ST SA SN RS SC SL SG SX SK SI SB SO ZA GS KR SS LK SH SD SR SJ SE CH SY TW TJ TZ TH BS TL TG TK TO TT TN TR TM TC TV UG UA AE UM VI UY UZ VU VA VE VN WF EH YE ZM ZW
Grenzen, Details und Proxys6
proxyConfiguration
ObjektStandard: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}Im Formular vorausgefüllt: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}

Nutzen Sie einen residential Proxy von Apify. Datacenter-Ausgänge werden häufig blockiert. Lassen Sie useApifyProxy auf true und apifyProxyGroups auf RESIDENTIAL.

maxConcurrency
GanzzahlStandard: 4

1 bis 6 parallele Sitzungen für mehrere Ziele oder große Zeiträume. Nutzen Sie 1 für strikte Reihenfolge oder bei Captchas; Standard ist 4.

maxAds
GanzzahlIm Formular vorausgefüllt: 100

Feste Grenze für eindeutige Anzeigen im gesamten Lauf, über alle Ziele und Märkte. Beginnen Sie mit 50. Ohne diese Grenze kann eine breite Suche sehr groß werden.

maxPages
Ganzzahl

Begrenzt Seiten je Zeitabschnitt, nicht im gesamten Lauf. Für Tests nützlich; für mehr Abdeckung löschen. Null oder leer bedeutet unbegrenzt.

delayMs
GanzzahlStandard: 300

Pause zwischen Seitenanfragen in Millisekunden. Erhöhen Sie sie bei Drosselung; eine Verringerung hebt weder Netzwerklatenz noch Quelllimits auf.

pageSize
GanzzahlStandard: 30

Angeforderte Paketgröße, keine garantierte Anzahl. Meta liefert etwa 10 Anzeigen je Seite; ein höherer Wert hebt diese Grenze nicht auf.

Erweiterte Einstellungen und Wiederaufnahme8
raw
Wahr oder falschStandard: false

Gibt die Quellstruktur statt der normalisierten Darstellung zurück. Nutzen Sie false für einheitliche Analysespalten und true für Diagnose oder eigene Transformationen.

proxyRotations
GanzzahlStandard: 3

Wiederholt verweigerte Aufgaben mit einer neuen Proxy-Sitzung. Weitere Versuche können vorübergehende Sperren überwinden, erhöhen aber Dauer und Datenverkehr. Ändern Sie den Standard nur bei Hinweisen im Protokoll.

resume
Wahr oder falschStandard: true

Speichert den Fortschritt etwa alle 30 Sekunden für Neustarts oder Migrationen durch Apify. Lassen Sie es normalerweise aktiviert.

continueFromLastRun
Wahr oder falschStandard: false

Setzt unerledigte Arbeit des vorherigen Laufs mit passender Eingabe fort. Bisherige Daten bleiben in dessen Dataset. Nutzen Sie false für neue oder regelmäßige Erhebungen.

shardSplitThreshold
GanzzahlStandard: 1500

Teilt große Zeiträume oberhalb dieser Anzeigenzahl. Nur bei maxConcurrency über 1. Behalten Sie 1500 bei, außer für große Archive; Werte unter 100 werden zu 100.

docId
Text

Überschreibt eine interne Anfrage-ID. Lassen Sie es leer; veraltete IDs werden automatisch erneuert. Es ist keine Werbetreibenden- oder Anzeigen-ID.

proxySessionId
Text

Fixiert eine Proxy-Sitzung zur Diagnose. Lassen Sie das Feld normalerweise leer. Parallele Aufgaben brauchen eigene Sitzungen und können die feste Sitzung daher nicht nutzen.

impersonate
TextStandard: chrome146

Browser-Identität der Anfragen. Behalten Sie den Actor-Standard bei, außer bei der Diagnose sofortiger Sperren. Sie verändert den Fingerabdruck der Anfrage, nicht die angefragten Daten.

Diese Referenz folgt den Eingabefeldern des Actors. Prüfen Sie das aktuelle Formular, bevor Sie einen produktiven Ablauf ändern. Das aktuelle Eingabeformular auf Apify ansehen.

Konfigurationen zum Kopieren.

Jedes Beispiel ist ein eigener Lauf. Beginnen Sie klein, prüfen Sie die Ergebnisse und erweitern Sie dann. Passen Sie Ziele, Länder und Zeiträume an Ihre Frage an.

Wöchentliche Wettbewerberbeobachtung

Sammle aktive UK-Anzeigen zweier Marken, mit insgesamt 100 eindeutigen Anzeigen. Plane jede Woche einen neuen Lauf, ergänze in Sheets das Datum und vergleiche die Creative-IDs mit dem vorherigen Stand.

Wöchentliche Wettbewerberbeobachtung
{
  "pageIDs": ["ZARA", "H&M"],
  "country": "GB",
  "activeStatus": "active",
  "maxAds": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Wiederkehrende Angebote finden

Finde US-Anzeigen mit der Phrase „free shipping“. Diese Themensuche umfasst verschiedene Werbetreibende. Ersetze die Phrase durch dein Angebot und lösche vor dem Start vorbelegte Seiten.

Wiederkehrende Angebote finden
{
  "keywords": ["free shipping"],
  "searchType": "keyword_exact_phrase",
  "country": "US",
  "activeStatus": "active",
  "maxAds": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Einen früheren Kampagnenzeitraum prüfen

Dieses Beispiel für September 2026 sucht Anzeigen, die während des Zeitraums ausgeliefert wurden. Passe beide Daten an. Der Filter prüft die zeitliche Überschneidung; eine Anzeige kann vorher erstellt worden sein.

Einen früheren Kampagnenzeitraum prüfen
{
  "pageIDs": ["ZARA"],
  "country": "GB",
  "activeStatus": "all",
  "minDate": "2026-09-01",
  "maxDate": "2026-09-30",
  "maxAds": 100,
  "maxConcurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Ausführen, prüfen, exportieren, wiederholen.

Nutze Seiten- und Creative-IDs für Joins und behalte Quelllinks, Text, Medien und Auslieferungsdaten. Bei kommerziellen Anzeigen fehlen Ausgaben und Reichweite oft; Conversion-Ergebnisse werden nicht geliefert. Speichere wöchentliche Stände in BigQuery, löse Medienarrays mit dbt auf und zeige neue Creatives in Looker Studio.

  1. Prüfen Sie Dataset und SUMMARY. Vergleichen Sie die Anzahl mit Ihrer Grenze, kontrollieren Sie fehlgeschlagene oder übersprungene Eingaben und einige Quelllinks.
  2. Behalten Sie Original-IDs und ergänzen Sie collected_at und run_id beim Speichern. Nutzen Sie CSV für einfache Spalten und JSON für Listen oder verschachtelte Details.
  3. Speichern Sie die geprüfte Konfiguration als Apify Task und planen Sie sie ein. Lassen Sie continueFromLastRun für regelmäßige Momentaufnahmen auf false. Bereinigen Sie Duplikate anhand der Quell-ID und behalten Sie Beobachtungsdaten.
  4. Warten Sie in Make oder n8n auf einen abgeschlossenen Lauf, lesen Sie dessen Dataset und ordnen Sie Felder Sheets oder dem Warehouse zu. Versorgen Sie Looker Studio über eine Berichtstabelle; nutzen Sie dbt für Transformation und Tests.
  5. Dasselbe JSON funktioniert mit der Actor-API von Apify. Nennen Sie in Claude mit Apify MCP diesen Actor, lassen Sie das Schema prüfen und geben Sie vor dem Start Ziele, Märkte und Grenzen an.

Wiederaufnahme ist keine neue Momentaufnahme

resume schützt den aktuellen Lauf bei einem Neustart durch Apify. continueFromLastRun setzt einen früheren Lauf mit derselben Konfiguration fort; vorhandene Daten bleiben im alten Dataset. Führen Sie beide Datasets zusammen und erhöhen Sie erreichte Grenzen. Starten Sie neu, um heutige Änderungen zu erfassen.

Die Anleitungen für Sheets, Claude, Looker und BigQuery lesen
Diesen Actor über die API starten

Speichere eine Konfiguration oben als input.json. Setze APIFY_TOKEN im Terminal auf deinen Apify-API-Token und sende die Datei als Anfrageinhalt.

Lauf starten
curl --fail-with-body --request POST \
  --url "https://api.apify.com/v2/actors/jmlp~meta-ad-library-scraper/runs" \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header "Content-Type: application/json" \
  --data-binary @input.json

Die Antwort enthält eine Run-ID und defaultDatasetId, keine fertigen Ergebnisse. Warte auf einen erfolgreichen Abschluss, setze DATASET_ID auf diese Dataset-ID und rufe die Einträge ab. Nutze bei großen Datensätzen limit und offset zur Paginierung.

Datensatz abrufen
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Apifys API-Referenz für Start und Export
Optionen für den Datenexport

Wenn die Ergebnisse nicht stimmen.

Ändern Sie jeweils nur eine Einstellung, behalten Sie eine kleine Grenze und prüfen Sie die Zusammenfassung vor einer Erweiterung.

Die Ergebnisse gehören zum falschen Werbetreibenden.

Geben Sie numerische Seiten-IDs, Namen, Nutzernamen oder Facebook-Links an. Verifizierte Treffer haben Vorrang; mehrere unverifizierte genaue Treffer können mehrere Seiten ergeben.

Die Quelle liefert leere Seiten oder Zugriffsfehler.

Nutzen Sie einen residential Proxy von Apify. Datacenter-Ausgänge werden häufig blockiert. Lassen Sie useApifyProxy auf true und apifyProxyGroups auf RESIDENTIAL.

Sollte ich die erweiterten Anfrageeinstellungen ändern?

Überschreibt eine interne Anfrage-ID. Lassen Sie es leer; veraltete IDs werden automatisch erneuert. Es ist keine Werbetreibenden- oder Anzeigen-ID.

Der Lauf war erfolgreich, hat aber keine Ergebnisse

Erfolg bedeutet, dass der Actor die Anfrage bearbeitet hat, nicht dass die Quelle Daten geliefert hat. Prüfen Sie SUMMARY.inputProblem, SUMMARY.problem und das Protokoll auf fehlende Ziele, ungültige Filter oder verweigerte Anfragen. Testen Sie ein bekanntes Ziel mit weniger Filtern.

Weniger Datensätze als erwartet

Prüfen Sie globale Grenzen, Such- und Seitengrenzen, Abdeckung und Duplikate. Mehrere Suchen können denselben Datensatz finden. Die angezeigte Gesamtzahl der Quelle kann öffentlich nicht verfügbare Datensätze enthalten. Prüfen Sie offene Aufgaben, bevor Sie den Bestand als vollständig ansehen.

Nutze die Ergebnisse in deinen Tools.

Google Sheets

Ergänze nach erfolgreichen Läufen Datensätze über Make oder n8n. Entferne Duplikate mit ad_archive_id und ergänze collected_at. Plane Spalten für Hooks, Angebotsnotizen und nächste Tests.

Anleitung lesen
Claude + MCP

Lass Claude eine begrenzte Anzeigenzahl für eine Seite sammeln, Themen gruppieren und ad_archive_id zitieren. Prüfe die Originalmotive vor Nutzung des Briefings.

Anleitung lesen
Looker Studio

Lege nötige Felder in Sheets oder BigQuery. Zeige Anzeigenzahlen nach Werbetreibendem, Startdatum und Plattform. Kennzeichne sie als Bibliotheksbeobachtungen.

Anleitung lesen
BigQuery + dbt

Speichere Roh-JSON pro Lauf mit Erfassungsdatum. Entpacke snapshot mit dbt und halte eine separate Kreativtabelle mit ad_archive_id.

Anleitung lesen
Prompt für Claude kopieren
Prompt für Claude + Apify MCP
Nutze jmlp/meta-ad-library-scraper für bis zu 50 aktive ZARA-Anzeigen in GB. Prüfe zuerst das Actor-Schema. Gruppiere Botschaften nach Hook und Angebot, zitiere Original-IDs und schlage drei testbare Kampagnenhypothesen vor. Leite keine Ausgaben oder Conversion-Leistung ab.

Diese Felder erhältst du.

Behalte Erfassungszeit und Original-IDs, um die Herkunft eines Ergebnisses zu prüfen oder spätere Läufe zu vergleichen.

Bevor du Schlüsse ziehst

Kommerzielle Anzeigen zeigen meist weder Ausgaben noch Reichweite. Meta veröffentlicht diese Zahlen vor allem für politische und gesellschaftliche Anzeigen. Lange Laufzeit ist interessant, verrät aber keine Conversion-Rate, Rentabilität oder ROAS.

ad_archive_id
Stabile Anzeigen-ID für Duplikatentfernung und Originalbibliotheksverweise.
page_id / page_name
Werbetreibender hinter dem Datensatz.
is_active / start_date / end_date
Beobachtete Aktivität und Ausspielungsdaten in Unix-Sekunden.
publisher_platform
Facebook, Instagram und weitere gemeldete Meta-Kanäle.
snapshot
Motivtext, Überschrift, CTA, Landingpage und Medieninformationen.
collation_id / collation_count
IDs und Zähler verwandter Anzeigenvarianten.

Häufige Fragen.

Geht es ohne Facebook-Login?

Ja. Der Scraper liest die öffentliche Bibliothek ohne Facebook-Konto. Für den Lauf brauchst du Apify.

Kann ich erfolgreiche Anzeigen erkennen?

Du kannst wiederkehrende Botschaften und lange laufende Motive untersuchen. Die Bibliothek liefert keine Conversion-Daten für eine Gewinnerbewertung.

Quelle und aktuelle Produktdetails: JMLPs Meta Ad Library Actor auf Apify.

Weitere Scraper,
die du nutzen könntest.

Sprechen wir über
dein Projekt.

Sag mir, was du sammeln oder verstehen möchtest. Ich helfe mit einem individuellen Scraper, einer Pipeline oder der Analyse.

Projekt besprechen