depop Insights API

Shop and product insights

Operations 4

GET /api/v1/insights/shop/live/ Get shop insights #
GET /api/v1/insights/products/by-sku/{sku}/live/ Get product insights by SKU #
GET /api/v1/insights/products/by-slug/{slug}/live/ Get product insights by slug #
GET /api/v1/insights/products/by-product-id/{productId}/live/ Get product insights by product ID #

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/depop-insights-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

depop-insights-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Seller Insights API
  version: 1.0.0
  description: Externally facing API to allow enterprise partners to automate listing on Depop.
servers:
- url: https://partnerapi-staging.depop.com
- url: https://partnerapi.depop.com
security:
- BearerAuth: []
tags:
- name: Insights
  description: Shop and product insights
paths:
  /api/v1/insights/shop/live/:
    get:
      tags:
      - Insights
      summary: Get shop insights
      description: 'This endpoint returns insights about the authenticated seller''s shop, including product counts, shop rating, offers awaiting review, boost ad counts and orders awaiting shipping.


        **Required OAuth Scopes:** at least one of the scopes below. Each section of the response is included only when its corresponding scope is present, and omitted otherwise. A `403` is returned only when none of these scopes are present.

        - `products_read` - Include product counts (`products`) and boost ad counts (`boost`). - `shop_read` - Include shop rating (`rating`). - `offers_read` - Include offers awaiting seller review (`offers`). - `orders_read` - Include orders awaiting shipping (`orders`).


        A section is included in the response only when its corresponding scope is present, and is omitted entirely otherwise. A `403` is returned only when the token has none of the four scopes above.

        **Note:** Counters may be delayed by up to 60 minutes and may not reflect the most recent changes to your shop inventory.'
      operationId: getShopInsightsLive
      responses:
        '200':
          description: Shop insights. Each section is present only when the token holds the scope that section requires; sections for missing scopes are omitted. The `orders` section is additionally omitted when there are no orders awaiting shipping.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShopInsightsResponse'
              example:
                products:
                  on_sale_count: 42
                  total_count: 150
                rating:
                  average: 4.8
                  count: 120
                offers:
                  awaiting_seller_review_count: 8
                boost:
                  live_count: 25
                  sold_count: 4
                orders:
                  awaiting_shipping_count: 7
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '502':
          $ref: '#/components/responses/BadGateway'
  /api/v1/insights/products/by-sku/{sku}/live/:
    get:
      tags:
      - Insights
      summary: Get product insights by SKU
      description: 'This endpoint returns live insights about a single product in the authenticated seller''s shop, identified by its SKU, including likes, bag adds, offers awaiting review and boosted-listing performance.


        **Required OAuth Scopes:** at least one of the scopes below. Each section of the response is included only when its corresponding scope is present, and omitted otherwise. A `403` is returned only when none of these scopes are present.

        - `products_read` - Include likes (`likes_count`) and bag adds (`bag_count`). - `offers_read` - Include offers awaiting review (`offers`).'
      operationId: getProductInsightsLiveBySku
      parameters:
      - name: sku
        in: path
        description: SKU of the product to fetch insights for.
        required: true
        schema:
          type: string
          maxLength: 50
        example: ABC-12345-S-BL
      responses:
        '200':
          description: Product insights. Each section is present only when the token holds the scope that section requires; sections for missing scopes are omitted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductInsightsResponse'
              example:
                likes_count: 34
                bag_count: 12
                offers:
                  awaiting_seller_review_count: 3
                  awaiting_buyer_review_count: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/ProductNotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '502':
          $ref: '#/components/responses/BadGateway'
  /api/v1/insights/products/by-slug/{slug}/live/:
    get:
      tags:
      - Insights
      summary: Get product insights by slug
      description: 'This endpoint returns live insights about a single product in the authenticated seller''s shop, identified by its slug, including likes, bag adds, offers awaiting review and boosted-listing performance.


        **Required OAuth Scopes:** at least one of the scopes below. Each section of the response is included only when its corresponding scope is present, and omitted otherwise. A `403` is returned only when none of these scopes are present.

        - `products_read` - Include likes (`likes_count`) and bag adds (`bag_count`). - `offers_read` - Include offers awaiting review (`offers`).'
      operationId: getProductInsightsLiveBySlug
      parameters:
      - name: slug
        in: path
        description: The slug of the product to fetch insights for.
        required: true
        schema:
          type: string
        example: vintage-nike-t-shirt-7033001
      responses:
        '200':
          description: Product insights. Each section is present only when the token holds the scope that section requires; sections for missing scopes are omitted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductInsightsResponse'
              example:
                likes_count: 34
                bag_count: 12
                offers:
                  awaiting_seller_review_count: 3
                  awaiting_buyer_review_count: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/ProductNotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '502':
          $ref: '#/components/responses/BadGateway'
  /api/v1/insights/products/by-product-id/{productId}/live/:
    get:
      tags:
      - Insights
      summary: Get product insights by product ID
      description: 'This endpoint returns live insights about a single product in the authenticated seller''s shop, identified by its internal product ID, including likes, bag adds, offers awaiting review and boosted-listing performance.


        **Required OAuth Scopes:** at least one of the scopes below. Each section of the response is included only when its corresponding scope is present, and omitted otherwise. A `403` is returned only when none of these scopes are present.

        - `products_read` - Include likes (`likes_count`) and bag adds (`bag_count`). - `offers_read` - Include offers awaiting review (`offers`).'
      operationId: getProductInsightsLiveByProductId
      parameters:
      - name: productId
        in: path
        description: The internal product ID of the product to fetch insights for.
        required: true
        schema:
          type: integer
          format: int64
        example: 7033001
      responses:
        '200':
          description: Product insights. Each section is present only when the token holds the scope that section requires; sections for missing scopes are omitted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductInsightsResponse'
              example:
                likes_count: 34
                bag_count: 12
                offers:
                  awaiting_seller_review_count: 3
                  awaiting_buyer_review_count: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/ProductNotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '502':
          $ref: '#/components/responses/BadGateway'
components:
  schemas:
    ShopBoostInsights:
      type: object
      description: Boosted listings (ads) insights for the shop.
      required:
      - live_count
      - sold_count
      properties:
        live_count:
          type: integer
          description: Number of boosted listings currently live.
          example: 12
        sold_count:
          type: integer
          description: Number of boosted listings that have sold.
          example: 34
    ProductBoostInsights:
      type: object
      description: Boosted listing (ads) performance for the product. Included only when the token has the `products_read` scope. Individual counters are omitted when the underlying data is unavailable.
      properties:
        organic_clicks:
          type: integer
          description: Number of clicks from organic (non-boosted) placements.
          example: 120
        boosted_clicks:
          type: integer
          description: Number of clicks from boosted placements.
          example: 45
        organic_impressions:
          type: integer
          description: Number of impressions from organic (non-boosted) placements.
          example: 3400
        boosted_impressions:
          type: integer
          description: Number of impressions from boosted placements.
          example: 900
    ShopRatingInsights:
      type: object
      description: Seller rating insights for the shop.
      required:
      - average
      - count
      properties:
        average:
          type: number
          format: double
          description: Average seller rating across all reviews.
          example: 4.8
        count:
          type: integer
          description: Number of seller reviews received.
          example: 120
    ShopOrdersInsights:
      type: object
      description: Order insights for the shop.
      required:
      - awaiting_shipping_count
      properties:
        awaiting_shipping_count:
          type: integer
          description: Count of orders awaiting shipping. Counts orders whose receipt is within the recent cut-off window and that have not been refunded. Capped at 20.
          example: 5
          maximum: 20
    ShopOffersInsights:
      type: object
      description: Offer insights for the shop.
      required:
      - awaiting_seller_review_count
      properties:
        awaiting_seller_review_count:
          type: integer
          description: Number of offers across the shop awaiting the seller's review.
          example: 8
    ShopProductsInsights:
      type: object
      description: Product count insights for the shop.
      required:
      - on_sale_count
      - total_count
      properties:
        on_sale_count:
          type: integer
          description: Number of products currently on sale.
          example: 42
        total_count:
          type: integer
          description: Total number of products in the shop.
          example: 150
    ErrorItem:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          example: missing_attribute
          description: The error code.
        message:
          type: string
          example: Missing mandatory field
          description: The error message.
    ErrorResponse:
      type: object
      properties:
        id:
          type: string
          example: a210923f-c1f3-4d84-a2bd-7f18c68553e2
          description: A unique identifier for the error response.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorItem'
      example:
        id: a210923f-c1f3-4d84-a2bd-7f18c68553e2
        errors:
        - code: product_not_found
          message: 'Product (sku: womens-tshirt-1, id: 123) not found'
    ProductInsightsResponse:
      type: object
      description: Live insights for a single product. Each section is present only when the token holds the scope that section requires; sections for missing scopes are omitted.
      properties:
        likes_count:
          type: integer
          description: Number of likes on the product. Included only when the token has the `products_read` scope.
          example: 34
        bag_count:
          type: integer
          description: Number of users who have added the product to their bag. Included only when the token has the `products_read` scope.
          example: 12
        offers:
          $ref: '#/components/schemas/ProductOffersInsights'
        boost:
          $ref: '#/components/schemas/ProductBoostInsights'
    ProductOffersInsights:
      type: object
      description: Offer insights for the product. Included only when the token has the `offers_read` scope.
      required:
      - awaiting_seller_review_count
      - awaiting_buyer_review_count
      properties:
        awaiting_seller_review_count:
          type: integer
          description: Number of offers on the product awaiting the seller's review.
          example: 3
        awaiting_buyer_review_count:
          type: integer
          description: Number of offers on the product awaiting the buyer's review.
          example: 1
    ShopInsightsResponse:
      type: object
      description: Insights for the authenticated seller's shop. Counters may be delayed by up to 60 minutes.
      properties:
        products:
          $ref: '#/components/schemas/ShopProductsInsights'
        rating:
          $ref: '#/components/schemas/ShopRatingInsights'
        boost:
          $ref: '#/components/schemas/ShopBoostInsights'
        orders:
          $ref: '#/components/schemas/ShopOrdersInsights'
        offers:
          $ref: '#/components/schemas/ShopOffersInsights'
  responses:
    BadGateway:
      description: Bad Gateway - an upstream service required to build the insights response failed or returned an unexpected response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            id: a210923f-c1f3-4d84-a2bd-7f18c68553e2
            errors:
            - code: unexpected_response
              message: An upstream request at depop has failed to be processed.
    TooManyRequests:
      description: Too Many Requests - a rate limit has been exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            id: a210923f-c1f3-4d84-a2bd-7f18c68553e2
            errors:
            - code: too_many_requests
              message: Rate limit exceeded. Please retry later.
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            id: a210923f-c1f3-4d84-a2bd-7f18c68553e2
            errors:
            - code: unauthorized
              message: invalid api key
    Forbidden:
      description: Forbidden - Insufficient scope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            id: a210923f-c1f3-4d84-a2bd-7f18c68553e2
            errors:
            - code: insufficient_scope
              message: 'Required scope: products_write'
    ProductNotFound:
      description: Not Found - the product does not exist or is not owned by the authenticated seller
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            id: a210923f-c1f3-4d84-a2bd-7f18c68553e2
            errors:
            - code: product_not_found
              message: 'Product (sku: ABC-12345-S-BL, id: None, slug: None) not found'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key