Analytics API

Sprout Analytics API Overview

The Sprout Analytics API provides an externally accessible API for you to access your owned social profile analytics data so you can use that data to power dashboards and automate your reporting.

Available Data Overview

✅  The Sprout Analytics API includes:

  • ✅  Owned Profile Data - This matches the data available in Sprout’s Profile Performance, Twitter Profiles, Facebook Pages, Instagram Business Profiles, and LinkedIn Pages Reports.
  • ✅  Owned Published Post Data - This matches the data available in Sprout’s Post Performance Report.

For specific data and metrics, reference the Metrics & Fields sections of this doc.

🚫  The Sprout Analytics API does not currently include:

  • 🚫  YouTube or Pinterest data
  • 🚫  Paid (Ad Account) data
  • 🚫  Listening data
  • 🚫  Inbox Messages & customer care data
  • 🚫  Publishing data or capabilities
  • 🚫  Owned demographic data
  • 🚫  BI Connectors

Access Requirements & Authentication

Before accessing the Analytics API, your account must be provisioned for API use by your Sprout account representative. Once the account is provisioned, you must obtain an access token. To do so, the Account Owner must log in to the Sprout web app and obtain the access token via an account settings dialog. The Account Owner can create new access tokens via the dialog, view existing access tokens or invalidate existing tokens (i.e. prevent the tokens from being used for client requests).

Creating an access token as an Account Owner

  1. Log in to Sprout and navigate to Settings.
  2. Scroll down to the reporting section and click API Tokens.

  1. Accept Sprout’s Analytics API Terms of Service, if you haven’t already.
  2. Click Create API Token in the upper left corner.

  1. Enter a name for your token.

  1. Copy the token for use. Be sure to store this securely.

Twitter Data: Twitter Content End User License Agreement

Note: Twitter has additional review and compliance requirements around exposing data through the Sprout Analytics API. You’re required to undergo a brief Twitter review and approval before being able to access their Twitter data through the Sprout Analytics API.

Contact your Sprout Social account representative to initiate the review process with Twitter. After Twitter approves your use case, the Account Owner needs to accept the Analytics API Twitter Content End User License Agreement. This appears at the top of the API Tokens settings page.

Analytics API Details

API URL

https://api.sproutsocial.com

Endpoints Overview

Customer Metadata Endpoints Description
GET /v1/metadata/client Customer ID
GET /v1/<customer ID>/metadata/customer Customer Profiles
GET /v1/<customer ID>/metadata/customer/tags Customer Tags
GET /v1/<customer ID>/metadata/customer/groups Customer Groups
Analytics Endpoints Description
POST /v1/<customer ID>/analytics/profiles Owned Profile Analytics
POST /v1/<customer ID>/analytics/posts Owned Post Analytics

General Analytics API Structure

All of the external Analytics API endpoints use the following naming structure:

/<version>/<customer ID>/<endpoint path>

Where:

  • version is the API major version number
  • customer ID is your Sprout customer ID

Versioning

The external Analytics API is versioned using a MAJOR.MINOR version format.

You can specify only the major number in requests, but the full version is included in responses.

A major version represents a breaking change to the API, including updates to the syntax and semantics for making requests of the APIs and the syntax and semantics of the response of the API.

A minor version represents a backwards compatible change to the API, such as adding new metrics, new endpoints, metric updates, etc. Minor versions are reflected in documentation, but not the API URL itself. Due to the backwards compatibility of minor versions, you only need to specify the major version in the URL path.

Rate Limits

You’re limited to the following number of requests:

  • 60 requests per minute
  • 250,000 requests per month

Endpoints

Requests

All requests have the following format:

Request Headers

Type Value
Authorization Bearer
Accept application/json
Content-Type application/json

Request Body

The content body for all data API requests are JSON objects. Details of the structure of that JSON object depend on the type of endpoint used.

Responses

HTTP Status Codes

The following HTTP status codes returned with the response have the following meanings:

Code Meaning Corrective Action
200 OK Request was processed successfully. None. You should be able to access the result of the request in the response body.
400 Bad Request The request is malformed and does not conform with the request bodies specified in this document. Update the request body.
401 Unauthorized The request does not contain a valid access token or that access token has expired. Reauthenticate and obtain a fresh token.
403 Forbidden The request is accessing customer or profile data that the client is not allowed access to. Update the request body.
404 Not Found The client is requesting an endpoint that does not exist. Check your endpoint, and use an existing endpoint.
405 Method Not Allowed The client is using an HTTP verb that is not appropriate. Use the HTTP verb listed for the API endpoint you’re using; typically POST or GET. See the specific endpoint documentation for details.
415 Unsupported Media Type The client has submitted a request body that is not JSON or is requesting a response that is not JSON Correct the Accept and Content-Type headers to use jSON.
429 Too Many Requests The client is making requests too quickly or has exhausted the allowed requests in a month. Slow down your requests.
500 Internal Server Error The server had an issue processing the request. Retry the request. If this code persists, contact support.
503 Service Unavailable The server is overloaded and cannot process the request. Retry the request. If this code persists, contact support.
504 Gateway Timeout The server was unable to produce a result in time. Retry the request. If this code persists, contact support or decrease the scope of the request (smaller date ranges, less profiles, etc.).

Response Headers

The following headers are returned with each response:

Header Description Sample Value
X-Sprout-Request-ID Randomly generated UUID to trace a client request and response. Returned to the you for debugging. bedc387d-9b99-42ae-9887-cc15f9885d47
X-Sprout-API-Version Major and minor version of the response 1.1
X-Sprout-Server-Version Server version, including the major, minor, and build number. The major and minor version reflect the latest available version of the API. 1.1.3018

Response Body

Responses from the data API are JSON objects with the following format:

Key Value
data JSON array containing the results of the API request (JSON objects for each post, dimensioned data, etc.)
paging Optional JSON object describing the status of paging the data returned in the response.
error Optional JSON string containing an error message in the event there is an issue with the request.

Customer Metadata Endpoints

Use these endpoints to obtain information about the customer and profiles you have access to.

Client (Customer ID) Endpoint

GET /v1/metadata/client

This endpoint is used to obtain the customer ID you have access to.

Request Body - Client (Customer ID) Endpoint

No request body is necessary for this request.

Response Data - Client (Customer ID) Endpoint

The data array contains JSON objects of customer IDs you have access to. For example:

{
  "data": [
    {"customer_id": 687751}
  ]
}

Customer Profiles Endpoint

GET /v1/<customer ID>/metadata/customer

This endpoint is used to obtain the list of customer profile IDs you have access to.

Request Body - Customer Profiles Endpoint

No request body is necessary for this request.

Response Data - Customer Profiles Endpoint

The data array contains an array of JSON objects describing the social network profiles that are available to that client. The JSON object contains:

Key Description Example Value
customer_profile_id The customer profile ID used by Sprout to identify this social network profile. 492
network_type The type of social network (c.f. Twitter, Facebook, Instagram, etc.) twitter
name The human-facing name of the social network profile Sprout Social
native_name The user name, screen name, page URL, etc. the social network uses to identify a unique profile. sproutsocial
native_id The ID used by the social network to identify a unique profile. 42793960
groups An array of group IDs this profile belongs to. [23598, 65245]

An example response:

{
  "data": [
      {
        "customer_profile_id": 492,
        "network_type": "twitter",
        "name": "Sprout Social",
        "native_name": "sproutsocial",
        "native_id": "42793960"
      },
      ...
  ]
}

Customer Tags Endpoint

GET /v1/<customer ID>/metadata/customer/tags

This endpoint is used to obtain the list of post tags you created in Sprout. The response includes all active and archived tags, regardless of when the tag was created. Previously deleted tags are permanently removed from Sprout and are not included.

Request Body - Customer Tags Endpoint

No request body is necessary for this request.

Response Data - Customer Tags Endpoint

The data array contains an array of JSON objects describing the tags that are available. This includes all tags in a single response. There is no limit or pagination in the response. The JSON object contains:

Key Description Example Value
tag_id The ID used by Sprout to identify this post tag. 321
any_group Whether or not this tag is available in any customer group false
active Whether this tag is active (or archived) in Sprout Social true
text The text of the tag “Social Support”
groups An array of the IDs of the groups this tag is available in [206063]

An example response:

{
  "data": [
      {
        "tag_id": 321,
        "any_group": false,
        "active": true,
        "text": "Social Support",
        "groups": [206063]
      },
      ...
  ]
}

Customer Groups Endpoint

GET /v1/<customer ID>/metadata/customer/groups

This endpoint is used to obtain the list of groups you created in Sprout.

Request Body - Customer Groups Endpoint

No request body is necessary for this request.

Response Data - Customer Groups Endpoint

The data array contains an array of JSON objects describing the groups that are available to you. The JSON object contains:

Key Description Example Value
group_id The ID used by Sprout to identify this group. 1234
name The name of the group “Sprout Social Team”

An example response:

{
  "data": [
      {
        "group_id": 1234,
        "name": "Sprout Social Team"
      },
      ...
  ]
}

Analytics Endpoints

Analytics API endpoints are all HTTP POST endpoints. The analytics API provides you access to your owned profile analytics data, including:

  • Profile Analytics - profile activity broken down by day
  • Post Analytics - post content, metadata, and lifetime activity metrics

Overview

All requests and responses to and from the analytics API endpoints have a standard structure.

Requests - Analytics Endpoints

The request body for an analytics API request is a JSON object with the follow name/values pairs:

Key Description Example Value
filters Detailed filters used to filter the results by customer_profile_id, reporting period (for profile metrics) and post created time (for the posts endpoint) Profile Endpoint ["customer_profile_id.eq(1234, 5678)", “reporting_period.in(2018-01-01..2018-02-01)”]
Post Endpoint ["customer_profile_id.eq(1234, 5678)", “created_time.in(2018-01-01..2018-02-01)”]
metrics List of metrics to return in results [“impressions”, “likes”]
page (optional) In paginated results, which 1-indexed page to return in the response.
Pagination is based on 1000 results for profile endpoint and 50 results for post endpoint.
3
timezone (Post endpoint only) Time zone—from the ICANN time zone database—used for period values “America/Chicago”
fields (Post endpoint only) List of fields to return in results [“content_category”, “created_time”, “from.name”]

Responses - Analytics Endpoints

The responses follow the standard data API response format.

data

This array contains the analytics data requested. See specific endpoints for further details.

paging

This object specifies the state of paging for this response:

Key Description Example Value
current_page 1-indexed page number of the response 3
total_pages Total number of pages for the request 20

A paging object is always returned including when the response contains all data in one page. So you can rely on checking for current_page = total_pages in order to know when you are at the end of the paging sequence.

Requesting a page greater than total_pages will return a HTTP 400 Bad Request response with a message describing the error.

Owned Profile Analytics Endpoint

POST /v1/<customer ID>/analytics/profiles

The profiles endpoint is used to query profile-level metrics for a given set of profiles.

Request Body - Owned Profile Analytics Endpoint

An example request:

{
  "filters": [
    "customer_profile_id.eq(1234, 5678, 9012)",
    "reporting_period.in(2018-08-01...2018-10-01)"
  ],
  "metrics": [
    "impressions",
    "reactions"
  ],
  "page": 1
}

Response Data - Owned Profile Analytics Endpoint

An example response:

{
  "data" : [
      {
        "dimensions": {
          "reporting_period.by(day)": "2018-08-01",
          "customer_profile_id": 1234
        },
        "metrics": {
          "impressions": 3400,
          "reactions": 12
        }
      },
      {
        "dimensions": {
          "reporting_period.by(day)": "2018-08-01",
          "customer_profile_id": 5678
        },
        "metrics": {
          "impressions": 23423,
          "reactions": 29
        }
      },
      ...
  ],
  "paging": {
    "current_page": 2,
    "total_pages": 3
  }
}

Profile Request Limits & Pagination

  • customer_profile_id (filters): maximum of 100 profiles per request
  • reporting_period (filters): maximum of 1 year per request
  • Pagination of response: pagination is based on 1000 results per response

Profile Time Zone

Profile daily activity uses the time zone of the native network. These time zones are the same that are used by native networks when grouping profile level activity.

Network Timezone
Twitter UTC
Facebook PST/PDT
Instagram PST/PDT
LinkedIn UTC

Owned Post Analytics Endpoint

POST /v1/<customer ID>/analytics/posts

The posts content endpoint queries for individual sent posts based on a filter criteria.

Request Body - Owned Post Analytics Endpoint

An example request:

{
  "fields": [
    "created_time",
    "perma_link",
    "text",
    "internal.tags.id",
    "internal.sent_by.id",
    "internal.sent_by.email",
    "internal.sent_by.first_name",
    "internal.sent_by.last_name"
  ],
  "filters": [
    "customer_profile_id.eq(1234, 5678, 9012)",
    "created_time.in(2020-04-06T00:00:00..2020-04-19T23:59:59)"
  ],
  "metrics": [
    "lifetime.impressions",
    "lifetime.reactions"
  ],
  "timezone": "America/Chicago",
  "page": 1
}

Response Data - Owned Post Analytics Endpoint

An example response:

{
  "data": [
      {
        "text": "Come by for a cold brew!",
        "perma_link": "https://www.instagram.com/p/B-pIo1GFqyl/",
        "metrics": {
          "lifetime.impressions": 15,
          "lifetime.reactions": 0
        },
        "created_time": "2020-04-06T14:27:03Z",
        "internal": {
          "tags": [
            {"id": 111111},
            {"id": 111112},
            {"id": 111113}
        ],
        "sent_by": {
          "id": 1155555,
          "email": "sprout.user@sproutsocial.com",
          "first_name": "Sprout",
          "last_name": "User"
        }
      },
      ...
  ],
  "paging": {
    "current_page": 1,
    "total_pages": 3
  }
}

Post Request Limits & Pagination

  • customer_profile_id (filters): maximum of 100 profiles per request
  • Pagination of response: pagination is based on 50 posts per response

Metrics & Fields

Post Metadata

Owned Post Fields

Key Type Network Availability Notes
content_category STRING Twitter Facebook Instagram LinkedIn Unified categorization of the content; the hierarchy is album, video, photo, link, or text.
created_time DATE Twitter Facebook Instagram LinkedIn Publication date and time of the post, it will be a valid iso8601 timestamp.
from MAP Twitter Facebook Instagram LinkedIn A shorthand for requesting all of the following “from” nested fields. Represents the social network profile that published the post.
from.guid STRING Twitter Facebook Instagram LinkedIn The native ID of the authors' profile prefixed with a Sprout code that represents where the data was collected.
from.name STRING Twitter Facebook Instagram LinkedIn The display name of the author.
from.profile_picture STRING Twitter Facebook Instagram LinkedIn URL to the profile’s picture.
from.screen_name STRING Twitter Instagram Also commonly called "handle," this field is mutable on most networks, but not changed as often as the display name.
guid STRING Twitter Facebook Instagram LinkedIn The native ID of the post prefixed with a Sprout code that represents where this type of post is.
internal MAP Twitter Facebook Instagram LinkedIn A shorthand for requesting internal.tags.id and internal.sent_by.id.
internal.tags.id Array Twitter Facebook Instagram LinkedIn Array of tag IDs this post is associated with. Includes active and archived tags.
internal.sent_by.id NUMBER Twitter Facebook Instagram LinkedIn ID of the team member that sent this post via Sprout.
internal.sent_by.email STRING Twitter Facebook Instagram LinkedIn Email address of the team member that sent this post.
internal.sent_by.first_name STRING Twitter Facebook Instagram LinkedIn First name of the team member that sent this post..
internal.sent_by.last_name STRING Twitter Facebook Instagram LinkedIn Last name of the team member that sent this post.
post_type STRING Twitter Facebook Instagram LinkedIn Uniquely identifies the social network and type of post this is.
post_category STRING Twitter Facebook Instagram LinkedIn A unified version of post_type, these names are not network specific.
network STRING Twitter Facebook Instagram LinkedIn The social network that the data came from (e.g. INSTAGRAM).
perma_link STRING Twitter Facebook Instagram LinkedIn URL to the post on the social network.
profile_guid STRING Twitter Facebook Instagram LinkedIn The ID of the profile being tracked prefixed with an Sprout code that represents where the data was collected. When the post was made by the profile being tracked this field will be identical to from.guid.
text STRING Twitter Facebook Instagram LinkedIn The text in the body of the post.
title STRING Twitter Facebook Text that is separate from the usual body of the post, usually shown as a title for the post in the social network.
clickthrough_link MAP Facebook LinkedIn Metadata about a link to another entity that appears on the post, e.g. when a Pinterest post contains a link to a different website.
clickthrough_link.name STRING Twitter Facebook Instagram LinkedIn
clickthrough_link.long STRING Twitter Facebook Instagram LinkedIn
clickthrough_link.short STRING Twitter Instagram
hashtags Array Twitter Facebook Instagram Array of hashtags associated with the post (does not include the "#" character).
visual_media ARRAY Twitter Facebook Instagram LinkedIn Array of media shared on the post, e.g. photos and videos. Where possible, contains URLs for the full media, a high resolution display image, and a thumbnail image.

Twitter

Note: Twitter has additional review and compliance requirements around exposing data through the Sprout Analytics API. Customers are required to undergo a brief Twitter review and approval before being able to access their Twitter data through the Sprout Analytics API.

Twitter: Owned Profile Metrics

Metric Key
Followers lifetime_snapshot.followers_count
Net Follower Growth net_follower_growth
Impressions impressions
Media Views post_media_views
Video Views video_views
Reactions reactions
Likes likes
@Replies comments_count
Retweets shares_count
Post Clicks (All) post_content_clicks
Post Link Clicks post_link_clicks
Other Post Clicks post_content_clicks_other
Post Media Clicks post_media_clicks
Post Hashtag Clicks post_hashtag_clicks
Post Detail Expand Clicks post_detail_expand_clicks
Profile Clicks post_profile_clicks
Other Engagements engagements_other
App Engagements post_app_engagements
App Install Attempts post_app_installs
App Opens post_app_opens
Posts Sent Count posts_sent_count
Posts Sent By Post Type posts_sent_by_post_type
Posts Sent By Content Type posts_sent_by_content_type

Twitter: Calculated Profile Metrics

The following metrics are derived from owned profile metrics:

  • Followers = the last available lifetime_snapshot.followers_count metric
  • (Sprout’s default) Engagements = Likes + @Replies + Retweets + Post Link Clicks + Other Post Clicks + Other Engagements
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions
  • Click-Through Rate = Post Link Clicks / Impressions

Twitter: Owned Post Metrics

Metric Key
Impressions lifetime.impressions
Media Views lifetime.post_media_views
Video Views lifetime.video_views
Reactions lifetime.reactions
Likes lifetime.likes
@Replies lifetime.comments_count
Retweets lifetime.shares_count
Post Clicks (All) lifetime.post_content_clicks
Post Link Clicks lifetime.post_link_clicks
Other Post Clicks lifetime.post_content_clicks_other
Post Media Clicks lifetime.post_media_clicks
Post Hashtag Clicks lifetime.post_hashtag_clicks
Post Detail Expand Clicks lifetime.post_detail_expand_clicks
Profile Clicks lifetime.post_profile_clicks
Other Engagements lifetime.engagements_other
Follows from Posts lifetime.post_followers_gained
App Engagements lifetime.post_app_engagements
App Install Attempts lifetime.post_app_installs
App Opens lifetime.post_app_opens

Twitter: Calculated Post Metrics

The following metrics are derived from owned post metrics:

  • (Sprout’s default) Engagements = Likes + @Replies + Retweets + Post Link Clicks + Other Post Clicks + Other Engagements
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions
  • Click-Through Rate = Post Link Clicks / Impressions

Facebook

Facebook: Owned Profile Metrics

Metric Key
Fans lifetime_snapshot.followers_count
Net Page Likes net_follower_growth
Page Likes followers_gained
Organic Page Likes followers_gained_organic
Paid Page Likes followers_gained_paid
Page Unlikes followers_lost
Impressions impressions
Organic Impressions impressions_organic
Viral Impressions impressions_viral
Non-viral Impressions impressions_nonviral
Paid Impressions impressions_paid
Page Tab Views tab_views
Logged In Page Tab Views tab_views_login
Logged Out Page Tab Views tab_views_logout
Post Impressions post_impressions
Organic Post Impressions post_impressions_organic
Viral Post Impressions post_impressions_viral
Non-viral Post Impressions post_impressions_nonviral
Paid Post Impressions post_impressions_paid
Reach impressions_unique
Organic Reach impressions_organic_unique
Viral Reach impressions_viral_unique
Non-viral Reach impressions_nonviral_unique
Paid Reach impressions_paid_unique
Page Views profile_views
Logged In Page Views profile_views_login
Logged Out Page Views profile_views_logout
Page Visitors profile_views_login_unique
Reactions reactions
Comments comments_count
Shares shares_count
Post Link Clicks post_link_clicks
Other Post Clicks post_content_clicks_other
Likes likes
Love Reactions reactions_love
Haha Reactions reactions_haha
Wow Reactions reactions_wow
Sad Reactions reactions_sad
Angry Reactions reactions_angry
Post Photo View Clicks post_photo_view_clicks
Post Video Play Clicks post_video_play_clicks
Page Actions profile_actions
Post Engagements post_engagements
Action Button Clicks cta_clicks_login
Answers question_answers
Offer Claims offer_claims
Other Positive Feedback positive_feedback_other
Event RSVPs event_rsvps
Place Check-ins place_checkins
Mobile Place Check-ins place_checkins_mobile
Page Content Activity profile_content_activity
Negative Feedback negative_feedback
Video Views video_views
Organic Video Views video_views_organic
Paid Video Views video_views_paid
Autoplay Video Views video_views_autoplay
Click to Play Video Views video_views_click_to_play
Replayed Video Views video_views_repeat
Video View Time video_view_time
Unique Video Views video_views_unique
Full Video Views video_views_30s_complete
Organic Full Video Views video_views_30s_complete_organic
Paid Full Video Views video_views_30s_complete_paid
Autoplay Full Video Views video_views_30s_complete_autoplay
Click to Play Full Video Views video_views_30s_complete_click_to_play
Replayed Full Video Views video_views_30s_complete_repeat
Unique Full Video Views video_views_30s_complete_unique
Partial Video Views video_views_partial
Organic Partial Video Views video_views_partial_organic
Paid Partial Video Views video_views_partial_paid
Autoplay Partial Video Views video_views_partial_autoplay
Click to Play Partial Video Views video_views_partial_click_to_play
Replayed Partial Video Views video_views_partial_repeat
10-Second Video Views video_views_10s
Organic 10-Second Video Views video_views_10s_organic
Paid 10-Second Video Views video_views_10s_paid
Autoplay 10-Second Video Views video_views_10s_autoplay
Click to Play 10-Second Video Views video_views_10s_click_to_play
Replayed 10-Second Video Views video_views_10s_repeat
Unique 10-Second Video Views video_views_10s_unique
Posts Sent Count posts_sent_count
Posts Sent By Post Type posts_sent_by_post_type
Posts Sent By Content Type posts_sent_by_content_type

Facebook: Calculated Profile Metrics

The following metrics are derived from owned profile metrics:

  • Fans = the last available lifetime_snapshot.followers_count metric
  • (Sprout’s default) Engagements = Reactions + Comments + Shares + Post Link Clicks + Other Post Clicks
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions
  • Click-Through Rate = Post Link Clicks / Impressions

Facebook: Owned Post Metrics

Metric Key
Impressions lifetime.impressions
Organic Impressions lifetime.impressions_organic
Viral Impressions lifetime.impressions_viral
Non-viral Impressions lifetime.impressions_nonviral
Paid Impressions lifetime.impressions_paid
Fan Impressions lifetime.impressions_follower
Fan Organic Impressions lifetime.impressions_follower_organic
Fan Paid Impressions lifetime.impressions_follower_paid
Non-fan Impressions lifetime.impressions_nonfollower
Non-fan Organic Impressions lifetime.impressions_nonfollower_organic
Non-fan Paid Impressions lifetime.impressions_nonfollower_paid
Reach lifetime.impressions_unique
Organic Reach lifetime.impressions_organic_unique
Viral Reach lifetime.impressions_viral_unique
Non-viral Reach lifetime.impressions_nonviral_unique
Paid Reach lifetime.impressions_paid_unique
Fan Reach lifetime.impressions_follower_unique
Fan Paid Reach lifetime.impressions_follower_paid_unique
Reactions lifetime.reactions
Likes lifetime.likes
Love Reactions lifetime.reactions_love
Haha Reactions lifetime.reactions_haha
Wow Reactions lifetime.reactions_wow
Sad Reactions lifetime.reactions_sad
Angry Reactions lifetime.reactions_angry
Comments lifetime.comments_count
Shares lifetime.shares_count
Answers lifetime.question_answers
Post Clicks (All) lifetime.post_content_clicks
Post Link Clicks lifetime.post_link_clicks
Post Photo View Clicks lifetime.post_photo_view_clicks
Post Video Play Clicks lifetime.post_video_play_clicks
Other Post Clicks lifetime.post_content_clicks_other
Negative Feedback lifetime.negative_feedback
Engaged Users lifetime.engagements_unique
Engaged Fans lifetime.engagements_follower_unique
Users Talking About This lifetime.post_activity_unique
Unique Reactions lifetime.reactions_unique
Unique Comments lifetime.comments_count_unique
Unique Shares lifetime.shares_count_unique
Unique Answers lifetime.question_answers_unique
Unique Post Clicks lifetime.post_content_clicks_unique
Unique Post Link Clicks lifetime.post_link_clicks_unique
Unique Post Photo View Clicks lifetime.post_photo_view_clicks_unique
Unique Post Video Play Clicks lifetime.post_video_play_clicks_unique
Unique Other Post Clicks lifetime.post_other_clicks_unique
Unique Negative Feedback lifetime.negative_feedback_unique
Video Length video_length
Video Views lifetime.video_views
Organic Video Views lifetime.video_views_organic
Paid Video Views lifetime.video_views_paid
Autoplay Video Views lifetime.video_views_autoplay
Click to Play Video Views lifetime.video_views_click_to_play
Sound on Video Views lifetime.video_views_sound_on
Sound off Video Views lifetime.video_views_sound_off
10-Second Video Views lifetime.video_views_10s
Organic 10-Second Video Views lifetime.video_views_10s_organic
Paid 10-Second Video Views lifetime.video_views_10s_paid
Autoplay 10-Second Video Views lifetime.video_views_10s_autoplay
Click to Play 10-Second Video Views lifetime.video_views_10s_click_to_play
Sound on 10-Second Video Views lifetime.video_views_10s_sound_on
Sound off 10-Second Video Views lifetime.video_views_10s_sound_off
Partial Video Views lifetime.video_views_partial
Organic Partial Video Views lifetime.video_views_partial_organic
Paid Partial Video Views lifetime.video_views_partial_paid
Autoplay Partial Video Views lifetime.video_views_partial_autoplay
Click to Play Partial Video Views lifetime.video_views_partial_click_to_play
Full Video Views lifetime.video_views_30s_complete
Organic Full Video Views lifetime.video_views_30s_complete_organic
Paid Full Video Views lifetime.video_views_30s_complete_paid
Autoplay Full Video Views lifetime.video_views_30s_complete_autoplay
Click to Play Full Video Views lifetime.video_views_30s_complete_click_to_play
95% Video Views lifetime.video_views_p95
Organic 95% Video Views lifetime.video_views_p95_organic
Paid 95% Video Views lifetime.video_views_p95_paid
Unique Video Views lifetime.video_views_unique
Unique Organic Video Views lifetime.video_views_organic_unique
Unique Paid Video Views lifetime.video_views_paid_unique
Unique 10-Second Video Views lifetime.video_views_10s_unique
Unique Full Video Views lifetime.video_views_30s_complete_unique
Unique Organic 95% Video Views lifetime.video_views_p95_organic_unique
Unique Paid 95% Video Views lifetime.video_views_p95_paid_unique
Average Video Time Watched lifetime.video_view_time_per_view
Video View Time lifetime.video_view_time
Organic Video View Time lifetime.video_view_time_organic
Paid Video View Time lifetime.video_view_time_paid
Video Ad Break Ad Impressions lifetime.video_ad_break_impressions
Video Ad Break Ad Earnings lifetime.video_ad_break_earnings
Video Ad Break Ad Cost per Impression (CPM) lifetime.video_ad_break_cost_per_impression

Facebook: Calculated Post Metrics

The following metrics are derived from owned post metrics:

  • (Sprout’s default) Engagements = Reactions + Comments + Shares + Post Link Clicks + Other Post Clicks
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions
  • Engagement Rate (per Reach) = Engagements / Reach
  • Click-Through Rate = Post Link Clicks / Impressions

Instagram

Instagram: Owned Profile Metrics

Metric Key
Followers lifetime_snapshot.followers_count
Net Follower Growth net_follower_growth
Followers Gained followers_gained
Followers Lost followers_lost
Following lifetime_snapshot.following_count
Net Following Growth net_following_growth
Impressions impressions
Reach impressions_unique
Profile Visitors profile_views_unique
Post Video Views video_views
Reactions reactions
Likes likes
Comments comments_count
Saves saves
Story Replies story_replies
Email Clicks email_contacts
Get Directions Clicks get_directions_clicks
Phone Call Clicks phone_call_clicks
Text Message Clicks text_message_clicks
Website Clicks website_clicks
Posts Sent Count posts_sent_count
Posts Sent By Post Type posts_sent_by_post_type
Posts Sent By Content Type posts_sent_by_content_type

Instagram: Calculated Profile Metrics

The following metrics are derived from owned profile metrics:

  • Followers = the last available lifetime_snapshot.followers_count metric
  • (Sprout’s default) Engagements = Likes + Comments + Saves + Story Replies
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions
  • Profile Actions = Email Clicks + Get Directions Clicks + Phone Call Clicks + Text Message Clicks + Website Clicks

Instagram: Owned Post Metrics

Metric Key
Impressions lifetime.impressions
Reach lifetime.impressions_unique
Video Views lifetime.video_views
Reactions lifetime.reactions
Likes lifetime.likes
Comments lifetime.comments_count
Saves lifetime.saves
Story Replies lifetime.comments_count
Story Taps Back lifetime.story_taps_back
Story Taps Forward lifetime.story_taps_forward
Story Exits lifetime.story_exits

Instagram: Calculated Post Metrics

The following metrics are derived from owned post metrics:

  • (Sprout’s default) Engagements = Likes + Comments + Saves + Story Replies
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions
  • Engagement Rate (per Reach) = Engagements / Reach
  • Click-Through Rate = Post Link Clicks / Impressions

LinkedIn

LinkedIn: Owned Profile Metrics

Metric Key
Followers lifetime_snapshot.followers_count
Net Follower Growth net_follower_growth
Followers Gained followers_gained
Organic Followers Gained followers_gained_organic
Paid Followers Gained followers_gained_paid
Followers Lost followers_lost
Impressions impressions
Reach impressions_unique
Reactions reactions
Comments comments_count
Shares shares_count
Post Clicks (All) post_content_clicks
Posts Sent Count posts_sent_count
Posts Sent By Post Type posts_sent_by_post_type
Posts Sent By Content Type posts_sent_by_content_type

LinkedIn: Calculated Profile Metrics

The following metrics are derived from owned profile metrics:

  • Followers = the last available lifetime_snapshot.followers_count metric
  • (Sprout’s default) Engagements = Reactions + Comments + Shares + Post Clicks (All)
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions

LinkedIn: Owned Post Metrics

Metric Key
Impressions lifetime.impressions
Reactions lifetime.reactions
Comments lifetime.comments_count
Shares lifetime.shares_count
Post Clicks (All) lifetime.post_content_clicks
Video Views lifetime.video_views

LinkedIn: Calculated Post Metrics

The following metrics are derived from owned post metrics:

  • (Sprout’s default) Engagements = Reactions + Comments + Shares + Post Clicks (All)
  • Engagement Rate (per Follower) = Engagements / Followers
  • Engagement Rate (per Impression) = Engagements / Impressions