Tony Wang6 Min. LesezeitFacebook Marketplace scrapen in 2026 (API & Python)
Facebook Marketplace hat keine öffentliche API, Metas Terms verlangen vorherige Erlaubnis — trotzdem DIY-, No-Code- und API-Optionen im Überblick.
Facebook Marketplace gehört in dieser Serie zu den strengsten Plattformen für automatisierten Zugriff. Meta hat nie eine öffentliche API für Marketplace-Listing-Daten ausgeliefert — die Graph API deckt zwar Pages, Groups und Ads ab, lässt Marketplace aber auffällig aus —, und Metas eigene Automated Data Collection Terms verlangen ausdrückliche schriftliche Erlaubnis vor jeder automatisierten Sammlung, eine deutlich explizitere Hürde als die generische "bitte nicht scrapen"-Klausel der meisten anderen Plattformen. Dieser Guide zeigt trotzdem die DIY-, No-Code- und strukturierten API-Wege, was jeder tatsächlich liefert, und die rechtliche Lage, in der du dich dabei bewegst.
Warum Facebook Marketplace scrapen?
- Preisrecherche für lokale Kleinanzeigen — sehen, wie Gebrauchtwaren, Fahrzeuge, Möbel oder Elektronik in einer bestimmten Stadt bepreist werden.
- Resale- und Arbitrage-Recherche — unterbewertete Listings in einer Kategorie aufspüren, die sich zum Weiterverkauf lohnen.
- Reseller- und Wettbewerbsmonitoring — verfolgen, wie sich ein Suchbegriff oder eine Kategorie über die Zeit an einem Ort entwickelt.
- Lokale Marktgrößen-Einschätzung — Angebot und Nachfrage im Secondhand-Bereich für eine Kategorie und Stadt einschätzen.
- KI-Pipelines und Agenten, die strukturierte lokale Marketplace-Daten brauchen, statt gerendertes HTML zu parsen.
Ist es legal, Facebook Marketplace zu scrapen?
Option 1: DIY in Python (und warum das scheitert)
Der naive Ansatz ruft eine Marketplace-Suchseite ab und parst die Listing-Karten:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://www.facebook.com/marketplace/austin/search/?query=bike",
headers={"User-Agent": "Mozilla/5.0"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Listings render from an embedded relay/GraphQL JSON blob, not
# static markup — and an anonymous, datacenter-IP request is
# frequently redirected to a login wall before any data loads
Es funktioniert einmal in der Demo, und dann geht es los:
- Login-Walls. Marketplace erzwingt bei anonymen Requests oder Requests von Rechenzentrums-IPs oft einen Login-Redirect, obwohl dasselbe Listing für eine normale, ausgeloggte Browser-Session öffentlich sichtbar ist.
- Ungewöhnlich starke Anti-Bot-Abwehr. Rate-Limiting, Geräte- und Browser-Fingerprinting sowie Checkpoint-Challenges legen skriptgesteuerte Requests schnell lahm — Metas Abwehr gehört hier zu den härtesten in dieser Guide-Serie.
- Kein stabiles Markup. Listing-Daten stecken in einem eingebetteten Relay/GraphQL-State-Blob, der sich mit jedem App-Deploy verändert, nicht in selektierbarem HTML.
- Die Automated Data Collection Terms gelten unabhängig von der Technik. Auch ein technisch funktionierender Scraper verstößt weiterhin gegen Metas Anforderung der ausdrücklichen Erlaubnis, keine vage "bitte nicht"-Klausel.
Option 2: No-Code- und fertige Tools
Browser-Extensions und einmalige Marketplace-Scraper-Actors gibt es für manuelle Exporte, sie erben aber dieselbe Login-Wall-Reibung und dasselbe Durchsetzungsrisiko wie DIY — und Meta hat bereits mindestens einen Browser-Extension-Anbieter (BrandTotal) genau für dieses Daten-Harvesting-Muster verklagt. Ein manueller Export löst außerdem kein laufendes Monitoring: Resale- und Preistracking bedeutet, dieselbe Suche nach Zeitplan erneut auszuführen — das ist ein Pipeline-Problem, kein Punkt-Tool-Problem.
Option 3: Eine strukturierte Facebook-Marketplace-API
Crawloras Facebook API kapselt Request-Handling, Header und Normalisierung hinter einem dokumentierten Marketplace-Such-Endpoint.
curl "https://api.crawlora.net/api/v1/facebook/marketplace/search?location=austin&query=bike" \
-H "x-api-key: $CRAWLORA_API_KEY"
import requests
resp = requests.get(
"https://api.crawlora.net/api/v1/facebook/marketplace/search",
headers={"x-api-key": "YOUR_API_KEY"},
params={"location": "austin", "query": "bike"},
)
for item in resp.json()["data"]["listings"]:
print(item["title"], item["price"]["formatted"], item["url"])
Eine Antwort ist normalisiertes JSON (echtes Beispiel — prüfe Request-Parameter und Schema in den docs):
{
"code": 200,
"msg": "OK",
"data": {
"location": "austin",
"query": "bike",
"category": "vehicles",
"listings": [
{
"id": "1548909030206114",
"title": "Electric bike",
"price": { "formatted": "$350", "amount": "350.00", "isFree": false },
"city": "Austin",
"state": "TX",
"image": "https://scontent.fsgn12-1.fna.fbcdn.net/v/t39.84726-6/...",
"url": "https://www.facebook.com/marketplace/item/1548909030206114/"
}
],
"hasMore": true,
"sourceUrl": "https://www.facebook.com/marketplace/austin/search/?query=bike"
}
}
location ist erforderlich (ein Stadt-Vanity-Slug wie austin), und query, category, min_price, max_price, sort_by, days_since_listed und condition sind optionale Filter — nutze, was deine Suche eingrenzt.
Facebooks öffentliche Reichweite geht über Marketplace hinaus. Ein separater, verwandter Endpoint, /facebook/{page}, schlägt Name, Follower-Zahl, Kategorie, Öffnungszeiten und öffentliche Kontaktdaten aus dem About-Tab einer öffentlichen Facebook-Page nach — nützlich, wenn Seller in einer Marketplace-Kategorie, die du beobachtest, auch eine eigene Facebook-Page betreiben:
page = requests.get(
"https://api.crawlora.net/api/v1/facebook/woodlandwindows1",
headers={"x-api-key": "YOUR_API_KEY"},
).json()["data"]
print(page["title"], page["stats"]["likes"], page.get("email"))
Was du sammeln kannst
- Marketplace-Suchergebnisse — Listing-ID, Titel, formatierter und roher Preis, Kostenlos-Flag, Stadt/Bundesstaat, Vorschaubild und Listing-URL, gefiltert nach Standort plus optionalem Suchbegriff, Kategorie, Preisspanne, Sortierung, Listing-Alter und Zustand.
- Keine Seller-Identität. Crawloras Marketplace-Such-Endpoint liefert nur Listing-Details — es gibt kein Seller-Namens- oder Profilfeld.
- Öffentliche Facebook-Page-Daten (separater Endpoint) — Name, Follower-/Like-Zahlen, Intro, Kategorie, Öffnungszeiten oder Preisspanne, Anzahl Bewertungen und jede öffentliche E-Mail, Telefonnummer oder Adresse, die eine Business-Page zeigt.
Grenzen
- Eine schmale Zwei-Endpoint-Oberfläche. Nur Suche — kein dedizierter Item-Detail-Endpoint für ein einzelnes Listing, keine Bildergalerie über das Such-Thumbnail hinaus, keine Seller-Informationen.
- Keine offizielle Baseline zum Vergleich. Anders als bei eBay oder Etsy gibt es überhaupt keine öffentliche Marketplace-API, also auch keine "offiziell vs. gescrapt"-Bequemlichkeitslücke — dieser Endpoint ist der einzige strukturierte Weg zu diesen Daten.
- Strengeres Durchsetzungsumfeld. Metas explizite Erlaubnispflicht und Prozessgeschichte machen Marketplace zu einer höheren Risikokategorie als die meisten anderen Plattformen dieser Serie; halte Volumen und Frequenz moderat und bleib bei öffentlichen, ausgeloggten Daten.
- Standortgebundene Suche. Ergebnisse sind an einen Standort-Vanity-Slug gebunden (z. B.
austin), keine globale oder umkreisbasierte Suche. - Preise und Bestand bewegen sich schnell. Marketplace-Listings verkaufen sich oder werden schnell entfernt — behandle jeden Abruf als Snapshot und führe ihn nach Zeitplan erneut aus, statt einem einzelnen Ergebnis-Set zu vertrauen.
Wo das eingesetzt wird
- Resale- und Arbitrage-Recherche — eine Kategorie und Stadt nach unterbewerteten Listings durchsuchen.
- Lokale Secondhand-Marktgrößen-Einschätzung — Angebot und Nachfrage für eine Produktkategorie nach Standort einschätzen.
- Reseller- und Wettbewerbsmonitoring — verfolgen, wie sich Listings und Preise eines Suchbegriffs über die Zeit verändern.
- Business-Anreicherung — Marketplace-Kategorie-Tracking mit dem Page-Lookup-Endpoint kombinieren, wenn ein Seller auch eine Facebook-Page betreibt.
Sources
Leg los mit dem Sammeln
Probier es zuerst kostenlos aus: jage eine beliebige öffentliche URL durch den Free Web Scraper oder prüfe mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste den Marketplace-Such-Endpoint im Playground, lies das Request- und Response-Schema in den API docs nach, und wirf einen Blick auf die Credit-Kosten auf der pricing-Seite. Facebook Marketplace steht in dieser Serie neben anderen Peer-to-Peer- und Resale-Marktplätzen — siehe how to scrape eBay für Auktionen und Festpreis-Resale sowie how to scrape Etsy für die Handmade- und Vintage-Seite — plus is web scraping legal für das größere rechtliche Bild über alle Plattformen hinweg.
Häufig gestellte Fragen
Hat Facebook eine offizielle Marketplace-API?
Nein. Meta hat nie eine öffentliche API für Marketplace-Listing-Daten veröffentlicht — die Graph API deckt Pages, Groups und Ads ab, lässt Marketplace aber auffällig aus. Die einzige offizielle Anlaufstelle ist eine eingeschränkte Commerce-Partner-API im Alpha-Status für freigegebene Seller, die ihr eigenes Inventar verwalten, nicht für Marktforschung oder Listing-Suche durch Dritte.
Ist es legal, Facebook Marketplace zu scrapen?
Keine Rechtsberatung. Marketplace-Listings sind öffentlich einsehbar, auch ohne Login, und hiQ Labs v. LinkedIn hat entschieden, dass das Scrapen öffentlicher Daten nicht automatisch einen CFAA-Verstoß darstellt. Aber Metas Automated Data Collection Terms verlangen 'express written permission' vor jeder automatisierten Sammlung, und Meta hat Scraping bereits aktiv beklagt — gegen Bright Data verlor Meta eine Vertragsbruch-Klage wegen ausgeloggten Scrapings öffentlicher Daten, gegen BrandTotal gewann Meta wegen einer Browser-Extension mit eingeloggten Sessions. Sammle nur öffentliche, ausgeloggte Daten und halte dich an Rate-Limits.
Wie unterscheidet sich Metas Durchsetzungshaltung von anderen Plattformen dieser Serie?
Die meisten Plattformen dieser Serie raten über eine generische Terms-of-Service-Klausel vom Scraping ab. Metas Automated Data Collection Terms sind expliziter: Sie verlangen Metas ausdrückliche schriftliche Erlaubnis vor jeder automatisierten Sammlung, und Facebooks robots.txt verweist direkt darauf. Meta hat außerdem Scraper und Browser-Extension-Anbieter verklagt, was das Durchsetzungsrisiko hier höher macht als bei den meisten anderen Plattformen dieser Guide-Serie.
Wie scrape ich Facebook Marketplace mit Crawlora?
Sende einen Standort (erforderlich) plus optionale Filter für Suchbegriff, Kategorie, Preisspanne, Sortierung, Listing-Alter und Zustand an Crawloras Facebook-Marketplace-Such-Endpoint und erhalte normalisiertes JSON zurück — Listing-ID, Titel, Preis, Stadt/Bundesstaat, Vorschaubild und Listing-URL — ohne gerendertes HTML zu parsen oder Login-Walls zu handhaben.
Liefert der Marketplace-Such-Endpoint Seller-Informationen?
Nein. Crawloras Facebook-Marketplace-Such-Endpoint liefert nur Listing-Details — Titel, Preis, Standort, Vorschaubild und URL — ohne Seller-Namens- oder Profilfeld.
Kann ich auch die Kontaktdaten einer Facebook-Page nachschlagen?
Ja, über einen separaten Endpoint. /facebook/{page} schlägt eine öffentliche Facebook-Page anhand von ID, Vanity-Name oder URL nach und liefert Name, Follower-/Like-Zahl, Kategorie, Öffnungszeiten und öffentliche Kontaktinfos (E-Mail, Telefon, Adresse), die sie zeigt — ein eigenständiges Feature gegenüber der Marketplace-Suche.
Was sind die wichtigsten Einschränkungen dieser API?
Die Abdeckung ist schmal: ein Marketplace-Such-Endpoint (kein Item-Detail-Endpoint, keine Seller-Identität) und ein separater Endpoint für öffentliche Page-Lookups. Es gibt keine offizielle Marketplace-API zum Vergleich, Ergebnisse sind an einen Standort-Slug statt an eine globale Suche gebunden, und Preise/Verfügbarkeit ändern sich schnell — behandle jeden Abruf als Snapshot.