compsniper-com Poshmark API

The Poshmark API from compsniper-com — 1 operation(s) for poshmark.

Operations 1

GET /v1/poshmark/sold Scrape Poshmark sold listings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/compsniper-com:compsniper-com-poshmark-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

compsniper-com-poshmark-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CompSniper Marketplace and Shipping Poshmark API
  version: 2.3.0
  description: Public eBay (including up to 3 years of sold history), Poshmark, Mercari, TCGplayer, Grailed, Depop and PSA graded card (prices by grade, population) data plus a separate quote-only US shipping-rates product. Shipping quotes separate applicable services from carrier-packaging and content-restricted options, use an independent subscription and quota, and do not consume sold-comps requests or purchased credits.
  contact:
    name: CompSniper
    url: https://compsniper.com
servers:
- url: https://api.compsniper.com
security:
- bearerAuth: []
tags:
- name: Poshmark
paths:
  /v1/poshmark/sold:
    get:
      tags:
      - Poshmark
      summary: Scrape Poshmark sold listings
      description: Returns one native page of public Poshmark sold listings. Authentication, rate limits, monthly quota, purchased credits, request IDs, and cache headers match the other CompSniper endpoints. Each successful page uses one CompSniper request, including enrich=true. The native page ceiling is 48 listings.
      security:
      - bearerAuth: []
      parameters:
      - $ref: '#/components/parameters/CreditSource'
      - schema:
          type: string
          minLength: 1
          description: Poshmark search term
          example: louis vuitton neverfull
        required: true
        name: keyword
        in: query
      - schema:
          type: integer
          minimum: 1
          default: 1
          description: Page number. Each page returns up to 48 items.
          example: 1
        required: false
        name: page
        in: query
      - schema:
          type:
          - number
          - 'null'
          minimum: 0
          description: Minimum price filter (USD)
          example: 50
        required: false
        name: minPrice
        in: query
      - schema:
          type:
          - number
          - 'null'
          minimum: 0
          description: Maximum price filter (USD)
          example: 500
        required: false
        name: maxPrice
        in: query
      - schema:
          type: string
          enum:
          - all
          - women
          - men
          - kids
          - home
          - pets
          - electronics
          default: all
          description: Poshmark department filter
        required: false
        name: department
        in: query
      - schema:
          type: string
          enum:
          - all
          - nwt
          default: all
          description: Condition filter. 'nwt' = New With Tags only.
        required: false
        name: condition
        in: query
      - schema:
          type: string
          description: Filter by brand name
          example: Louis Vuitton
        required: false
        name: brand
        in: query
      - schema:
          type: string
          enum:
          - sold_recently
          - price_asc
          - price_desc
          - likes
          default: sold_recently
          description: Sort order for results
        required: false
        name: sortBy
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          default: 'false'
          description: Adds public seller location, approximate sold-count evidence, and average ship time. Sold date, listed date, colors, description, category, and condition are already returned when present in the native search response. This still uses one CompSniper request.
          example: 'false'
        required: false
        name: enrich
        in: query
        description: Adds public seller location, approximate sold-count evidence, and average ship time. Sold date, listed date, colors, description, category, and condition are already returned when present in the native search response. This still uses one CompSniper request.
      responses:
        '200':
          description: Sold listings
          content:
            application/json:
              schema:
                type: object
                properties:
                  keyword:
                    type: string
                  page:
                    type: number
                    description: Current page number
                  totalItems:
                    type: number
                    description: Number of items returned in this response (up to 48)
                  hasNextPage:
                    type: boolean
                    description: Whether more pages of results are available.
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        listingId:
                          type: string
                          description: Poshmark listing ID (24-char hex)
                          example: 6478a1b2c3d4e5f6a7b8c9d0
                        url:
                          type: string
                          example: https://poshmark.com/listing/Louis-Vuitton-Neverfull-6478a1b2c3d4e5f6a7b8c9d0
                        title:
                          type: string
                          example: Louis Vuitton Neverfull MM Damier Ebene
                        soldPrice:
                          type:
                          - number
                          - 'null'
                          description: Sale price in USD
                          example: 1250
                        originalPrice:
                          type:
                          - number
                          - 'null'
                          description: Original listing price in USD
                          example: 1960
                        shippingCost:
                          type:
                          - number
                          - 'null'
                          description: Reserved for item-level shipping evidence. null when Poshmark does not expose it.
                          example: 7.97
                        brand:
                          type:
                          - string
                          - 'null'
                          example: Louis Vuitton
                        size:
                          type:
                          - string
                          - 'null'
                          example: OS
                        category:
                          type:
                          - string
                          - 'null'
                          description: Department > Category path.
                          example: Women > Bags > Totes
                        condition:
                          type:
                          - string
                          - 'null'
                          description: Item condition from Poshmark API.
                          example: Pre-owned
                        nwt:
                          type: boolean
                          description: New With Tags flag
                        colors:
                          type: array
                          items:
                            type: string
                          description: Color names from Poshmark API.
                          example:
                          - Brown
                        description:
                          type:
                          - string
                          - 'null'
                          description: Full listing description text.
                        soldAt:
                          type:
                          - string
                          - 'null'
                          description: Public ISO timestamp when Poshmark marked the item sold.
                          example: '2026-07-15T18:30:00.000Z'
                        listedAt:
                          type:
                          - string
                          - 'null'
                          description: ISO timestamp when the item was first published.
                          example: '2026-06-01T12:00:00.000Z'
                        daysToSell:
                          type:
                          - number
                          - 'null'
                          description: Days between listedAt and soldAt. null when either date is missing.
                          example: 44.27
                        likesCount:
                          type:
                          - number
                          - 'null'
                          example: 23
                        commentsCount:
                          type:
                          - number
                          - 'null'
                          description: Public comment count when exposed by Poshmark search.
                          example: 4
                        shareCount:
                          type:
                          - number
                          - 'null'
                          description: Public share count when exposed by Poshmark search.
                          example: 12
                        sellerUsername:
                          type:
                          - string
                          - 'null'
                          example: luxurycloset
                        sellerLocation:
                          type:
                          - string
                          - 'null'
                          description: Seller city + state. Requires enrich=true.
                          example: Los Angeles, CA
                        sellerSoldCount:
                          type:
                          - number
                          - 'null'
                          description: Approximate public seller sold count. Requires enrich=true.
                          example: 847
                        sellerAvgShipTime:
                          type:
                          - number
                          - 'null'
                          description: Seller's average ship time in days. Requires enrich=true.
                          example: 1.5
                        thumbnailUrl:
                          type:
                          - string
                          - 'null'
                          description: Listing thumbnail URL
                          example: https://di2ponv0v5otw.cloudfront.net/posts/2026/07/15/...
                        scrapedAt:
                          type: string
                          description: ISO timestamp when the listing was scraped
                          example: '2026-08-08T14:30:00.000Z'
                      required:
                      - listingId
                      - url
                      - title
                      - soldPrice
                      - originalPrice
                      - shippingCost
                      - brand
                      - size
                      - category
                      - condition
                      - nwt
                      - colors
                      - description
                      - soldAt
                      - listedAt
                      - daysToSell
                      - likesCount
                      - commentsCount
                      - shareCount
                      - sellerUsername
                      - sellerLocation
                      - sellerSoldCount
                      - sellerAvgShipTime
                      - thumbnailUrl
                      - scrapedAt
                  summary:
                    allOf:
                    - $ref: '#/components/schemas/PriceSummary'
                required:
                - keyword
                - page
                - totalItems
                - hasNextPage
                - items
                - summary
        '400':
          description: Invalid query parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  detail:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limit or quota exceeded
          content:
            application/json:
              schema:
                oneOf:
                - type: object
                  properties:
                    code:
                      type: string
                      enum:
                      - rate_limited
                    error:
                      type: string
                    plan:
                      type: string
                    limit:
                      type: number
                    remaining:
                      type: number
                      enum:
                      - 0
                    retry_after:
                      type: number
                    reset:
                      type: number
                  required:
                  - code
                  - error
                  - plan
                  - limit
                  - remaining
                  - retry_after
                  - reset
                - type: object
                  properties:
                    code:
                      type: string
                      enum:
                      - quota_exceeded
                    error:
                      type: string
                    plan:
                      type: string
                    limit:
                      type: number
                    used:
                      type: number
                    remaining:
                      type: number
                      enum:
                      - 0
                    reset_at:
                      type: string
                    retry_after:
                      type: number
                    upgrade_url:
                      type: string
                  required:
                  - code
                  - error
                  - plan
                  - limit
                  - used
                  - remaining
                  - reset_at
                  - retry_after
                  - upgrade_url
        '500':
          description: Scrape failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  detail:
                    type: string
                required:
                - error
        '502':
          description: Poshmark fetch failed after retry
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  detail:
                    type: string
                required:
                - error
        '503':
          description: 'Server busy: concurrency limit reached; retry shortly'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  detail:
                    type: string
                required:
                - error
      operationId: searchPoshmarkSold
components:
  parameters:
    CreditSource:
      name: X-Credit-Source
      in: header
      required: false
      schema:
        type: string
        enum:
        - credits
      description: Omit to use temporary carryover first, then monthly quota, then purchased credits. Set to credits to spend a purchased credit directly. Failed searches are not charged.
  schemas:
    PriceSummary:
      type:
      - object
      - 'null'
      description: Deterministic price intelligence over the returned sold items.
      properties:
        count:
          type: integer
          description: Items with a usable sold price.
        currency:
          type:
          - string
          - 'null'
        median:
          type: number
        mean:
          type: number
        min:
          type: number
        max:
          type: number
        p25:
          type: number
          description: Lower bound of the realistic range.
        p75:
          type: number
          description: Upper bound of the realistic range.
        avgShipping:
          type:
          - number
          - 'null'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Send your API key as ''Authorization: Bearer cs_live_...''.'