Skip to main content

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.

Pull aggregated competitor metrics across platforms. Use the data to benchmark your performance and inform your content strategy.

Use cases

Tracking competitor performance manually across platforms wastes hours each week. Competitive metric reports give you cross-platform benchmarks instantly.

Benchmark posting frequency

Compare your posting cadence against competitor averages to optimize your content calendar

Prioritize platform investments

Identify which platforms competitors post on most to guide your channel strategy

Track engagement trends

Monitor competitor engagement over time to spot momentum shifts and emerging opportunities

Before you start

Prerequisites:
  • API Key - Your authentication token - Get your API key from the API Quickstart.
  • Brand ID - Your brand’s unique ID
  • Tracked Competitors - Competitors added in Dash Social
Supported platforms:
  • Instagram
  • Facebook
  • YouTube
  • X
Add competitors first: Report on competitors tracked in Dash Social only. Add competitors in Dash Social → Settings → Competitor Management before using this API.

Test in the dashboard first

Preview competitive metrics in the Dash Social Dashboard to understand the data structure before pulling via API.

Implementation

Step 1: Get competitor account IDs

Get source account IDs for your tracked competitors. Each competitor has a unique ID per platform. Send a POST request:
POST https://library-backend.dashsocial.com/competitors/search
body = {
  "source": "INSTAGRAM"
}

Key query parameters

  • source: Platform to search:
    • Instagram: INSTAGRAM
    • Facebook: FACEBOOK
    • YouTube: YOUTUBE
    • Twitter (X): TWITTER
Sample response:
[
    {
        "avatar_url": "https://cdn.dashsocial.com/avatars/2306810931.jpeg",
        "brand_details": [
            {
                "brand_id": 144,
                "created_at": "2019-10-22T21:02:14+00:00"
            }
        ],
        "handle": "sunny.today",
        "source": "INSTAGRAM",
        "source_account_id": "2306810931"
    },
    {
        "avatar_url": "https://cdn.dashsocial.com/avatars/230344968.jpeg",
        "brand_details": [
            {
                "brand_id": 144,
                "created_at": "2020-03-15T10:22:33+00:00"
            }
        ],
        "handle": "fashionista_brand",
        "source": "INSTAGRAM",
        "source_account_id": "230344968"
    }
]
Collect each source_account_id value. Format as comma-separated: 2306810931,230344968.

Compare across platforms

To compare multiple platforms, call /competitors/search separately for each platform.

Step 2: Map your report parameters

Map the available parameters before making the API call:

Step 3: Request the metric report

Send a GET request using the parameters from Step 2. This example gets total posts published by competitors on Instagram during October 2025:
GET https://dashboard.dashsocial.com/reports/data?brand_ids=144&
		channels=INSTAGRAM_COMPETITIVE&
		metrics=NUMBER_OF_POSTS&
		start_date=2025-10-01&
		end_date=2025-10-30&
		context_start_date=2025-09-01&
		context_end_date=2025-09-30&
		report_type=COMPETITIVE_MULTI_BRAND_METRIC&
		competitor_source_account_ids=2306810931,230344968,232342925
This request uses:
  • Channel: INSTAGRAM_COMPETITIVE from Step 2
  • Metric: NUMBER_OF_POSTS from Step 2
  • Reporting period: October 2025 (start_date / end_date)
  • Comparison period: September 2025 (context_start_date / context_end_date)
  • Competitor IDs from Step 1

Compare multiple platforms

Make separate requests for each channel: INSTAGRAM_COMPETITIVE, FACEBOOK_COMPETITIVE, etc. Combine results in your dashboard or analytics tool.
Sample response:
{
    "data": {
        "1005579026": {
            "avatar": "https://cdn.dashsocial.com/avatars/1005579026.jpeg",
            "data_type": "COMPETITOR",
            "metrics": {
                "NUMBER_OF_POSTS": {
                    "INSTAGRAM_COMPETITIVE": {
                        "context": 97,
                        "context_change": -0.09278350515463918,
                        "value": 88
                    }
                }
            },
            "name": "competitor_alpha",
            "user_has_access": true
        },
        "144": {
            "avatar": "https://cdn.dashsocial.com/avatars/2306810931.jpeg",
            "data_type": "BRAND",
            "metrics": {
                "NUMBER_OF_POSTS": {
                    "INSTAGRAM_COMPETITIVE": {
                        "context": 48,
                        "context_change": -0.2708333333333333,
                        "value": 35
                    }
                }
            },
            "name": "your_brand",
            "user_has_access": true
        },
        "230344968": {
            "avatar": "https://cdn.dashsocial.com/avatars/230344968.jpeg",
            "data_type": "COMPETITOR",
            "metrics": {
                "NUMBER_OF_POSTS": {
                    "INSTAGRAM_COMPETITIVE": {
                        "context": 25,
                        "context_change": 0.04,
                        "value": 26
                    }
                }
            },
            "name": "competitor_beta",
            "user_has_access": true
        },
        "2306810931": {
            "avatar": "https://cdn.dashsocial.com/avatars/2306810931.jpeg",
            "data_type": "COMPETITOR",
            "metrics": {
                "NUMBER_OF_POSTS": {
                    "INSTAGRAM_COMPETITIVE": {
                        "context": null,
                        "context_change": null,
                        "value": null
                    }
                }
            },
            "name": "competitor_gamma",
            "user_has_access": true
        },
        "competitor_average": {
            "data_type": "COMPETITOR_AVERAGE",
            "metrics": {
                "NUMBER_OF_POSTS": {
                    "INSTAGRAM_COMPETITIVE": {
                        "context": 61.0,
                        "context_change": -0.06557377049180328,
                        "value": 57.0
                    }
                }
            },
            "name": "Competitor Average",
            "user_has_access": true
        }
    },
    "product_category": "COMPETITIVE"
}

Step 4: Interpret the response

The response includes data for each competitor plus a competitor_average summary.

Response structure

Each account includes:
  • data_type: BRAND (your brand), COMPETITOR, or COMPETITOR_AVERAGE
  • name: Account handle
  • metrics: Object containing requested metrics
    • value: Metric total for the reporting period
    • context: Metric total for the comparison period
    • context_change: Decimal representing percent change (e.g., -0.09 = -9%, 0.04 = +4%)
Common errors:
  • Invalid channel name - Use INSTAGRAM_COMPETITIVE, not INSTAGRAM. Competitive channels require the _COMPETITIVE suffix.
  • Invalid source account ID - Verify IDs match the /competitors/search response from Step 1.
  • Missing context dates - Include context_start_date and context_end_date for trend analysis.
  • Null values in response - Competitors may return null if no data exists for the period.

Metrics

Metric NameDescriptionMetric API Name
Avg. Engagement Rate - PublicThe average percentage of people who engaged with your competitors’ posts, based on their follower countAVG_ENGAGEMENT_RATE_PUBLIC
Avg. Estimated ReachThe average number of unique accounts that saw your posts published during the Reporting Period. The average estimated number of unique accounts that saw competitor’s posts based on their number of followers during the Reporting Period.AVG_REACH
Followers - Growth RateThe percentage of your competitors’ followers increased by over the comparison periodFOLLOWER_GROWTH_RATE
Followers - Net NewThe net new number of people who followed your competitors’ accountsNET_NEW_FOLLOWERS
Number of PostsThe number of posts you’ve published during the reporting periodNUMBER_OF_POSTS
CommentsThe number of comments your competitors’ posts receivedORGANIC_COMMENTS
LikesThe number of likes your competitors’ posts receivedORGANIC_LIKES
FollowersThe total number of followers your competitors have on this channelTOTAL_FOLLOWERS

Next steps

With your competitive metrics, you can:
  • Build benchmarking dashboards - Compare your brand against competitor averages
  • Track posting cadence trends - Query monthly to spot competitor posting frequency changes
  • Identify platform priorities - Compare metrics across channels to see where competitors invest most
  • Inform content strategy - Use engagement metrics to understand what volume and frequency work for competitors