Poshmark and Mercari APIs
Search public Poshmark sold listings and Mercari sold or active listings through CompSniper.
CompSniper exposes separate marketplace endpoints so eBay, Poshmark, and Mercari keep stable native fields without forcing every result into an inaccurate shared schema. All three use the same API key, rate limit, monthly quota, purchased-credit fallback, request IDs, and safe retry behavior.
Choose the endpoint
| Marketplace | Endpoint | Native page ceiling | Coverage |
|---|---|---|---|
| eBay | GET /v1/scrape | 240 | Sold or active listings across eight eBay sites |
| Poshmark US | GET /v1/poshmark/sold | 48 | Sold listings with public listing and optional seller evidence |
| Mercari US | GET /v1/mercari | 100 | Sold listings by default, or active listings with sold=false |
No Poshmark or Mercari account is required. CompSniper manages the anonymous marketplace sessions.
Search Poshmark sold listings
curl --fail-with-body \
-H "Authorization: Bearer cs_live_REPLACEWITHYOURKEY" \
"https://api.compsniper.com/v1/poshmark/sold?keyword=louis+vuitton+neverfull&department=women&page=1"Supported parameters:
| Parameter | Values | Default |
|---|---|---|
keyword | Any non-empty search term | Required |
page | 1 through 100 | 1 |
minPrice, maxPrice | Non-negative USD values | None |
department | all, women, men, kids, home, pets, electronics | all |
condition | all, nwt | all |
brand | Public Poshmark brand name | None |
sortBy | sold_recently, price_asc, price_desc, likes | sold_recently |
enrich | true, false | false |
Every Poshmark row can include the listing ID and URL, title, displayed sold and original prices, brand, size, category, condition code, New With Tags flag, colors, description, public sold timestamp, original listing timestamp, days to sell, likes, comments, shares, seller username, and image.
enrich=true adds public seller location, approximate sold-count evidence, and average ship time when
Poshmark exposes them. It still uses one CompSniper request. shippingCost remains null when Poshmark
does not expose item-level shipping evidence.
{
"listingId": "6478a1b2c3d4e5f6a7b8c9d0",
"title": "Louis Vuitton Neverfull MM Damier Ebene",
"soldPrice": 1250,
"originalPrice": 1960,
"brand": "Louis Vuitton",
"category": "Women > Bags",
"soldAt": "2026-07-15T18:30:00-07:00",
"listedAt": "2026-06-01T12:00:00-07:00",
"daysToSell": 44.27,
"sellerUsername": "luxurycloset"
}Search Mercari sold or active listings
curl --fail-with-body \
-H "Authorization: Bearer cs_live_REPLACEWITHYOURKEY" \
"https://api.compsniper.com/v1/mercari?keyword=sony+wh-1000xm5&count=10&sold=true"Supported parameters:
| Parameter | Values | Default |
|---|---|---|
keyword | Any non-empty search term | Required |
page | 1 through 100 | 1 |
count | 1 through 100 | 100 |
sortOrder | bestMatch, newest, lowestPrice, highestPrice, recentlySold, mostPopular | bestMatch |
minPrice, maxPrice | Non-negative USD values | None |
itemCondition | any, new, likeNew, good, fair, poor | any |
categoryId, brandId | Positive Mercari identifiers | None |
sold | true, false | true |
mostPopular is accepted for compatibility and currently aliases Mercari's recentlySold order.
Mercari rows include item ID and URL, title, displayed price and original price, USD currency, condition and condition ID, sold or active status, full and thumbnail images, seller ID, brand, and category. Mercari's public search response does not provide a reliable sold timestamp, so CompSniper does not invent one.
{
"itemId": "m14964613616",
"url": "https://www.mercari.com/us/item/m14964613616/",
"title": "Sony WH-1000XM5 Wireless Noise Cancelling Headphones Black",
"price": "100.00",
"currency": "USD",
"condition": "Good",
"conditionId": 3,
"status": "sold",
"brand": "Sony",
"categoryName": "Bluetooth Headphones",
"marketplace": "mercari"
}Price summaries and limitations
Sold Poshmark and Mercari responses include CompSniper's deterministic summary with count, median,
mean, minimum, maximum, p25, and p75. Active Mercari searches return summary: null because asking
prices are not completed-sale evidence.
Marketplace pages show public displayed prices. A marketplace may not disclose the lower amount accepted through a private offer, so a displayed sold price can be an upper bound. Always retain sample size and marketplace alongside a calculated median.
Billing, caching, and retries
Each successful page uses one monthly request or purchased credit, including enrich=true. Failed
upstream requests release the reservation and are not charged. Cached requests still use one customer
request because they return the same API value.
Handle rate_limited, quota_exceeded, temporary 502, and temporary 503 responses exactly as
described in Rate limits and quotas and Errors.