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.
Overview
Use Dash Social’s API to build fully custom Shoppable Galleries that match your brand’s layout and infrastructure. The API gives you complete design control, avoids third-party JavaScript, and supports server-side rendering with localized product data. For a fast, prebuilt option with minimal setup, see the Shoppable Gallery Widget →Shoppable Gallery Widget Setup
Embed Shoppable Galleries on your site with a quick JavaScript widget and minimal setup.
Before you start
You’ll need:- Brand ID: Visible in your developer settings or next to your brand name in the platform
- Gallery ID: Retrieved from the URL in Dash Social (see Step 2)
- Your product feed is set up and synced in the Dash Library. Set up your product feed.
Access requirements
- No API key or authentication required
- Rate limited per IP address
Implementation
Step 1: Create a gallery in Dash Social
If you haven’t already created a gallery:- Go to the Library and click Add Gallery
- Add UGC or owned media by clicking Add Media
- Tag each media item with products by selecting Link
Already have a gallery? Skip this step and jump to Step 2.
Step 2: Retrieve the gallery ID
Once the gallery is created, get yourgallery_id from the URL.
Example URL:
%3Ais a URL-encoded colon(:)- The Gallery ID is the number directly after
boardId:In this case, it’s5448990
Step 3: Retrieve gallery content
Use the following endpoint to get the media associated with a gallery:This endpoint requires no API key. You can call it directly from your frontend without exposing credentials. It works from the backend too.
sort: Sorts media by field. Prefix with-for descending order. Common values:ORDER: Returns media in the same order as the Dash UIPUBLISHED_AT: Sorts by publish date, newest firstPERFORMANCE: Sorts by engagement performance
Pro tip: Cache gallery data in your backend to reduce load times and API usage. If speed is a high priority feature for you, we recommend caching the results to avoid calling the API every time users load your website.
Filter archived products
Each product in the response includes anarchived field. Use it to decide whether to hide or display archived products differently in your gallery.
archived: true: the product is archivedarchived: false: the product is active
Step 4: Render the gallery on your website
Now that you have the media data and linked product data, render the gallery in any format that fits your site design: carousel, grid, list, or any other layout.Optional: Display UGC creator info and caption
By default, the gallery API returns a summarized response without post-level metadata. If you want to show creator handles, captions, or engagement details in your gallery UI, you need to use the private authenticated endpoint withsummary=0.
This requires an API key. The public endpoint does not return
source_data.API Quickstart
Generate an API key and make your first authenticated request.
summary=0 is set, each media item includes a source_data object with post-level and user-level metadata. For Instagram UGC, use media.source_data.instagram_user.handle to display the creator’s handle.
Sample response:
Optional: Localize your gallery content
If you serve international audiences, you can request localized product data for a specific region by adding theinclude_product_overrides parameter to your API call.
This lets you:
- Show translated product titles
- Display region-specific pricing and currency
- Link to localized product pages
Prerequisites
Before localizing your Shoppable Gallery, make sure you:- Set up a localized product feed in Dash Social. Follow the Localized Product Feed Setup Guide.
- Note your override identifier (e.g.,
DK,FR). The value passed toinclude_product_overridesmust match the override name configured in your Dash Social library.
Implementation
Addinclude_product_overrides to your request with the locale identifier:
product_overrides array. If no match exists, the media item is still returned but product_overrides will be null.
Render the localized values from product_overrides:
titlepriceandcurrency_codeurl
product_overrides is null.
Sample response:
Server-side caching
Shoppable Gallery content typically updates less frequently than product pages, making it ideal for caching on your server to reduce API calls and speed up page loads.Why cache API responses?
- Faster gallery rendering: Serve content instantly without waiting for a live API call.
- Lower API usage: Minimize repeated requests and stay within rate limits.
- Stable experience: Cached data ensures the gallery loads smoothly even during heavy traffic.
Recommended cache duration
- Since Shoppable Galleries update less often, you can safely use a longer TTL (e.g., 24–48 hours).
- If your gallery is updated regularly with new UGC or campaigns, use a shorter TTL (e.g., 6–12 hours).
Tip: Match the cache duration to how often you update your gallery content. Longer TTLs work best for static or seasonal galleries, while active campaigns benefit from shorter intervals.