> ## Documentation Index
> Fetch the complete documentation index at: https://developer.dashsocial.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve product media

> Returns media associated with products for a brand. No authentication required.



## OpenAPI

````yaml api-reference/library-openapi.json GET /public/brands/{brand_id}/products/media
openapi: 3.0.2
info:
  contact:
    email: support@dashsocial.com
    name: Dash Social
    url: https://dashsocial.com
  description: Manage media, galleries, products, and more in the Dash Social platform.
  license:
    name: Commercial
    url: https://dashsocial.com/terms
  title: Dash Social Library Backend Service
  version: '1.0'
  x-logo:
    altText: Dash Social logo
    href: https://developer.dashsocial.com
    url: https://developer.dashsocial.com/assets/logo.svg
servers:
  - url: https://library-backend.dashsocial.com
security:
  - BearerAuth: []
tags:
  - description: Endpoints responsible for administrative actions.
    name: Admin
  - description: Endpoint(s) for working with affiliate links in campaigns
    name: AffiliateLinks
  - description: Endpoints responsible for managing AI alternative ads.
    name: AiAlternativeAds
  - description: Endpoints responsible for managing AI alternative media.
    name: AiAlternativeMedia
  - description: Endpoints responsible for fetching AI alternative media for a brand.
    name: BrandAiAlternativeMedia
  - description: Endpoints responsible for creating, reading, and updating campaigns.
    name: Campaign
  - description: Endpoints responsible for bulk campaigns actions for many brands.
    name: CampaignBulk
  - description: Endpoints for campaign benchmarks.
    name: CampaignBenchmarks
  - description: CRUD endpoint for comparing campaigns
    name: Campaign Comparison
  - description: Endpoints responsible for searching for competitors
    name: Competitors
  - description: Endpoints relating to content automations
    name: Content Automations
  - description: Endpoints relating to content automations across organizations
    name: Content Automations Cross Organization
  - description: Endpoints for content rights management.
    name: ContentRights
  - description: Endpoints relating to brand media content tags.
    name: BrandMediaContentTags
  - description: Endpoints relating to content tags.
    name: ContentTags
  - description: Endpoints relating to custom metrics
    name: Custom Metrics
  - description: Endpoints relating to segment clusters tags
    name: SegmentClusterTags
  - description: Endpoints relating to segment clusters tag associations
    name: SegmentClusterTagAssociations
  - description: Retrieve competitors for a channel
    name: CompetitorsSearch
  - description: Endpoints responsible for creating, reading, and updating galleries.
    name: Gallery
  - description: Public endpoints responsible for reading galleries
    name: PublicGallery
  - description: Endpoints responsible for gallery tags operations.
    name: GalleryTags
  - description: Endpoints relating to content automations.
    name: ContentContentAutomations
  - description: >-
      Endpoints responsible for starting, continuing, and reading gallery
      transfers
    name: GalleryTransfer
  - description: Endpoints to fetch Google Analytics data for brands
    name: GoogleAnalytics
  - description: Endpoints responsible for processing media (mostly superseded by v2).
    name: MediaV1
  - description: Endpoints responsible for searching for media
    name: MediaSearch
  - description: >-
      Endpoints responsible for creating, reading, updating a single piece of
      media.
    name: Single Media
  - description: Endpoints responsible for creating, reading, and updating media.
    name: Media
  - description: Endpoints responsible for query aggregated media timeseries metrics.
    name: MediaTimeseriesMetrics
  - description: Public endpoints responsible for reading media
    name: PublicMedia
  - description: Endpoints responsible for creating, reading, and updating products.
    name: Product
  - description: Public endpoints responsible for reading products.
    name: PublicProduct
  - description: >-
      Endpoints responsible for creating, reading, and updating Product
      Catalogs.
    name: Product Catalog
  - description: Endpoints responsible for creating, reading, and updating Product Feeds.
    name: Product Feed
  - description: Report generation
    name: Reports
  - description: Endpoints responsible for fetching Open Graph metadata.
    name: URL Metadata
  - description: UTM Settings, preset values and encoding/decoding of scheduler posts
    name: UTMSettings
  - description: Endpoints for video generation usage.
    name: VideoGeneration
paths:
  /public/brands/{brand_id}/products/media:
    parameters:
      - description: The Dash Social assigned ID of the brand.
        in: path
        name: brand_id
        required: true
        schema:
          format: int32
          type: integer
    get:
      tags:
        - PublicProduct
      summary: Retrieve product media
      description: >-
        Returns media associated with products for a brand. No authentication
        required.
      parameters:
        - description: Source ID of the product (SKU or brand's product ID).
          in: query
          name: product_source_id
          required: false
          schema:
            type: string
        - description: >-
            Request true if there are multiple product rows with the same
            source_id, otherwise only the first will be returned.
          in: query
          name: multiple_by_source_id
          required: false
          schema:
            default: false
            type: boolean
        - description: Source ID of the catalog/collection the product belongs to.
          in: query
          name: product_source_group_id
          required: false
          schema:
            type: string
        - description: >-
            Request true to order results by the most recent source media
            created date.
          in: query
          name: sort_by_source_created
          required: false
          schema:
            default: false
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/PublicBrandMediaWithProducts'
                type: array
          description: OK
        '422':
          $ref: '#/components/responses/UNPROCESSABLE_ENTITY'
        default:
          $ref: '#/components/responses/DEFAULT_ERROR'
      security: []
components:
  schemas:
    PublicBrandMediaWithProducts:
      properties:
        brand_id:
          type: integer
        duration: {}
        hide_in_widget: {}
        image_sizes:
          readOnly: true
        media_group:
          type: string
        media_id:
          type: integer
        media_type: {}
        original_height:
          type: string
        original_width:
          type: string
        predictions:
          readOnly: true
        products:
          items:
            allOf:
              - $ref: '#/components/schemas/PublicMediaProduct'
            description: List of products associated with the brand media
            readOnly: true
          type: array
        source_data:
          readOnly: true
        type:
          enum:
            - instagram_owned
            - INSTAGRAM_OWNED
            - instagram_ugc
            - INSTAGRAM_UGC
            - instagram_other
            - INSTAGRAM_OTHER
            - instagram_owned_igtv
            - INSTAGRAM_OWNED_IGTV
            - instagram_ugc_igtv
            - INSTAGRAM_UGC_IGTV
            - instagram_other_igtv
            - INSTAGRAM_OTHER_IGTV
            - instagram_story
            - INSTAGRAM_STORY
            - instagram_story_ugc
            - INSTAGRAM_STORY_UGC
            - instagram_ads
            - INSTAGRAM_ADS
            - uploaded
            - UPLOADED
            - edited
            - EDITED
            - ai_generated
            - AI_GENERATED
            - pinterest_owned
            - PINTEREST_OWNED
            - pinterest_story
            - PINTEREST_STORY
            - pinterest_ugc
            - PINTEREST_UGC
            - facebook_owned
            - FACEBOOK_OWNED
            - facebook_ads
            - FACEBOOK_ADS
            - facebook_post_ad
            - FACEBOOK_POST_AD
            - facebook_post_ad_l
            - FACEBOOK_POST_AD_L
            - facebook_post_ad_t
            - FACEBOOK_POST_AD_T
            - facebook_post_ad_tl
            - FACEBOOK_POST_AD_TL
            - facebook_link
            - FACEBOOK_LINK
            - facebook_text_link
            - FACEBOOK_TEXT_LINK
            - facebook_text
            - FACEBOOK_TEXT
            - facebook_other
            - FACEBOOK_OTHER
            - facebook_other_text
            - FACEBOOK_OTHER_TEXT
            - facebook_other_tl
            - FACEBOOK_OTHER_TL
            - facebook_other_link
            - FACEBOOK_OTHER_LINK
            - twitter_owned
            - TWITTER_OWNED
            - twitter_owned_link
            - TWITTER_OWNED_LINK
            - twitter_owned_text
            - TWITTER_OWNED_TEXT
            - twitter_ugc
            - TWITTER_UGC
            - twitter_ugc_link
            - TWITTER_UGC_LINK
            - twitter_ugc_text
            - TWITTER_UGC_TEXT
            - twitter_other
            - TWITTER_OTHER
            - twitter_other_link
            - TWITTER_OTHER_LINK
            - twitter_other_text
            - TWITTER_OTHER_TEXT
            - tiktok_owned
            - TIKTOK_OWNED
            - tiktok_ugc
            - TIKTOK_UGC
            - tiktok_other
            - TIKTOK_OTHER
            - tiktok_ad_owned
            - TIKTOK_AD_OWNED
            - youtube_owned
            - YOUTUBE_OWNED
            - youtube_ugc
            - YOUTUBE_UGC
            - youtube_other
            - YOUTUBE_OTHER
            - linkedin_owned
            - LINKEDIN_OWNED
            - threads_owned
            - THREADS_OWNED
            - snapchat_owned_story
            - SNAPCHAT_OWNED_STORY
            - snapchat_owned_saved_story
            - SNAPCHAT_OWNED_SAVED_STORY
            - snapchat_owned_spotlight
            - SNAPCHAT_OWNED_SPOTLIGHT
            - snapchat_owned_snap
            - SNAPCHAT_OWNED_SNAP
          type: string
        urls:
          readOnly: true
        video_sizes:
          readOnly: true
      required:
        - brand_id
        - media_id
        - type
      type: object
    PublicMediaProduct:
      properties:
        bounding_box:
          nullable: true
        created_at:
          format: date-time
          type: string
        deleted:
          nullable: true
          type: integer
        deleted_at:
          format: date-time
          nullable: true
          type: string
        description:
          type: string
        hide_in_widget:
          nullable: true
          type: integer
        id:
          type: integer
        image_url:
          type: string
        product:
          $ref: '#/components/schemas/Product1'
        product_groups:
          items:
            $ref: '#/components/schemas/ProductGroup'
          type: array
        product_id:
          type: integer
        source_id:
          type: string
        title:
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          type: string
        x:
          type: number
        'y':
          type: number
      type: object
    Error:
      properties:
        code:
          description: Error code
          type: integer
        errors:
          description: Errors
          type: object
        message:
          description: Error message
          type: string
        status:
          description: Error name
          type: string
      type: object
    Product1:
      properties:
        archived:
          type: boolean
        availability:
          type: string
        brand_id:
          type: integer
        category:
          maxLength: 512
          nullable: true
          type: string
        created_at:
          format: date-time
          nullable: true
          type: string
        currency_code:
          maxLength: 3
          nullable: true
          type: string
        description:
          nullable: true
          type: string
        google_source_id:
          maxLength: 70
          nullable: true
          type: string
        has_edits:
          type: integer
        id:
          type: integer
        image_url:
          maxLength: 750
          nullable: true
          type: string
        is_disabled:
          type: integer
        is_in_stock:
          enum:
            - in stock
            - IN STOCK
            - out of stock
            - OUT OF STOCK
            - preorder
            - PREORDER
            - available for order
            - AVAILABLE FOR ORDER
            - discontinued
            - DISCONTINUED
          type: string
        last_updated_by_product_feed_at:
          format: date-time
          nullable: true
          type: string
        original_url:
          maxLength: 750
          nullable: true
          type: string
        price:
          maxLength: 50
          nullable: true
          type: string
        product_overrides:
          items:
            $ref: '#/components/schemas/ProductOverride'
          type: array
        source_group_id:
          maxLength: 70
          nullable: true
          type: string
        source_id:
          maxLength: 70
          nullable: true
          type: string
        status:
          maxLength: 10
          nullable: true
          type: string
        title:
          maxLength: 512
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          maxLength: 750
          type: string
      required:
        - brand_id
        - title
        - url
      type: object
    ProductGroup:
      properties:
        country_code:
          type: string
        created_at:
          format: date-time
          type: string
        description:
          type: string
        image_url:
          type: string
        source_id:
          type: string
        title:
          type: string
        url:
          type: string
      type: object
    ProductOverride:
      properties:
        availability:
          type: string
        brand_id:
          type: integer
        created_at:
          format: date-time
          type: string
        currency_code:
          maxLength: 3
          nullable: true
          type: string
        description:
          nullable: true
          type: string
        id:
          type: integer
        image_url:
          maxLength: 750
          nullable: true
          type: string
        last_updated_by_product_feed_at:
          format: date-time
          nullable: true
          type: string
        original_url:
          maxLength: 750
          nullable: true
          type: string
        override:
          maxLength: 5
          type: string
        price:
          maxLength: 50
          nullable: true
          type: string
        source_id:
          maxLength: 70
          type: string
        title:
          maxLength: 512
          nullable: true
          type: string
        updated_at:
          format: date-time
          type: string
        url:
          maxLength: 750
          nullable: true
          type: string
      required:
        - brand_id
        - override
        - source_id
      type: object
  responses:
    UNPROCESSABLE_ENTITY:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Unprocessable Entity
    DEFAULT_ERROR:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Default error response
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key from Dash Social developer settings

````