Skip to main content
Track how your social metrics change over time. This guide shows you how to pull daily or monthly time-series data using the Graph report. Use this data to chart trends in Power BI, Tableau, or Looker.

Use cases

Static snapshots miss the story. The Graph report breaks metrics down by date so you can track momentum and spot patterns over time.

Spot content patterns

Chart daily Instagram Reels views to identify which days drive the most engagement

Compare brand performance

Plot monthly impressions across brands to see which campaigns gained traction

Measure campaign momentum

Track TikTok engagement trends over 90 days to quantify campaign impact

Before you start

Make sure you have:
  • API Key - Your authentication token
  • Brand ID - The ID for the brand you want to report on
If you need help getting these, check out our API Quickstart.

Test in the dashboard first

Build a Graph report in the Dash Social Dashboard UI to preview channel, brand, and metric combinations before using the API.

Implementation

Step 1: Map your parameters

Understand what parameters are available to control your time-series data.
ParameterDescription
brand_idsYour brand ID. Use comma-separated values for multiple brands (e.g., 144,256).
channelsSocial platform to report on. Options:
  • INSTAGRAM - Feed posts
  • INSTAGRAM_STORIES - Stories
  • FACEBOOK - Facebook posts
  • TIKTOK - TikTok videos
  • TWITTER - X posts
  • YOUTUBE - YouTube videos
  • PINTEREST - Pinterest pins
  • LINKEDIN - LinkedIn posts
metricsTime-series metrics to track. See the Metrics section below for all available options.Track multiple metrics by separating with commas (e.g., VIEWS,REACH,TOTAL_ENGAGEMENTS).
report_typeSet to GRAPH to return time-series values grouped by date rather than aggregated totals.
time_scaleTime granularity for your data:
  • DAILY (default) - Breakdown by day
  • MONTHLY - Breakdown by month
start_date / end_dateYour reporting period in YYYY-MM-DD format.
context_start_date / context_end_dateOptional comparison period for trend analysis in YYYY-MM-DD format. Compare current performance against a previous time range.
Time-series data structure: The Graph report returns values grouped by date. Each date in your range has its own metric value for plotting trends over time.

Step 2: Make the API call

Send a GET request to /reports/data using the parameters from Step 1. Set report_type=GRAPH to get time-series data broken down by date instead of aggregated totals.
This example pulls daily Instagram views for 7 days. Swap in different parameters from Step 1 to customize your analysis.

Step 3: Read the response

The API returns time-series data organized by brand, channel, metric, and date. Sample response:
Response structure:
  • data: Nested structure organized by brand → channel → metric → date
  • Brand ID (e.g., 144): Your brand ID
  • Channel (e.g., INSTAGRAM): The social platform
  • Metric (e.g., VIEWS): The performance metric
  • Date (e.g., 2025-05-01): Each date in your range
  • Value (e.g., 205.0): The metric value for that date
In this example, Instagram views ranged from 130 to 210 during May 1-7, 2025. Peak performance occurred on May 6.
Want aggregated totals instead? Use the Metric report to get summed KPIs without time breakdowns.

Querying multiple brands and channels

When you query multiple brands across multiple channels, add aggregate_by=BRAND and secondary_aggregate_by=CHANNEL to control how the response is grouped. Without these parameters, the grouping depends on the report type and request context, which may not match what you expect.
The response nests channel data under a breakdowns key inside each brand, with time-series values for each date:
Read metrics from each entry using the path data.<brand_id>.breakdowns.<CHANNEL>.metrics.<METRIC>.<CHANNEL>.<date>. The top-level metrics object contains totals across all brands and channels for each date.

Metrics

Some metrics require a connected Ads account.If a request returns no_ad_account_matching_report_channels, one or more of the requested metrics depends on Ads data that the brand has not connected.On Facebook and TikTok, metrics labelled “Organic only” or “Promoted only” require a connected Ads account. Combined “Total (Organic + Promoted)” metrics and account-level metrics do not. On Instagram, metrics representing “Total (Organic + Promoted)” performance require a connected Meta Ads account.

Next steps

With your time-series data, you can:
  • Build trend dashboards - Import data into Power BI, Tableau, or Looker to visualize performance over time
  • Spot patterns - See which days or months drive the most engagement to inform your posting strategy
  • Compare time periods - Use context_start_date and context_end_date to benchmark performance against past results
  • Track multiple metrics - Request several metrics in one call to see relationships between reach, views, and engagement
Related guides: