Poshmark Real-Time Data — Thrift & Resale Intel avatar

Poshmark Real-Time Data — Thrift & Resale Intel

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Poshmark Real-Time Data — Thrift & Resale Intel

Poshmark Real-Time Data — Thrift & Resale Intel

Live Poshmark resale intelligence: keyword search, full product details, closet inventory, seller profiles, sold comps. Stream results in real time, get instant deal alerts via webhooks, price vintage & thrift finds with confidence. Free plan: 2 results/run.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Emmanuel

Emmanuel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Poshmark Real-Time Data — Live Resale Market Intelligence

Live Poshmark market data for vintage & thrift resellers: keyword listing search, full product details, closet inventory tracking, seller profiles, sold comps, and instant deal alerts. Structured JSON streams to your dataset row-by-row while the run is still working — results start appearing in seconds.

⚠️ Free Apify plan notice: Free-tier accounts are limited to 2 results per run. Upgrade to any paid Apify plan for unlimited exports. This is stated here, in the Actor input form, and in the run log — it is a policy limit, not an error.

Who this is for

  • Vintage & thrift resellers sourcing undervalued inventory (Poshmark, eBay, Depop, Mercari cross-listers)
  • Consignment shop owners tracking competitor closets and market prices
  • Resale arbitrageurs hunting margin spreads between platforms
  • Fashion market researchers & pricing intelligence teams tracking sell-through and trend data
  • AI agents & automations that need structured resale market data via the Apify MCP server

What you can do with it

  • Find undervalued thrift & vintage inventory — search "vintage single stitch tee", "carhartt detroit jacket", "vintage 90s levis 501", "patagonia fleece", "y2k baby tee", or "gorpcore north face" and sort by just-listed to catch fresh steals before anyone else.
  • Price comps & sell-through analysis — pull completed sold listings to compute real market averages, sell-through rates, and realistic resale margins before you buy.
  • Closet inventory monitoring — watch top competitors' and consignment sellers' full active stock, spot new listings and repricing moves.
  • Instant Slack / Discord deal alerts — pipe every matched item to a webhook the moment it is saved, so your pricing bot or phone buzzes on newly listed steals.
  • Multi-platform pricing sync — feed structured rows into Sheets, Airtable, Make, Zapier, n8n, or your own repricer.

Features

FeatureWhat it doesOutput (featureType)
🔍 Listing SearchLive keyword search with brand, size, condition, and min/max price filterslisting_search
✨ Full Details EnrichmentAdds description, fabric/material, style tags, full image gallery, and seller shipping discounts to the same search rowlisting_search (detailsFetched: true)
📦 Listing DetailsFull record for specific listings by URL or listing IDlisting_details
👚 Closet ListingsFull active inventory of any reseller/thrift closetcloset_listings
👤 Seller ProfileReseller stats: love notes, items sold, closet size, followers, verification, bioseller_profile
🧾 Sold Item Comps / HistoryCompleted & sold listings for market comps, margins, and sell-throughsold_history
🔗 Scrape By URLDirect processing of any Poshmark URL — search, closet, category page, brand feed, or listingscrape_by_url

Enrichment, not filtering: when Enrich with full listing details is on, every search result stays one row and gains deep fields in place (detailsFetched: true). No duplicate rows, no dropped items — every discovered item always reaches the dataset, so your run cost stays predictable. Enrichment adds a little extra time per listing.

Quick start (10 results in seconds)

The Actor comes prefilled for an instant demo run:

  1. Click Start — no configuration needed.
  2. Defaults: Listing Search on, keywords carhartt detroit jacket, vintage 90s levis 501, patagonia fleece, 10 results per keyword.
  3. Watch the dataset fill row-by-row in real time.

Example thrift searches that work well

GoalKeywordsFilters
Workwear flipscarhartt detroit jacket, carhartt vestbrand: Carhartt
Vintage denimvintage 90s levis 501, levis 550 orange tabsize: 32x32
Gorpcorepatagonia fleece, arc'teryx shell, north face nuptsemax price: 60
Y2K / streetweary2k baby tee, vintage nba jersey, stussy 90ssort: just listed
Designer for cheapcoach vintage bag, dooney bourkecondition: NWT/NWOT
Band teessingle stitch band tee, vintage concert teemax price: 40

Full input reference

🌍 Region

FieldTypeDefaultNotes
countryselectUSMarketplace region: US, CA, UK, AU. Affects currency and the recommended proxy country.

🔍 Listing Search (enableListingSearch, default on)

FieldTypeDefaultNotes
searchKeywordsstring list3 thrift examplesRequired when search is on. Any Poshmark search term.
searchMaxResultsinteger10Max results per keyword (1–200).
searchSortselectrelevancerelevance, newest (just listed), price_low_to_high, price_high_to_low.
searchBrandstring—e.g. Carhartt, Levi's, Patagonia.
searchSizestring—e.g. M, L, 32x32, 9.5.
searchConditionselectanynwt, nwot, g (Good), e (Excellent), p (Poor).
searchMinPrice / searchMaxPriceinteger—Price window in region currency.
searchOnSalebooleanfalsePrefer listings marked down vs. original price.
searchFetchFullDetailsbooleanfalseEnrich with full listing details — merges description, fabric/material, style tags, full gallery, and seller shipping discounts into the same row.

📦 Listing Details (enableListingDetails, default off)

FieldTypeNotes
listingUrlsstring listFull listing URLs (https://poshmark.com/listing/...).
listingIdsstring listListing IDs (the hex ID at the end of a listing URL).

👚 Closet Listings (enableClosetListings, default off)

FieldTypeDefaultNotes
sellerUsernamesstring list—Closet usernames without @. Shared by Closet Listings, Seller Profile, and Sold Comps.
sellerMaxListingsinteger30Max active listings per closet (1–500).

👤 Seller Profile (enableSellerProfile, default off)

Uses the same sellerUsernames list. One row per seller.

🧾 Sold Item Comps / History (enableSoldHistory, default off)

Uses the same sellerUsernames list.

FieldTypeDefaultNotes
soldMaxItemsinteger30Max sold items per seller (1–500).

🔗 Scrape By URL (enableScrapeByUrl, default off)

FieldTypeNotes
scrapeUrlsstring listAny Poshmark search URL, closet URL, category page, brand feed, or single listing URL.

Run volume

There is no single global cap — each feature section controls its own volume:

  • Listing Search → searchMaxResults (per keyword)
  • Closet Listings → sellerMaxListings (per seller)
  • Sold Comps → soldMaxItems (per seller)
  • Listing Details & Scrape By URL → the number of URLs/IDs you paste

🔔 Delivery

FieldTypeDefaultNotes
webhookUrlstring—Optional. Every record is also POSTed here in real time.
webhookFormatselectjsonjson (full record) or slack (Slack-ready message).

🌐 Connection

FieldTypeDefaultNotes
proxyConfigurationproxy editorApify RESIDENTIAL, country USResidential connections are strongly recommended. Match the country to your Region (US / CA / GB).

Output schema (field reference)

One dataset row per item. Filter views by featureType: listing_search, listing_details, closet_listings, seller_profile, sold_history, scrape_by_url.

item_id — listing ID · item_url, url — listing/closet URL · slug — URL slug · featureType — producing feature · scrapedAt — ISO timestamp · position — rank where found · pageType — detected page kind (URL feature)

Pricing

current_price · original_price (retail) · currency · discount_percentage · price_drop_amount · accepts_offers · lowest_offer_accepted (details)

Shipping

shipping_cost · shipping_discount (seller shipping promo text) · free_shipping · ships_from / ships_to · item_location · local_pickup_available

Product

title · description (full on details/enriched rows) · brand, brand_id · size · condition (New With Tags / New Without Tags / Good / Excellent / Poor) · category, department, subcategory · color, colors · style_tags (vintage, y2k, gorpcore…) · pattern · material (fabric) · item_specifics · quantity_available · hashtags · is_nwt, is_nwot, is_handmade, is_vintage, is_authentic

Images

main_image_url · additional_image_urls (full gallery on enriched/details rows)

Engagement & timing

likes_count · shares_count · comments_count · number_of_offers · is_sold · status · created_at · updated_at · sold_at · last_price_drop_at · time_since_listed · is_newly_listed (≤ 7 days)

Seller

seller_username · seller_id · seller_display_name · seller_rating · seller_love_notes_count · seller_items_sold · seller_closet_size · seller_location · seller_verified · seller_last_active · seller_response_rate · seller_bundle_discount_percentage

Seller profile rows

display_name · full_name · bio · followers · following · total_sales · total_listings · total_likes · total_earnings · rating · love_notes_count · city, state · is_verified · member_since

Run marker

detailsFetched — true when a search row was enriched in place (still one row per listing).

Webhook integration

Every record is always written to the dataset. Add webhookUrl and each record is additionally POSTed in real time — perfect for instant deal alerts.

Slack format (webhookFormat: "slack") — paste a Slack Incoming Webhook URL; messages render like:

:shopping_bags: *Vintage Carhartt Detroit Jacket Brown*
*Type:* listing_search • *Price:* USD 45 (was USD 98) • *Brand:* Carhartt • *Size:* L • *Condition:* Good • *Seller:* thrifthaus • 12 likes
<https://poshmark.com/listing/...|Open on Poshmark>

JSON format (webhookFormat: "json") — the full record object, one POST per row. Works with Discord (via /webhooks), Zapier, Make, n8n, or your own pricing bot:

{
"featureType": "listing_search",
"title": "Vintage Carhartt Detroit Jacket Brown",
"current_price": 45,
"original_price": 98,
"discount_percentage": 54,
"brand": "Carhartt",
"size": "L",
"condition": "Good",
"likes_count": 12,
"seller_username": "thrifthaus",
"item_url": "https://poshmark.com/listing/...",
"scrapedAt": "2026-09-26T12:00:00.000Z"
}

Webhook delivery is best-effort: a slow or failing webhook URL never blocks or breaks the run or the dataset writes.

Using with AI agents (MCP)

The Actor works great through the Apify MCP server with Claude Desktop, Cursor, LangChain, or any MCP client:

  1. In your MCP client config, add the Apify MCP server with your APIFY_TOKEN.
  2. Expose this Actor as a tool (Actor ID: ~your-username/poshmark-real-time-data).
  3. Ask natural-language questions like:
    • "What is the average sold price for a 90s Carhartt J97 jacket on Poshmark?"
    • "Find Patagonia fleece listings under $30 posted today and Slack me the deals."
    • "Watch @topthriftcloset's inventory and tell me when they list Levis 501s under $25."

The Actor returns clean, structured rows — no cleanup needed for LLM pipelines.

Free-tier limits (paid-only features)

PlanBehavior
FreeCapped at 2 results per run (default). The run finishes cleanly with a clear log message — this is a policy limit, not an error.
Any paid plan (Bronze+)No caps — full output.

Owner-side configuration (Apify Console → Actor → Environment variables, not visible to users):

  • FREE_TIER_MODE = limit (default) or block (free users get 0 results with an upgrade message).
  • FREE_TIER_MAX_ITEMS = 2 (default).

Paying users are detected automatically from platform run context — nothing to configure per-run.

FAQ

Do I need my own proxies? No. The Actor ships preconfigured for Apify Residential proxy (US default) and includes the residential proxy charge in its pricing. You can point the proxy editor at another residential provider if you prefer, but most users should leave the defaults. Match the proxy country to the Region field (US → US, CA → CA, UK → GB).

Why did my free run stop at 2 items? That's the free-plan cap described above — it applies to every Apify Actor on the free plan. Upgrade to any paid Apify plan and the cap disappears automatically; no code or config change needed.

How fresh is the data? Every run collects live data at the moment you press Start. "Just listed" sort plus webhooks is the recommended combo for deal-alert workflows. Typical usage: schedule runs every 5–30 minutes on watchlists.

Will I get rate-limited or blocked? The Actor paces keyword work with small randomized pauses, reuses a warmed-up session, and routes through residential connections with country targeting — the same safeguards used at 10,000+ item scale. Keep concurrency defaults and it just works.

What does "Enrich with full listing details" cost me in time? It adds a little extra time per listing to hydrate full product fields in the same row. With it off you get fast search cards (price, title, brand, size, likes, condition). Either way, every discovered item is saved — items are never filtered out.

Can I track sellers instead of keywords? Yes — Closet Listings, Seller Profile, and Sold Comps all share the sellerUsernames list. Combined with a schedule, you get a competitor inventory feed and sell-through history.

How do I compute sell-through rate? Pull Sold Comps for a seller, then divide sold items by (sold + active closet listings) for the same seller — both features use the same usernames field, so one input drives both sides of the ratio.

Is any raw source payload included? No — rows contain only the clean, structured fields documented above. There is no raw-data option and no internal payload dumps in webhooks.

Does the run timeout? Runs support up to 10,000 seconds (about 2.7 hours) per run, which covers 10,000+ item exports at default pacing. For larger volumes, run multiple scheduled passes with smaller per-section limits.

Pricing model

This Actor uses Pay-Per-Event (PPE): you are charged one result event per dataset row saved. Set a max spend per run in Apify Console — when your limit is reached, the Actor stops gracefully, writes its summary, and exits cleanly without errors.

Disclaimer

This Actor is not affiliated with, endorsed by, or sponsored by Poshmark. It provides access to publicly available marketplace information for research and business intelligence. Respect Poshmark's Terms of Service when using collected data.


Built for the thrift & resale community. Happy flipping! 🧥