Skip to main content
Use the Storefront API to build your own UGC display. It returns public posts with shoppable products and attribution for your market.

Configure the feed

Save your publishable key and market ID in your storefront configuration. To discover market IDs, call GET /v2/markets from your server with a secret key that has markets:read. For a curated feed, copy a published gallery ID from its Cevoid installation settings. There is no gallery discovery endpoint. Omit gallery_id for the workspace community feed. To discover curation labels, call GET /v2/labels from your server with labels:read.

Fetch posts

Request posts with your market and publishable key. For a product page, pass its product reference:
For a community wall or homepage section, omit product_ref. You can add gallery_id or label filters for curation. See the endpoint parameters for matching rules and limits. Append each page’s data, then request next_cursor while has_more is true. Keep all other query parameters unchanged. Restart pagination after changing the market or filters.

Render the content

  • Render IMAGE posts as images and VIDEO posts as videos. Use media.thumbnail_url as the video poster, alt for accessible descriptions, and video_captions for WebVTT captions.
  • Allow missing attribution, thumbnails, and captions. Hide captions when hide_caption is true.
  • Render tagged_products as product cards and respect availability. Show a card even when it has no hotspot coordinates. Use custom_link for an editorial call to action.
  • Hide empty sections. Keep the rest of the page usable if a request fails, and respect Retry-After on 429 responses.
Check the result with a tagged product, a video, and an empty feed. Confirm that product links and prices match the selected market.

Add analytics

Fetching posts does not record impressions or clicks. Analytics requires a separate integration; see Track events for custom event tracking.