Tony Wang6 Min. LesezeitWie Sie Poshmark 2026 scrapen (API & Python)
Poshmark 2026 scrapen: Listings, Closets, Marken und Trends per Python, No-Code-Tools oder API – plus was Poshmarks AGB erlauben.
Poshmark bietet keine allgemeine öffentliche API zum Lesen seines Katalogs an, deshalb ist der schnellste zuverlässige Weg 2026 eine strukturierte Scraping-API, die normalisiertes JSON für Suchergebnisse, Listing-Details, Seller-Closets sowie Marken-/Kategoriedaten liefert — statt Poshmarks Listing-Seiten selbst zu parsen. Poshmark gehört zum selben Resale-Genre wie StockX, hat aber eine andere Form: Es ist Social-Selling, kein Orderbuch, weshalb Closet-Reputation und Community-Aktivität (Likes, Kommentare, Follower) genauso wichtig sind wie der Preis.
Warum Poshmark-Daten scrapen?
- Resale-Preisrecherche — verfolgen, was eine Marke oder Artikelkategorie auf einem Peer-to-Peer-Resale-Marktplatz tatsächlich erzielt, als Vergleich zu Retail oder anderen Marktplätzen.
- Marken- und Trend-Tracking — Listing-Anzahl und Preise nach Marke abrufen, oder einen kuratierten Trend (z. B. „Vintage Celine Handbags") verfolgen, um zu sehen, was gerade im Umlauf ist.
- Seller-/Closet-Monitoring — das Inventar, die Bewertung und die Anzahl verkaufter Artikel eines bestimmten Closets über die Zeit beobachten, für Wettbewerbs- oder Sourcing-Recherche.
- Markt- und Kategorierecherche — die Department-/Kategorie-Taxonomie nutzen, um zu ermitteln, wie viele aktive Listings in einer bestimmten Nische existieren.
- KI-Pipelines und Agenten — normalisierte Listing- und Markendaten in einen Pricing- oder Sourcing-Agenten einspeisen, statt HTML abzugrasen.
Ist es legal, Poshmark zu scrapen?
Option 1: DIY in Python (und warum das scheitert)
Ein naiver Scraper lädt eine Suchergebnis- oder Closet-Seite und versucht, Listing-Karten aus dem gerenderten Markup zu ziehen:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://poshmark.com/search?query=nike+jacket",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Listing cards render from client-side state (React), so a plain HTML
# parse mostly returns an empty shell — you end up reverse-engineering
# the app's internal JSON endpoints instead
Es funktioniert einmal in der Demo, dann bricht es:
- Die ToS ist eindeutig. Abschnitt 4(b) nennt Scraping, Harvesting und automatisierte Sammlung direkt, und Poshmarks
robots.txtsperrt/search,/listingsund/apifür jeden Crawler. - Anti-Bot-Abwehr. Poshmark fronted seine Seite mit Bot-Erkennung; Rechenzentrums-IPs und Headless-Requests werden schnell gedrosselt oder blockiert, besonders auf Such- und Closet-Seiten.
- Clientseitig gerendertes Markup. Listing-Grids, Closet-Statistiken und Trend-Seiten rendern aus JavaScript-State, nicht aus stabilem Server-HTML — eine Layout-Änderung bricht CSS-Selektor-Scraping lautlos.
- Keine sanktionierte Alternative. Anders als eBay oder StockX betreibt Poshmark überhaupt kein Developer-Portal, es gibt also keine offizielle, aber freigegebene API als Rückfalloption.
Option 2: No-Code- und Fertiglösungen
Browser-Erweiterungen und Point-and-Click-Scraper können eine einzelne Suchseite oder einen Closet-Schnappschuss exportieren, aber das Tracking von Markenpreisen oder dem Inventar eines Sellers über die Zeit bedeutet, dieselben Seiten nach Zeitplan erneut abzugreifen — ein Job für einen stabilen Endpoint mit gespeichertem Verlauf, kein Einmal-Export.
Option 3: Eine strukturierte Poshmark-API
Für einen wiederholbaren Workflow liefert eine Poshmark scraping API normalisiertes JSON für Suche, Listing-Detail, Closets, Marken, Kategorien und Trends — ohne Seiten-Parsing, ohne Wartezeit auf eine App, die es nicht gibt. Suche nach Stichwort:
curl "https://api.crawlora.net/api/v1/poshmark/search?query=nike+jacket" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total": 5000,
"has_more": true,
"next_max_id": "ENC_eyJtYXhfaWRzIjpbNDksMSwxXSwicGFnZV9udW0iOjIsInBhZ2VfZ3JvdXBfaWQiOiI2YTcyZTE3OTI1MzYyMTUzMDNhMmVmMWEifQ",
"listings": [
{
"id": "6a6353cb88849a5f185280ea",
"title": "Nike Jacket",
"price": 19,
"original_price": 98,
"condition": "gu",
"brand": "Nike",
"category": "Jackets",
"department": "Men",
"size": "M",
"colors": ["Black"],
"status": "published",
"cover_shot": "https://di2ponv0v5otw.cloudfront.net/posts/2026/07/24/x/m_x.jpg",
"like_count": 12,
"comment_count": 2,
"seller_username": "maltimar",
"url": "https://poshmark.com/listing/6a6353cb88849a5f185280ea"
}
],
"source_url": "https://poshmark.com/search?query=nike+jacket"
}
}
query ist erforderlich; department und max_id (Cursor-Pagination, aus next_max_id) grenzen die Ergebnisse ein und blättern weiter. Hol dir volle Listing-Details, das Closet eines Sellers oder die aktiven Listings einer Marke:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/poshmark"
hits = requests.get(f"{base}/search", headers=h, params={"query": "nike jacket"}).json()["data"]["listings"]
listing_id = hits[0]["id"]
listing = requests.get(f"{base}/listing/{listing_id}", headers=h).json()["data"]
closet = requests.get(f"{base}/closet/maltimar", headers=h).json()["data"]
brand = requests.get(f"{base}/brand/Nike", headers=h).json()["data"]
Ein Listing-Detail-Aufruf führt das vollständige Seller-Reputationsobjekt mit — Closet-Bewertungsaufschlüsselung, verkaufte Artikel und versendete Bestellungen, zusammen mit Listing-Kommentaren (echte Felder — prüfe die docs):
{
"code": 200,
"msg": "OK",
"data": {
"id": "6a3fed1de9c77df92e2c0cc6",
"title": "NWT Farm Rio Shorts",
"price": 55,
"original_price": 95,
"condition": "nwt",
"brand": "FARM Rio",
"category": "Shorts",
"department": "Women",
"size": "S",
"colors": ["Red", "Yellow"],
"status": "published",
"like_count": 111,
"comment_count": 4,
"seller": {
"username": "maltimar",
"full_name": "Mary Altimar",
"followers": 9096,
"items_sold_display": "500+",
"rating_average": 4.93,
"rating_count": 368,
"rating_breakdown": {
"five_star": 355,
"four_star": 7,
"three_star": 2,
"two_star": 3,
"one_star": 1
},
"orders_shipped": 522,
"url": "https://poshmark.com/closet/maltimar"
},
"comments": [
{ "comment": "Hi can you tell me the width of the waist?", "creator_username": "muvlax20" }
],
"source_url": "https://poshmark.com/listing/6a3fed1de9c77df92e2c0cc6"
}
}
/poshmark/categories liefert den vollständigen Department-/Kategorie-Baum (Pfad-Werte wie Women-Shoes) für /poshmark/category/{path}, und /poshmark/trend/{id} blättert durch eine kuratierte Trend-Collection genauso wie die Suchergebnisse.
Was du sammeln kannst
- Suchergebnisse: Titel, Preis, Originalpreis, Zustand, Marke, Kategorie, Department, Größe, Farben, Like-/Kommentarzahlen und Listing-URL
- Listing-Detail: Beschreibung, Titelbild und Fotos, vollständige Seller-Reputation (Bewertungsdurchschnitt, Bewertungsaufschlüsselung, verkaufte Artikel, versendete Bestellungen) und sichtbare Kommentare
- Seller-Closets: Profil plus paginierte aktive Listings für einen bestimmten Nutzernamen
- Markendaten: vollständiges Markenverzeichnis (29.000+ Namen mit Aliassen) und aktive Listings pro Marke
- Kategorie-Taxonomie: Department-→-Kategorie-Baum mit Pfad-Identifikatoren zum Browsen
- Trend-Collections: kuratierte Gruppierungen (z. B. ein Designer- oder Stil-Trend) mit ihren Listings
Grenzen
- Es gibt keine offizielle API. Poshmark betreibt überhaupt kein Developer-Portal — es gibt keine freigegebene, aber sanktionierte Alternative als Rückfalloption, anders als bei eBay oder StockX.
- ToS und robots.txt schränken das Scraping beide ein. Abschnitt 4(b) nennt Scraping und Harvesting direkt, und
robots.txtsperrt/search,/listingsund/apifür jeden Crawler — das ist kein Grenzfall. - Preise und Statistiken sind eine Momentaufnahme. Poshmark-Artikel werden ständig umbepreist, gebündelt oder als verkauft markiert, und Closet-Bewertungs-/Follower-Zahlen ändern sich täglich — versieh gespeicherte Werte mit einem Zeitstempel.
- Nur öffentliche Daten. Das deckt öffentliche Listing-, Closet- und Markenseiten ab — nicht private Nachrichten, Angebote oder einen Weg, im Namen eines Käufers eine Bestellung aufzugeben.
- Cursor-Pagination. Listen-Endpoints nutzen einen opaken
max_id/next_max_id-Cursor statt Seitenzahlen — trage ihn weiter, statt Offsets berechnen zu wollen.
Wo das eingesetzt wird
- Resale- und Sourcing-Recherche — die Poshmark-Angebotspreise einer Marke gegen Retail oder einen anderen Resale-Marktplatz vergleichen.
- Closet- und Wettbewerbsmonitoring — Inventar, Preisgestaltung und Reputationswachstum eines Sellers über die Zeit verfolgen.
- Trend- und Kategorierecherche — messen, wie viele aktive Listings für eine Marke, Kategorie oder einen kuratierten Trend existieren.
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 die Search-, Listing-, Closet- und Brand-Endpoints im Playground, sieh dir das Request- und Response-Schema in den API docs an, und wirf einen Blick auf die Credit-Kosten auf der pricing-Seite. Poshmark ist das Social-Selling-Pendant zu den Live-Orderbuch-Resale-Daten in how to scrape StockX und den Festpreis-Listings in how to scrape eBay — kombiniere sie für ein vollständigeres Bild des Secondhand-Markts, oder ergänze den Handmade-/Vintage-Blickwinkel aus how to scrape Etsy. Siehe auch is web scraping legal.
Häufig gestellte Fragen
Hat Poshmark eine offizielle öffentliche API?
Nein. Poshmark veröffentlicht kein Developer-Portal und keine allgemeine öffentliche API zum Lesen seines Katalogs, anders als Marktplätze wie eBay oder StockX, die eine freigegebene Developer API anbieten. Strukturierte Scraping-APIs von Drittanbietern sind der praktikable Weg, um normalisierte Listing-, Closet- und Markendaten zu erhalten.
Ist es legal, Poshmark zu scrapen?
Öffentliche Listing-Fakten sind nicht urheberrechtlich geschützt, und der Zugriff auf rein öffentliche Daten stellt in der Regel keinen CFAA-Verstoß dar, aber Poshmarks Terms of Service (Abschnitt 4(b)) verbieten ausdrücklich Scraping, Harvesting und automatisierte Datensammlung, und die robots.txt sperrt das Crawlen von /search, /listings und /api. Das ist keine Rechtsberatung – behandle es als reale Einschränkung, nicht als Grauzone, und sieh dir unsere vollständige rechtliche Einordnung für mehr Details an.
Welche Daten bekomme ich von einem Poshmark-Listing?
Ein Listing-Detail-Aufruf liefert Titel, Beschreibung, Preis, Originalpreis, Zustand, Marke, Kategorie, Department, Größe, Farben, Titelbild und Fotos, Like- und Kommentarzahlen, sichtbare Kommentare sowie das Reputationsobjekt des Sellers (Bewertungsdurchschnitt, Bewertungsaufschlüsselung, verkaufte Artikel, versendete Bestellungen).
Wie schlage ich das Closet eines Poshmark-Sellers nach?
Rufe den Closet-Endpoint mit dem Nutzernamen des Sellers auf (z. B. /poshmark/closet/{username}). Er liefert das Profil des Sellers – Follower, Bewertung, verkaufte Artikel, versendete Bestellungen – plus eine paginierte Liste seiner aktiven Listings, mit einem Cursor (max_id) für die Pagination.
Wie funktioniert die Pagination bei Poshmark?
Such-, Kategorie-, Closet-, Marken- und Trend-Endpoints nutzen alle Cursor-basierte Pagination: Die Antwort enthält has_more und (bei der Suche) ein next_max_id-Token. Gib diesen Wert beim nächsten Aufruf als max_id-Parameter zurück, statt einen Seiten-Offset zu berechnen.
Kann ich verfolgen, wie eine Marke auf Poshmark trendet?
Ja – der Marken-Endpoint liefert aktive Listings und eine Gesamtanzahl für eine bestimmte Marke, und der Trend-Endpoint liefert Listings für eine kuratierte Trend-Collection (zum Beispiel einen Designer- oder Stil-Trend), beides nützlich, um die Resale-Nachfrage über die Zeit zu verfolgen.
Sind Poshmark-Preisdaten für Marktrecherche zuverlässig?
Behandle sie als Momentaufnahme. Poshmark-Seller bepreisen Artikel häufig um, bündeln Listings oder markieren sie als verkauft, und Closet-Statistiken wie Follower und Bewertung ändern sich täglich – versieh gespeicherte Werte mit einem Zeitstempel, statt einen einzelnen Abruf als fixen Preis zu behandeln.