Poshmark closet

GET https://api.api.sh/poshmark/v1/closet
1 credit / call e-commerce try it in the playground →

A seller's public Poshmark closet: profile (name, picture, header image, bio, city and state, website, joined and last active dates, listing, follower, following and share counts, orders shipped, items sold and five-star ratings) and the closet's listings (same fields as search: price and original price, brand, size, condition, category, colors, status, likes, comments, images and dates). Filter by brand, size, condition, sold listings, color and a price range, and sort; applied_filters echoes the filters used. Pass next_cursor back as cursor; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
usernamerequired string Closet username, or a poshmark.com/closet URL. Example: rebag
sort relevance | added_desc | price_asc | price_desc | like_count relevance (default), added_desc, price_asc, price_desc or like_count.
brand string Brand name(s), comma-separated.
size string Size(s), comma-separated, e.g. M or 9.5.
condition string nwt, ret, uln, ug, gd, fr or not_nwt (comma-separated).
sold boolean true for the closet's sold listings (default: available listings).
color string Color(s), comma-separated: Red, Pink, Orange, Yellow, Green, Blue, Purple, Gold, Silver, Black, Gray, White, Cream, Brown or Tan.
price_min number Lowest price in USD.
price_max number Highest price in USD.
limit integer Listings per page, 1-100 (default 48).
cursor string Pass next_cursor from the previous response.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/poshmark/v1/closet?username=rebag" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.