Bazaarvoice Media API

The Media API from Bazaarvoice — 4 operation(s) for media.

Operations 4

GET /v1/media/{dataSourceId} Get media
GET /v1/media/{dataSourceId}/items/{itemId} Get media item
GET /v1/media/{dataSourceId}/items/{itemId}/recommendations Get media item recommendations
GET /v1/media/{dataSourceId}/images/top Get top media image for a data source

Documentation

📖
APIReference
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/reference/get_data-reviews-json
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/docs/display-overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/reference/conversations-submit-review-reference
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/docs/submission-overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-ResponseAPI/reference/getclientresponse
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ResponseAPI/docs/overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-ResponseAPI/reference/countresponsesforreviews
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ResponseAPI/reference/countresponsesforreviews
📖
APIReference
https://developers.bazaarvoice.com/v1.0-NotificationsAPI/reference/notifications-get-opt-in-email
📖
Documentation
https://developers.bazaarvoice.com/v1.0-NotificationsAPI/docs/notifications-subscription-api
📖
APIReference
https://developers.bazaarvoice.com/v1.0-TransactionsAPI/reference/ingesttransaction
📖
Documentation
https://developers.bazaarvoice.com/v1.0-TransactionsAPI/docs/overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-SentimentsAPI/reference/gettopfeaturequotes
📖
Documentation
https://developers.bazaarvoice.com/v1.0-SentimentsAPI/docs/overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-SocialCommerceAPI/docs/api-endpoints
📖
Documentation
https://developers.bazaarvoice.com/v1.0-SocialCommerceAPI/docs/introduction
📖
APIReference
https://developers.bazaarvoice.com/v1.0-AuthenticDiscoveryAPI/reference/getstructureddata
📖
Documentation
https://developers.bazaarvoice.com/v1.0-AuthenticDiscoveryAPI/docs/home
📖
APIReference
https://developers.bazaarvoice.com/v1.0-DCE/reference/dce-request-manifest-file-list
📖
Documentation
https://developers.bazaarvoice.com/v1.0-DCE/docs/home
📖
APIReference
https://developers.bazaarvoice.com/v1.0-PS-Export/reference/ps-export-request-manifest-file-list-reference
📖
Documentation
https://developers.bazaarvoice.com/v1.0-PS-Export/docs/home

Specifications

Other Resources

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/bazaarvoice-media-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 email required.

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

OpenAPI Specification

bazaarvoice-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Media API
  description: Curalate Media API
  version: V1
servers:
- url: https://edge.curalate.com
tags:
- name: Media
paths:
  /v1/media/{dataSourceId}:
    get:
      tags:
      - Media
      summary: Get media
      description: Gets media items for a data source
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      - name: filter
        in: query
        schema:
          type: string
          example: productId:leather-jacket
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - Latest
          - Likes
          - Moderation
          - Optimized
          - LastUpdated
      - name: limit
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: before
        in: query
        schema:
          type: string
          example: 6ca1a4ad-fb10-41fa-abab-78531a80531e_1487593595790
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: after
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: offset
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: locale
        in: query
        schema:
          type: string
          example: en-US
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
      - name: productMetadata
        in: query
        schema:
          type: string
          example: age,gender
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
      - name: requireProduct
        in: query
        schema:
          type: boolean
          example: true
      - name: parameterizeProducts
        in: query
        schema:
          type: boolean
          default: false
      - name: appId
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
      - name: networkSource
        in: query
        schema:
          type: string
          enum:
          - Pinterest
          - Facebook
          - Instagram
          - Twitter
          - Tumblr
          - Snapchat
          - TikTok
          - YouTube
          - MediaImport
          example: Instagram
      - name: noExpired
        in: query
        schema:
          type: boolean
          default: false
      - name: skipMetrics
        in: query
        schema:
          type: boolean
          example: true
      - name: showRatings
        in: query
        schema:
          type: boolean
          default: false
      - name: rid
        in: query
        description: Request id used to identify items within a single request
        schema:
          type: string
      - name: src
        in: query
        description: Source url of the requesting content
        schema:
          type: string
      - name: fpcuid
        in: query
        description: First party cookie id of the requesting user
        schema:
          type: string
      - name: eid
        in: query
        description: Experiment id for the user's experiment
        schema:
          type: string
      - name: vid
        in: query
        description: Variation id for the user's experiment
        schema:
          type: string
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMediaResponse'
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
  /v1/media/{dataSourceId}/items/{itemId}:
    get:
      tags:
      - Media
      summary: Get media item
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      - name: itemId
        in: path
        required: true
        schema:
          type: string
          example: fe502c92-e9b5-45ee-ad3a-429c1e94f9c4
          x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
        x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
      - name: productMetadata
        in: query
        schema:
          type: string
          example: age,gender
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
      - name: parameterizeProducts
        in: query
        schema:
          type: boolean
          default: false
      - name: locale
        in: query
        schema:
          type: string
          example: en-US
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
      - name: appId
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
      - name: noExpired
        in: query
        schema:
          type: boolean
          default: false
      - name: showRatings
        in: query
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMediaItemResponse'
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
  /v1/media/{dataSourceId}/items/{itemId}/recommendations:
    get:
      tags:
      - Media
      summary: Get media item recommendations
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      - name: itemId
        in: path
        required: true
        schema:
          type: string
          example: fe502c92-e9b5-45ee-ad3a-429c1e94f9c4
          x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
        x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
      - name: limit
        in: query
        schema:
          type: integer
          format: int32
          example: 10
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRecommendedMediaResponse'
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
  /v1/media/{dataSourceId}/images/top:
    get:
      tags:
      - Media
      summary: Get top media image for a data source
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
          example: 10
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - Latest
          - Likes
          - Moderation
          - Optimized
          - LastUpdated
      - name: filter
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
      - name: fallbackImage
        in: query
        schema:
          type: string
      - name: width
        in: query
        schema:
          type: integer
          format: int32
          example: 400
      - name: height
        in: query
        schema:
          type: integer
          format: int32
          example: 400
      - name: appId
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
      - name: networkSource
        in: query
        schema:
          type: string
          enum:
          - Pinterest
          - Facebook
          - Instagram
          - Twitter
          - Tumblr
          - Snapchat
          - TikTok
          - MediaImport
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            image/*: {}
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
components:
  schemas:
    Price:
      required:
      - display
      type: object
      properties:
        display:
          type: string
        value:
          type: number
        currencySymbol:
          type: string
        currencyCode:
          type: string
        saleValue:
          type: number
        saleDisplay:
          type: string
        isOnSale:
          type: boolean
    Cursors:
      type: object
      properties:
        before:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        after:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
    ThumbnailPhoto:
      required:
      - medium
      - mediumSquare
      - original
      - small
      - smallSquare
      type: object
      properties:
        original:
          $ref: '#/components/schemas/Image'
        small:
          $ref: '#/components/schemas/Image'
        medium:
          $ref: '#/components/schemas/Image'
        smallSquare:
          $ref: '#/components/schemas/Image'
        mediumSquare:
          $ref: '#/components/schemas/Image'
    GetRecommendedMediaResponse:
      required:
      - items
      - metadata
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/MediaItem'
        metadata:
          $ref: '#/components/schemas/MediaApiMetadata'
    NetworkUser:
      type: object
      properties:
        username:
          type: string
        displayName:
          type: string
        link:
          type: string
        image:
          $ref: '#/components/schemas/ThumbnailPhoto'
        followerCount:
          type: integer
          format: int64
        followingCount:
          type: integer
          format: int64
    ErrorPayload:
      required:
      - code
      - errorId
      type: object
      properties:
        code:
          type: string
          enum:
          - Unknown
          - MediaApiBadRequest
          - InvalidInput
        errorId:
          type: string
          format: uuid
        msg:
          type: string
        data:
          type: object
          properties: {}
    MediaApiPaging:
      required:
      - cursors
      type: object
      properties:
        cursors:
          $ref: '#/components/schemas/Cursors'
        previous:
          type: string
          format: url
        next:
          type: string
          format: url
    Image:
      required:
      - link
      type: object
      properties:
        link:
          type: string
    MediaItem:
      required:
      - id
      - labels
      - products
      - source
      type: object
      properties:
        id:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.MediaItemId
        source:
          $ref: '#/components/schemas/ContentSource'
        media:
          $ref: '#/components/schemas/NetworkMedia'
        products:
          type: array
          items:
            $ref: '#/components/schemas/ProductDetails'
        labels:
          uniqueItems: true
          type: array
          items:
            type: string
        voteCount:
          type: integer
          format: int64
        clickthrough:
          $ref: '#/components/schemas/Clickthrough'
    LocationDetails:
      type: object
      properties:
        name:
          type: string
        longitude:
          type: number
          format: double
        latitude:
          type: number
          format: double
    GetMediaItemResponse:
      required:
      - data
      - metadata
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MediaItemData'
        metadata:
          $ref: '#/components/schemas/MediaApiMetadata'
    Clickthrough:
      required:
      - link
      type: object
      properties:
        link:
          type: string
    GetMediaResponse:
      required:
      - data
      - metadata
      - paging
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MediaItemsData'
        metadata:
          $ref: '#/components/schemas/MediaApiMetadata'
        paging:
          $ref: '#/components/schemas/MediaApiPaging'
    MediaApiMetadata:
      required:
      - traceId
      type: object
      properties:
        traceId:
          type: string
        requestId:
          type: string
        firstPartyCuid:
          type: string
        curalateUserId:
          type: string
        customCuralateUserId:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.CustomCuralateUserId
        pdpMetadata:
          $ref: '#/components/schemas/PdpMetadata'
    ContentSource:
      required:
      - lastUpdatedTimestamp
      - postedTimestamp
      - type
      type: object
      properties:
        type:
          type: string
        postedTimestamp:
          type: integer
          format: int64
        lastUpdatedTimestamp:
          type: integer
          format: int64
        moderationApprovalTimestamp:
          type: integer
          format: int64
        user:
          $ref: '#/components/schemas/NetworkUser'
        link:
          type: string
        caption:
          type: string
        commentCount:
          type: integer
          format: int64
        likeCount:
          type: integer
          format: int64
        repinCount:
          type: integer
          format: int64
        location:
          $ref: '#/components/schemas/LocationDetails'
        sourceId:
          type: string
        embedUrl:
          type: string
        viewCount:
          type: integer
          format: int64
    PdpMetadata:
      type: object
      properties:
        curalateProductId:
          type: string
        curalateStyleId:
          type: string
    MediaItemData:
      required:
      - item
      type: object
      properties:
        item:
          $ref: '#/components/schemas/MediaItem'
    SpatialTag:
      required:
      - label
      - x
      - y
      type: object
      properties:
        x:
          type: number
          format: double
        y:
          type: number
          format: double
        label:
          type: string
    MediaItemsData:
      required:
      - items
      - resultsCount
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/MediaItem'
        resultsCount:
          type: integer
          format: int64
    NetworkMedia:
      type: object
      discriminator:
        propertyName: type
    ProductDetails:
      required:
      - id
      - images
      - link
      - metadata
      - name
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        images:
          type: array
          items:
            $ref: '#/components/schemas/NetworkPhoto'
        price:
          $ref: '#/components/schemas/Price'
        link:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        spatialTag:
          $ref: '#/components/schemas/SpatialTag'
        reviewStatistic:
          $ref: '#/components/schemas/ReviewStat'
    NetworkPhoto:
      required:
      - extraLarge
      - extraLargeSquare
      - id
      - large
      - largeSquare
      - medium
      - mediumSquare
      - original
      - small
      - smallSquare
      type: object
      properties:
        id:
          type: string
        original:
          $ref: '#/components/schemas/Image'
        small:
          $ref: '#/components/schemas/Image'
        medium:
          $ref: '#/components/schemas/Image'
        large:
          $ref: '#/components/schemas/Image'
        extraLarge:
          $ref: '#/components/schemas/Image'
        smallSquare:
          $ref: '#/components/schemas/Image'
        mediumSquare:
          $ref: '#/components/schemas/Image'
        largeSquare:
          $ref: '#/components/schemas/Image'
        extraLargeSquare:
          $ref: '#/components/schemas/Image'
        type:
          type: string
    ReviewStat:
      required:
      - overallRatingRange
      type: object
      properties:
        averageOverallRating:
          type: object
          properties: {}
        totalReviewCount:
          type: object
          properties: {}
        overallRatingRange:
          type: integer
          format: int32
        productId:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.ExternalId
  securitySchemes:
    ApiKey:
      type: apiKey
      name: X-Curalate-Api-Key
      in: header