This guide shows you how to use theDocumentation Index
Fetch the complete documentation index at: https://developer.dashsocial.com/llms.txt
Use this file to discover all available pages before exploring further.
media/v2 endpoint to get access to your post stats for all your channels.
Use case examples
Each of these use cases highlights how teams use themedia/v2 endpoint:
Campaign Performance Review
Pull all posts published during a campaign window to analyze impact over time.
UGC Engagement Analysis
Filter by source type to analyze performance of user-generated content separately.
Platform-Based Filtering
Fetch media from a single social platform to create focused reports or dashboards.
Media Insights
Compare performance across media types and surface high-performing assets.
Before you start
Make sure you have:- API access token with permissions to the relevant brand.
- Brand ID for the account you want to query.
Setup and considerations
Endpoint:PUT https://library-backend.dashsocial.com/brands/{brand_id}/media/v2
Rate limit
To help you avoid hitting rate limits and ensure smooth data retrieval, follow these best practices:- Set
limit=99in your requests to keep requests efficient and light, allowing you to retrieve more data per minute. - Add a 1000ms (1 second) delay between requests to prevent hitting limits when paginating.
Data freshness
Metric updates vary by post age:- Recently published posts: updated more frequently
- Older posts: updated less frequently
Implementation
To implement requests to themedia/v2 endpoint, refer to the endpoint’s reference for detailed information. Here is an example request with the appropriate filters:
Key query parameters
brand_media_types — which platform and content type to include. Expand a platform below to see all valid values:
Instagram
| Value | Description |
|---|---|
INSTAGRAM_OWNED | Brand-owned content |
INSTAGRAM_UGC | UGC |
INSTAGRAM_OTHER | Competitor content |
INSTAGRAM_OWNED_IGTV | Brand-owned IGTV |
INSTAGRAM_UGC_IGTV | UGC IGTV |
INSTAGRAM_OTHER_IGTV | Competitor IGTV |
INSTAGRAM_STORY | Brand-owned stories |
INSTAGRAM_STORY_UGC | UGC stories |
Pinterest
| Value | Description |
|---|---|
PINTEREST_OWNED | Brand-owned content |
Facebook
| Value | Description |
|---|---|
FACEBOOK_OWNED | Brand-owned content |
FACEBOOK_LINK | Posts with external links |
FACEBOOK_TEXT_LINK | Text with links |
FACEBOOK_TEXT | Text-only posts |
X.com
X.com
| Value | Description |
|---|---|
TWITTER_OWNED | Brand-owned content |
TWITTER_OWNED_LINK | Posts with links |
TWITTER_OWNED_TEXT | Text-only posts |
TikTok
TikTok
| Value | Description |
|---|---|
TIKTOK_OWNED | Brand-owned content |
YouTube
YouTube
| Value | Description |
|---|---|
YOUTUBE_OWNED | Brand-owned content |
Other
Other
| Value | Description |
|---|---|
UPLOADED | Uploads |
source_created_at — date range to filter posts.
limit — max results per page. Set limit=99 for efficiency.
offset — pagination offset.
Full example
A complete implementation that handles pagination and rate limiting:brandId, token, platform (e.g. INSTAGRAM_OWNED), and date range via source_created_at.
Step 2 — Set up headers and a delay helper
Include the Authorization Bearer token and Content-Type: application/json. The delay helper adds a pause between paginated requests to respect rate limits.
Step 3 — Paginate through results
Send a PUT request and collect each page of results. If paging.next is present in the response, continue fetching until all pages are retrieved.
Step 4 — Shape the response
Map the raw response to only the fields you need — post ID, predicted engagement, actual engagement, and post URL — for clean integration into dashboards or reports.
Sample response
Each platform returns data in its own structure. When processing results, your integration should check the platform type and parse metrics accordingly.Metrics
Select a platform to see the available metric names and their corresponding API key names.- Instagram
- Instagram Stories
- Facebook
- X.com
- TikTok
- YouTube
| Metric name | API key name |
|---|---|
| Amount Spent - Promoted | amount_spent |
| Clicks - Promoted | clicks |
| Cost Per ThruPlay - Promoted | cost_per_thruplay |
| CPC - Promoted | cpc |
| CPM - Promoted | cpm |
| CTR - Promoted | ctr |
| Effectiveness - Organic | effectiveness |
| Engagement Rate - Organic (Impressions) | engagement_rate_impressions |
| Engagement Rate - Organic (Followers) | engagement_rate_public |
| Entertainment Score | entertainment_score |
| Impressions - Organic | impressions |
| Likes - Organic | like_count |
| LikeShop Clicks | likeshop.clicks |
| Reach - Total | paid_and_organic_reach |
| Saves - Total | paid_and_organic_saved |
| Shares - Total | paid_and_organic_shares |
| Engagement Rate - Promoted (Impressions) | paid_engagement_rate |
| Impressions - Promoted | paid_impressions |
| Likes - Promoted | paid_likes |
| Reach - Promoted | paid_reach |
| Saves - Promoted | paid_saved |
| Shares - Promoted | paid_shares |
| Video Views - Promoted | paid_video_views |
| Bio Link Clicks - Organic | profile_activity.bio_link_clicked |
| Calls - Organic | profile_activity.calls |
| Directions - Organic | profile_activity.direction |
| Emails - Organic | profile_activity.email |
| Other - Organic | profile_activity.other |
| Profile Clicks - Organic | profile_activity.total |
| Profile Visits - Organic | profile_visits |
| Reach - Organic | reach |
| Replays - Organic | replays |
| Saves - Organic | saved |
| Shares - Organic | shares |
| Engagements - Total | sum_total_engagements |
| ThruPlays - Promoted | thruplays |
| Comments - Total | total_comments |
| Engagements | total_engagement |
| Impressions - Total | total_impressions |
| Likes - Total | total_likes |
| All Plays - Organic | total_plays |
| Total Time Viewed - Organic | total_time_viewed_sec |
| Plays - Total | total_video_views |
| Video Plays 100% - Promoted | video_plays_100 |
| Video Plays 25% - Promoted | video_plays_25 |
| Video Plays 50% - Promoted | video_plays_50 |
| Video Plays 75% - Promoted | video_plays_75 |
| Views | views |