Emplifi API Documentation
Introduction
The Emplifi REST API allows access to the data points used in Emplifi suite. Access to the API is available on request for Emplifi clients only.
If you are interested in the API access, please contact our support team (support@emplifi.io).
Security and Authentication
The API is secured with HTTPS. Authentication is made using Basic HTTP Authorization by token and secret. The authorization is sent in the HTTP headers.
Basic HTTP Authorization using token and secret
Basic HTTP Authorization uses a token and secret with a colon between them encoded to base64 format.
Example: if we use "Aladdin" as a token and "OpenSesame" as a secret, then "Aladdin:OpenSesame" produces "QWxhZGRpbjpPcGVuU2VzYW1l" when encoded to base64 format.
The parameter in the HTTP header would be then: Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l
The token and secret are linked to a specific user of a Emplifi Suite account. Get in touch with our Support team at support@emplifi.io to get yours.
Example request
GET /2/facebook/profiles HTTPS
Host: api.emplifi.io
Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l
Content-Type: application/json; charset=utf-8
Limits
Rate limits are defined for account and for user:
- Account: 1000 requests per hour
- User: 500 requests per hour
Each metrics request is limited by maximum number of:
- Profiles: 25
- Metrics: 25
- Date range: 3 months
Date range is not relative to curent date, so you are able to query historical data.
If you need to query with more profiles, metrics or date range than the limits allow, you can split it into multiple requests.
The oldest historical data you are able to request for is limited by your subscription package.
Errors
If error occurs in any endpoint, standardized error response will be returned.
Error codes
Code | Endpoint | Description | HTTP Status Code |
---|---|---|---|
3 | all |
Input validation error | 200 |
4 | all |
Profiles, metrics or date range limit exceeded | 200 |
5 | all |
Profiles not allowed for user | 200 |
6 | all |
Start date is before history limit date | 200 |
7 |
POST /2/facebook/page/posts
|
Profiles do not have insights enabled | 200 |
8 | all |
Labels used for filtering do not exists | 200 |
10 | all |
Account request limit exceeded | 200 |
11 | all |
User request limit exceeded | 200 |
13 | all |
Labeled content or conversation does not exist in Community. | 200 |
99 | all |
An unknown error occurred | 200 |
400 | all |
Bad request | 400 |
401 | all |
Missing authorization header, invalid secret or token | 401 |
403 | all |
Action is not permitted | 403 |
404 | all |
Resource not allowed | 404 |
405 | all |
HTTP method not allowed | 405 |
500 | all |
Internal server error | 500 |
Example response
{
"success": false,
"errors": [
{
"code": 3,
"errors": [
"Input validation error.",
"Invalid metrics requested: metric1"
]
},
{
"code": 5,
"errors": [
"Profiles not allowed for user.",
"Profiles [164929129743] not allowed."
]
}
]
}
Pagination
Endpoints that support pagination have the limit
parameter available. It is used to specify how
many results you want to get in the response.
When the response contains remaining
and next
keys, more data is available using
pagination.
The key remaining
contains the number of items that are available after the last item in the
response.
The key next
is used as a parameter for the next page.
To request the next page, all parameters from previous request need to be sent along with parameter after
set to value of the next
key from the previous response.
Example request
POST /2/facebook/page/posts HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": ["164929129743", "354335677"],
"date_start": "2010-01-01",
"date_end": "2016-10-25",
"fields": ["id"],
"limit": 5
}
Example response
{
"success": true,
"data": {
"posts": [
{
"id": "164929129743_10154736430664744"
}, ...
],
"next": "eyJjdXJzb3IiOlt7ImZpZWxkIjoiY3JlYXRlZF90aW1lIiwidmFsdWUiOiIyMDE2LTEwLTI1VDEzOjAwOjA2LjAwMFoiLCJvcmRlciI6ImRlc2MifV0sImlkcyI6WyIxNjQ5MjkxMjk3NDNfMTAxNTQ3MDUwODA3Mzk3NDQiXX0=",
"remaining": 3276
}
}
Next page request
POST /2/facebook/page/posts HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": ["164929129743", "45674325789"],
"date_start": "2010-01-01",
"date_end": "2016-10-25",
"fields": ["id"],
"limit": 5,
"after": "eyJjdXJzb3IiOlt7ImZpZWxkIjoiY3JlYXRlZF90aW1lIiwidmFsdWUiOiIyMDE2LTEwLTI1VDEzOjAwOjA2LjAwMFoiLCJvcmRlciI6ImRlc2MifV0sImlkcyI6WyIxNjQ5MjkxMjk3NDNfMTAxNTQ3MDUwODA3Mzk3NDQiXX0="
}
Reference Data
Lists of values allowed to be used by other endpoints as data sources or filters.
List of Connected Profiles
Returns the list of connected Facebook, Instagram, Twitter, YouTube, LinkedIn or Pinterest profiles for your account. You will need the profile ID later to call metrics endpoints.
Response fields
Name | Description |
---|---|
id | string , profile unique identifier on the social network. |
name | string , profile name |
profile_name | string , profile unique name on the social network. |
picture | string , profile picture on the social network. |
timezone | string , timezone selected for this profile in Emplifi product. |
profile_labels | array , list of labels assigned to a given profile in the account. |
insights_enabled | boolean , available for facebook and instagram networks only, true
if insights metrics are available for profile. |
community_enabled | boolean , true if community content is available for profile. |
Example request
GET /2/{network}/profiles HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
Supported values for {network}
: facebook
, instagram
, twitter
,
youtube
, linkedin
, pinterest
Example response
{
"success": true,
"profiles": [
{
"id": "164929129743",
"name": "Profile #1 name",
"profile_name": "profile1name",
"picture": "https://example.cdn.com/picture.hash.png",
"timezone": "America/Los_Angeles",
"insights_enabled": true
},
{
"id": "477018229123929",
"name": "Profile #2 name",
"picture": "https://example.cdn.com/picture.hash.png",
"profile_name": "profile2name",
"timezone": "Europe/Prague",
"community_enabled": true
},
...
]
}
List of Content Labels
Content labels are used to label content (posts, videos) across multiple platforms in Suite. The endpoint returns the list of all private, global, and shared content labels visible to your user in your account. These labels are identified by name and ID.
You can use the content label IDs to filter the posts or the results of the aggregated post metrics.
Response fields
Name | Description |
---|---|
id | string , content label unique identifier |
name | string , content label name |
Example request
POST /2/post/labels HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
Example response
{
"success": true,
"data": [
{
"id": "5d879004a44a4cbcb13e",
"name": "Content Label 1"
},
{
"id": "ffc196eb056b42fd9b03",
"name": "Content Label 2"
},
...
]
}
List of Profile Labels
Profile labels are used to label profiles across multiple platforms in Suite. The endpoint returns the list of all private, global, and shared content labels visible to your user in your account. These labels are identified by name and ID.
Response fields
Name | Description |
---|---|
id | string , profile label unique identifier |
name | string , profile label name |
profiles | array , information about profile tagged with the specific profile label |
Example request
POST /2/profile/labels HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
Example response
{
"success": true,
"data": [
{
"id": "5d879004a44a4cbcb13e",
"name": "Profile Label 1",
"profiles": [
{
"name": "Profile 1",
"platform": "facebook"
},
{
"name": "Profile 2",
"platform": "twitter"
}
]
},
{
"id": "ffc196eb056b42fd9b03",
"name": "Profile Label 2",
"profiles": [],
},
...
]
}
Profile Metrics
Profile metrics endpoints return daily values for the specified set of metrics and profiles.
Profile metrics attribute data to the profile/page, focusing on when engagement happened, regardless if a post was published during the analyzed date range or not. Data is aggregated by when it happened, and it is not related to a specific piece of content.
Aggregation is the type of calculation used for grouping values of a specific metric.
Facebook Metrics
Returns daily metrics for each requested Facebook profile.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | object , the list of string values. Each is ID of the profile available
from the /2/facebook/profiles endpoint. |
metrics | array , the list of metrics that will be returned in the response. Available metrics are
listed in the table below. |
dimensions | array of {type: dimensionType} objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimension types for each metric in the table below. Dimensions marked with an asterisk* must be last, and only one such dimension can be used. |
Basic Metrics
Name | Dimensions | Aggregation | Metric description |
---|---|---|---|
fans_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of fans count of a page. No data available for FB pages that is part of the Global Page Structure and does not have insights connected. |
fans_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of likes (=fans) of a page. No data available for FB pages that is part of the Global Page Structure and does not have insights connected. |
Insights Metrics
Metrics prefixed with insights_
can only be used for profiles that have insights_enabled
property set to true
in the response of the /2/facebook/profiles
endpoint.
Name | Dimensions | Aggregation | Metric description |
---|---|---|---|
insights_activity |
date.day ,date.month ,date.week ,profile
,profile_label
,activity_type
*
|
sum | Number of activities created about your Page. (Total Count) |
insights_activity_unique |
date.day ,date.month ,date.week ,profile
,profile_label
,activity_type
*,gender_age
*,city
*,country
*,locale
*
|
avg | The number of activities created about your Page. (Unique Users). |
insights_engaged_users |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Number of people who engaged with your Page. Engagement includes any click or story created. (Unique Users). |
insights_fan_adds |
date.day ,date.month ,date.week ,profile
,profile_label
,like_source
*
|
sum | Number of new people who have liked your Page. |
insights_fan_adds_unique |
date.day ,date.month ,date.week ,profile
,profile_label
,like_source
*
|
avg | New Likes : Number of new people who have liked your Page (Unique Users) |
insights_fan_removes |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Number of Unlikes of your Page (Total Count) |
insights_fan_removes_unique |
date.day ,date.month ,date.week ,profile
,profile_label
,unlike_source
*
|
avg | Number of Unlikes of your Page (Unique Users). |
insights_fans_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
,country
*,city
*,locale
*,gender_age
*
|
avg | The total number of people who have liked your Page. (Unique Users) |
insights_fans_online |
date.day ,date.month ,date.week ,profile
,profile_label
,hour_of_day
*
|
sum | Number of fans who saw any posts on a given day. |
insights_impressions |
date.day ,date.month ,date.week ,profile
,profile_label
,activity_type
*,post_attribution
*
|
sum | Total number of times any content associated with your page has been seen |
insights_negative_feedback |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | The number of times people have given negative feedback to your Page. (Total Count). |
insights_positive_feedback |
date.day ,date.month ,date.week ,profile
,profile_label
,positive_feedback_type
*
|
sum | The number of times people have given positive feedback to your Page. (Total Count). |
insights_post_clicks |
date.day ,date.month ,date.week ,profile
,profile_label
,click_type
*
|
sum | The number of clicks on any of your content. Clicks generating stories are included in 'Other Clicks.' |
insights_post_clicks_unique |
date.day ,date.month ,date.week ,profile
,profile_label
,click_type
*
|
avg | The number of people who clicked on any of your content. Clicks that create stories are included in "Other Clicks." Stories that are created without clicking on Page content (ex, liking the Page from timeline) are not included. (Unique Users) |
insights_post_impressions |
date.day ,date.month ,date.week ,profile
,profile_label
,post_attribution
*
|
sum | The total number of impressions that came from all of your posts. |
insights_post_reach |
date.day ,date.month ,date.week ,profile
,profile_label
,post_attribution
*,frequency_distribution
*
|
avg | The number of people who saw any of your Page posts. (Unique Users). Note: The sum of each breakdown from the dimension frequency_distribution will not equal the total of insights_post_reach metric. |
insights_reach |
date.day ,date.month ,date.week ,profile
,profile_label
,gender_age
*,post_attribution
*
|
avg | The number of people who have seen any content associated with your Page. (Unique Users) |
insights_reach_28_days |
date.day ,date.month ,date.week ,profile
,profile_label
,gender_age
*
|
avg | The number of people who have seen any content associated with your Page in the past 28 days. (Unique Users) |
insights_reach_7_days |
date.day ,date.month ,date.week ,profile
,profile_label
,gender_age
*
|
avg | The number of people who have seen any content associated with your Page in the past 7 days. (Unique Users) |
insights_reach_engagement |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | The total number of people who engaged with your Page per the number of people who have seen any content associated with your Page. Engagement includes any click or story created. (Unique Users) |
insights_reactions |
date.day ,date.month ,date.week ,profile
,profile_label
,reaction_type
*
|
sum | The number of reactions on any of your content |
insights_video_complete_views_30s |
date.day ,date.month ,date.week ,profile
,profile_label
,play_type
*,post_attribution
*
|
sum | Total number of times page's videos have been played for more than 30 seconds |
insights_video_complete_views_30s_repeat_views |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Number of times that people replay a page's videos for more than 30 seconds. |
insights_video_complete_views_30s_unique |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Number of times page's videos have been played for unique people for more than 30 seconds. |
insights_video_repeat_views |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Total number of times that people replay a page's videos for more than 3 seconds |
insights_video_views |
date.day ,date.month ,date.week ,profile
,profile_label
,play_type
*,post_attribution
*
|
sum | Total number of times page's videos have been played for more than 3 seconds |
insights_video_views_unique |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of times page's videos have been played for unique people for more than 3 seconds |
insights_views |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | The number of times a Page's profile has been viewed by logged in and logged out people. |
Example request
POST /2/facebook/metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"date_start": "2016-01-01",
"date_end": "2016-01-02",
"profiles": [
"164929129743"
],
"metrics": ["fans_lifetime"],
"dimensions": [
{
"type": "date.day"
}
]
}
Example response
{
"success": true,
"header": [
{
"type": "date.day",
"rows": [
"2016-01-01",
"2016-01-02"
]
},
{
"type": "metric",
"rows": [
"fans_lifetime"
]
}
],
"data": [
[
209119
],
[
209171
]
]
}
Instagram Metrics
Returns daily metrics for each requested Instagram profile.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | The list of string values. Each is ID of the profile available from the
/2/instagram/profiles endpoint. |
metrics | The list of metrics that will be returned in the response. Available metrics are listed in the table below. |
dimensions | array of {type: dimensionType} objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimension types for each metric in the table below. Dimensions marked with an asterisk* must be last, and only one such dimension can be used. |
Basic Metrics
Name | Dimensions | Aggregation | Metric description |
---|---|---|---|
followers_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of followers count lifetime. |
followers_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of followed-by of a user by day. Number is aggregated to the midnight of profile timezone. |
following_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of follows of a user by day. Number is aggregated to the midnight of profile timezone. |
following_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of people profile follows. |
Insights Metrics
Metrics prefixed with insights_
can only be used for profiles that have insights_enabled
property set to true
in the response of the /2/instagram/profiles
endpoint.
Name | Dimensions | Aggregation | Metric description |
---|---|---|---|
insights_followers |
date.day ,date.month ,date.week ,profile
,profile_label
,country
*,locale
*,city
*,gender_age
*
|
avg | Total number of followed-by of a user by day. Total value from this metric may not equal the value from dimension. |
insights_impressions |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of times your posts and stories were viewed. |
insights_impressions_28_days |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of times your posts and stories were viewed in past 28 days. |
insights_impressions_7_days |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of times your posts and stories were viewed in the past 7 days. |
insights_profile_clicks |
date.day ,date.month ,date.week ,profile
,profile_label
,click_target
*
|
sum | The number of times user clicked on any contact links on your Business Account's profile. |
insights_profile_views |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | The number of unique accounts who've visited your business profile. |
insights_reach |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Number of unique accounts who viewed your posts and stories. |
insights_reach_28_days |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of people who have viewed any of your posts and stories in the past 28 days. |
insights_reach_7_days |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of people who have viewed any of your posts and stories in the past 7 days. |
Example request
POST /2/instagram/metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"date_start": "2016-01-01",
"date_end": "2016-01-02",
"profiles": ["4108894671", "337453282"],
"metrics": ["followers_change"],
"dimensions": [
{
"type": "date.day"
}
]
}
Example response
{
"success":true,
"header": [
{
"type":"date.day",
"rows": [
"2016-01-01",
"2016-01-02"
]
},
{
"type":"metric",
"rows": [
"followers_change"
]
}
],
"data": [
[
209119
],
[
209171
]
]
}
Twitter Metrics
Returns daily metrics for each requested Twitter profile.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | The list of string values. Each is ID of the profile available from the
/2/twitter/profiles endpoint. |
metrics | The list of metrics that will be returned in the response. Available metrics are listed in the table below. |
dimensions | array of {type: dimensionType} objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimension types for each metric in the table below. Dimensions marked with an asterisk* must be last, and only one such dimension can be used. |
Basic Metrics
Name | Dimensions | Aggregation | Metric description |
---|---|---|---|
ff_ratio |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Ratio of total followers and total following aggregated by day. |
followers_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of followers (=fans) of a profile. Number is aggregated by day. |
followers_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of followers (=fans) of a profile. Number is aggregated by day. |
following_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of how many people profile follows. Number is aggregated by day. |
following_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of how many people profile follows |
listed_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of on how many lists profile appears. |
listed_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total count of on how many lists profile appears. |
Example request
POST /2/twitter/metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"date_start": "2020-05-10",
"date_end": "2020-05-18",
"profiles": [ "78569316" ],
"metrics": [ "ff_ratio" ],
"dimensions": [
{ "type": "profile" },
{ "type": "date.day" }
]
}
Example response
{
"success": true,
"header": [
{
"type": "profile",
"rows": [
"78569316"
]
},
{
"type": "date.day",
"rows": [
"2020-05-10",
"2020-05-11",
"2020-05-12",
"2020-05-13",
"2020-05-14",
"2020-05-15",
"2020-05-16",
"2020-05-17",
"2020-05-18"
]
},
{
"type": "metric",
"rows": [
"ff_ratio"
]
}
],
"data": [
[
[
95.75070224719101
],
[
95.7436797752809
],
[
95.19622905027933
],
[
95.12351709699931
],
[
95.12072575017446
],
[
95.11235170969994
],
[
95.10118632240057
],
[
95.0907187718074
],
[
95.07327285415212
]
]
]
}
YouTube Metrics
Returns daily metrics for each requested YouTube profile.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | The list of string values. Each is ID of the profile available from the /2/youtube/profiles endpoint. |
metrics | The list of metrics that will be returned in the response. Available metrics are listed in the table below. |
dimensions | array of {type: dimensionType} objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimension types for each metric in the table below. Dimensions marked with an asterisk* must be last, and only one such dimension can be used. |
Metrics
Name | Dimensions | Aggregation | Metric Description |
---|---|---|---|
interaction_change |
date.day ,date.month ,date.week ,profile
,profile_label
,interaction_type
*
|
sum | Daily growth of interactions on all uploaded videos by the channel on a given day. Number is aggregated by day to the midnight of UTC timezone. Dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
interactions_per_1k_fans |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Daily growth of interactions per 1000 fans on all uploaded videos by the channel on a given day. Number is aggregated by day to the midnight of UTC timezone. Dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
subscribers_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of subscribers count lifetime. |
subscribers_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of subscribers of the channel. |
video_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of uploaded videos by the channel on a given day. Number is aggregated by day to the UTC midnight. |
viewed_time_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute daily growth of viewed time. Number is aggregated by day to the midnight of UTC. All values are provided in seconds. |
views_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | This is the absolute daily growth of views. Number is aggregated by day to the midnight of UTC timezone. |
Example request
POST /2/youtube/metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"date_start": "2016-01-01",
"date_end": "2016-01-02",
"profiles": [
"UCA6AG33Zac0xi6f9VMTxkFQ",
"UCCAg0pGh47apFzefcJN6x3w"
],
"metrics": ["subscribers_change"],
"dimensions": [
{
"type": "date.day"
}
]
}
Example response
{
"success": true,
"header": [
{
"type": "date.day",
"rows": [
"2016-01-01",
"2016-01-02"
]
},
{
"type": "metric",
"rows": [
"subscribers_change"
]
}
],
"data": [
[
-3
],
[
1
]
]
}
LinkedIn Metrics
Returns daily metrics for each requested LinkedIn profile.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | The list of string values. Each is ID of the profile available from the /2/linkedin/profiles endpoint. |
metrics | The list of metrics that will be returned in the response. Available metrics are listed in the table below. |
dimensions | array of {type: dimensionType} objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimension types for each metric in the table below. Dimensions marked with an asterisk* must be last, and only one such dimension can be used. |
Metrics
Name | Dimensions | Aggregation | Metric Description |
---|---|---|---|
followers_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of followers of a company by day. Number is aggregated to the midnight of selected timezone. |
followers_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of followers of a company by day. Number is aggregated to the midnight of selected timezone. |
Example request
POST /2/linkedin/metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"date_start": "2016-01-01",
"date_end": "2016-01-02",
"profiles": [
"urn:li:organization:14846557"
],
"metrics": ["followers_change"],
"dimensions": [
{
"type": "date.day"
}
]
}
Example response
{
"success": true,
"header": [
{
"type": "date.day",
"rows": [
"2016-01-01",
"2016-01-02"
]
},
{
"type": "metric",
"rows": [
"followers_change"
]
}
],
"data": [
[
2
],
[
1
]
]
}
Pinterest Metrics
Returns daily metrics for each requested Pinterest profile.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | The list of string values. Each is ID of the profile available from the
/2/pinterest/profiles endpoint. |
metrics | The list of metrics that will be returned in the response. Available metrics are listed in the table below. |
dimensions | array of {type: dimensionType} objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimension types for each metric in the table below. Dimensions marked with an asterisk* must be last, and only one such dimension can be used. |
Metrics
Name | Dimensions | Aggregation | Metric description |
---|---|---|---|
boards_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of number of profile boards. Number is aggregated by day. |
boards_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of boards of the profile. |
followers_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of followers of a profile. |
followers_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of followers of the profile. Number is aggregated by day. |
following_change |
date.day ,date.month ,date.week ,profile
,profile_label
|
sum | Absolute change of followed profiles. Number is aggregated by day. |
following_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of followed profiles. |
pins_lifetime |
date.day ,date.month ,date.week ,profile
,profile_label
|
avg | Total number of pins of the profile. |
Example request
POST /2/pinterest/metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"date_start": "2020-05-10",
"date_end": "2020-05-18",
"profiles": [ "376684093741466051" ],
"metrics": [ "boards_change" ],
"dimensions": [
{ "type": "profile" },
{ "type": "date.day" }
]
}
Example response
{
"success": true,
"header": [
{
"type": "profile",
"rows": [
"376684093741466051"
]
},
{
"type": "date.day",
"rows": [
"2020-05-10",
"2020-05-11",
"2020-05-12",
"2020-05-13",
"2020-05-14",
"2020-05-15",
"2020-05-16",
"2020-05-17",
"2020-05-18"
]
},
{
"type": "metric",
"rows": [
"boards_change"
]
}
],
"data": [
[
[
0
],
[
0
],
[
0
],
[
0
],
[
0
],
[
0
],
[
0
],
[
0
],
[
0
]
]
]
}
Posts
The endpoints in this section return a list of posts/videos/tweets, accompanied by the fields you specify. It can be an attribute of the post (text, created time, author, id, paid status) or metric (Number of comments, Number of Likes).
Facebook Page Posts Metrics
Returns a set of posts created during the specified date range for each requested Facebook profile. Facebook posts endpoint returns lifetime values of the metrics.
Parameters
Name | Description |
---|---|
profiles |
array , list of profile IDs of the profiles available from the /2/facebook/profiles endpoint.
|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
Your request is transformed using the time zone assigned to a profile in the Suite settings of your account.
The response of the endpoint displays the date/time in UTC time zone. You can shift the date/time to the correct
timezone using the timezone of each individual profile from the /2/facebook/profiles endpoint.
The last day will be also included in the response.
|
fields |
array , the list of fields that will be returned in the response. Available fields are listed in
the table below.
|
limit |
integer , (optional). The number of results per page. The default value is 10 and the maximal value is 500.
|
after |
string , (optional). Pagination cursor. Points to the end of the page that has been returned.
|
sort |
You can sort the results by specifying a field and sorting order in the sort object: "field": "created_time"
and "order": "desc" . See the list of fields allowed
for sorting.
|
filter |
You can filter results by providing the filter parameter with field and value . See
the list of fields allowed for filtering.
|
Basic Fields
Name | Type | Example | Description |
---|---|---|---|
attachments |
array
|
|
Array of objects containing details about post attachments. Fields: title, description, url, image_url. |
author_id |
string
|
|
Facebook page post author profile id. |
comments |
integer
|
|
Facebook post comments count. |
created_time |
datetime
|
|
Facebook post created time. |
engagement_rate |
float
|
|
Engagement Rate for a particular post displays the average number of Interactions per Fan. Engagement Rate is therefore calculated by dividing the number of Interactions of a post by the number of Fans on that day. |
id |
string
|
|
Facebook post id. |
interactions |
integer
|
|
Facebook post interaction count. |
is_published |
boolean
|
|
Is post published |
message |
string
|
|
Facebook post contents. |
page_id |
string
|
|
Facebook page id for the published post. |
post_labels |
array
|
|
Array of content labels (formally post labels) for given post and account |
ppd_status |
string
|
|
Indicates whether the post was organic, paid or unknown based on PPD algorithm. |
reactions |
integer
|
|
Facebook post reactions count. |
reactions_by_type |
object
|
|
Object containing Facebook post reactions number. |
shares |
integer
|
|
Facebook post share count. |
story |
string
|
|
Text from stories not intentionally generated by users, such as those generated when two people become friends, or when someone else posts on the person's wall. |
type |
string
|
|
Facebook post type. |
universal_video_id |
string
|
|
The publishers asset management code for this video. Only available in case the post type is a video. |
url |
string
|
|
Link to facebook post. |
video_id |
string
|
|
The id of the video object. Only available in case the post type is a video. |
video_length |
float
|
|
Duration of the video in seconds. Only available in case the post type is a video. |
Insights Fields
Metrics prefixed with insights_
can only be used for profiles that have insights_enabled
property set to true
in the response of the /2/facebook/profiles
endpoint.
Name | Type | Example | Description |
---|---|---|---|
insights_engaged_fan |
integer
|
|
People who have liked your page and engaged with your post. |
insights_engaged_users |
integer
|
|
The number of people who clicked anywhere in your posts |
insights_engagement_rate
No longer supported
|
float
|
|
Reach shows you how many people were exposed to your content and Reach Engagement Rate shows you how many of those reached people actually interacted with it. We have updated and improved this metric and it is available for you to use from the latest API version. The older version of this metric will still return data for the time being but please bear in mind that this will show different values in comparison to the new one. If you are interested about the details of the new metric, please check this article. |
insights_impressions |
integer
|
|
The number of impressions for your Page post |
insights_impressions_by_paid_non_paid |
object
|
|
The number of impressions for your Page post, broken down by total, paid, and non-paid |
insights_impressions_fan |
integer
|
|
The number of impressions for your Page post by people who have liked your Page |
insights_impressions_fan_paid |
integer
|
|
The number of impressions for your Page post by people who like your Page in an Ad or Sponsored Story |
insights_impressions_organic |
integer
|
|
The number of impressions of your post in Newsfeed, Ticker, or on your Page's Wall |
insights_impressions_paid |
integer
|
|
The number of impressions for your Page post in an Ad or Sponsored Story |
insights_negative_feedback |
integer
|
|
The number of times people took a negative action in your post (e.g. hid it) |
insights_negative_feedback_unique |
integer
|
|
The number of people who took a negative action in your post (e.g., hid it) |
insights_paid_status |
string
|
|
Whether the post has been promoted (received any paid impression) or not |
insights_post_clicks |
integer
|
|
The number of times people clicked on anywhere in your posts without generating an activity |
insights_post_clicks_by_type |
object
|
|
The number of times people clicked on anywhere in your posts without generating an activity, broken-down by post click type. |
insights_post_clicks_by_type_unique |
object
|
|
The number of people who clicked anywhere in your post without generating an activity, broken-down by post click type. |
insights_post_clicks_unique |
integer
|
|
The number of people who clicked anywhere in your post without generating an activity. |
insights_reach |
integer
|
|
The number of people who saw your Page post |
insights_reach_by_paid_non_paid |
object
|
|
The number of people who saw your Page post, broken down by total, paid, and non-paid |
insights_reach_fan |
integer
|
|
The number of people who have like your Page who saw your Page post |
insights_reach_fan_paid |
integer
|
|
The number of people who have like your Page and saw your Page post in an Ad or Sponsored Story |
insights_reach_organic |
integer
|
|
The number of people who saw your post in their Newsfeed or Ticker or on your Page's Wall |
insights_reach_paid |
integer
|
|
The number of people who saw your Page post in an Ad or Sponsored Story |
insights_reactions_by_type_total |
object
|
|
The number of reactions to a Page's post by reaction type. |
insights_reactions_like_total |
integer
|
|
The number of "like" reactions to a post. |
insights_stories |
integer
|
|
The number of stories created about your Page (Stories) |
insights_story_adds |
integer
|
|
The number of stories generated about your Page post. |
insights_storytellers |
integer
|
|
The number of people sharing stories about your page ("People Talking About This" / PTAT). These stories include liking your Page, posting to your Page's Wall, liking, commenting on or sharing one of your Page posts, answering a Question you posted, RSVPing to one of your events, mentioning your Page, phototagging your Page or checking in at your Place |
insights_video_avg_time_watched |
integer
|
|
The average length of time (in milliseconds) people spent viewing your video |
insights_video_complete_views_30s |
integer
|
|
Total number of times Page's videos have been viewed for more than 30 seconds |
insights_video_complete_views_30s_autoplayed |
integer
|
|
Total number of times Page's autoplayed videos have been viewed to the end, or viewed for more than 30 seconds |
insights_video_complete_views_30s_clicked_to_play |
integer
|
|
Total number of times Page's videos have been viewed to the end, or viewed after the user clicks on play for more than 30 seconds |
insights_video_complete_views_30s_organic |
integer
|
|
Total number of times Page's videos have been viewed to the end, or viewed for more than 30 seconds by organic reach |
insights_video_complete_views_30s_paid |
integer
|
|
Total number of times Page's promoted videos have been viewed to the end, or for more than 30 seconds |
insights_video_complete_views_30s_unique |
integer
|
|
Total number of times Page's videos have been played for unique people to the end, or viewed for more than 30 seconds |
insights_video_complete_views_organic |
integer
|
|
The number of times your video was organically viewed from the beginning to 95% of its length |
insights_video_complete_views_organic_unique |
integer
|
|
The number of people who viewed your video organically from the beginning to 95% of its length |
insights_video_complete_views_paid |
integer
|
|
The number of times your video was viewed via paid impression from the beginning to 95% of its length |
insights_video_complete_views_paid_unique |
integer
|
|
The number of people who viewed your video via paid impression from the beginning to 95% of its length |
insights_video_retention_graph |
array
|
|
Percentage of viewers at each interval. Video length is divided into short buckets. Each key in response represents a bucket. Values are percent of people saw the video in that bucket |
insights_video_retention_graph_autoplayed |
array
|
|
Percentage of viewers at each interval where the video started playing automatically. Video length is divided into short buckets. Each key in response represents a bucket. Values are percent of people saw the video in that bucket |
insights_video_view_time |
integer
|
|
The total number of milliseconds your video was watched, including replays and views less than 3 seconds. |
insights_video_view_time_by_age_bucket_and_gender |
object
|
|
The total time, in milliseconds, your video played for your Top Audiences, age and gender |
insights_video_view_time_by_country_id |
object
|
|
The total number of minutes your video played for your Top 45 Locations - Countries |
insights_video_view_time_organic |
integer
|
|
Total time (in milliseconds) video has been viewed without paid promotion |
insights_video_view_time_paid |
integer
|
|
Total time (in milliseconds) video has been viewed with paid promotion |
insights_video_views |
integer
|
|
The number of times your video was watched for an aggregate of at least 3 seconds, or for nearly its total length, whichever happened first. |
insights_video_views_autoplayed |
integer
|
|
Number of times your video started automatically playing and people viewed it for more than 3 seconds |
insights_video_views_clicked_to_play |
integer
|
|
Number of times people clicked to play your video and viewed it more than 3 seconds |
insights_video_views_organic |
integer
|
|
The number of times your video was organically viewed for 3 seconds or more |
insights_video_views_organic_unique |
integer
|
|
The number of people who viewed at least 3 seconds of your video organically |
insights_video_views_paid |
integer
|
|
The number of times your video was viewed via paid impression for 3 seconds or more |
insights_video_views_paid_unique |
integer
|
|
The number of people who viewed at least 3 seconds of your video via paid impression |
insights_video_views_unique |
integer
|
|
The number of distinct people who viewed your video at least once. |
Fields that might be used to sort Facebook posts:
Basic Fields- comments
- created_time
- interactions
- reactions
- reactions_by_type.anger
- reactions_by_type.haha
- reactions_by_type.like
- reactions_by_type.love
- reactions_by_type.sorry
- reactions_by_type.wow
- shares
- insights_engaged_users
- insights_impressions
- insights_impressions_organic
- insights_impressions_paid
- insights_post_clicks
- insights_post_clicks_by_type_unique.link clicks
- insights_post_clicks_by_type_unique.photo view
- insights_post_clicks_by_type_unique.video play
- insights_reach
- insights_reach_organic
- insights_reach_paid
- insights_video_avg_time_watched
- insights_video_complete_views_30s
- insights_video_view_time
- insights_video_views
- insights_video_views_organic
- insights_video_views_paid
- insights_video_views_unique
Fields that might be used to filter Facebook posts:
Basic Fields- post_labels - This field supports advanced post filters.
- ppd_status
- type
- insights_paid_status
Response
Name | Description |
---|---|
success | Status of the response. Possible values are true or false. |
data |
object containing the following properties:
|
Example request
POST /2/facebook/page/posts HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": ["164929129743", "543567853435"],
"date_start": "2017-07-01",
"date_end": "2017-10-25",
"fields": [
"id",
"created_time",
"message",
"comments",
"shares",
"reactions",
"interactions",
"url",
"author_id",
"page_id",
"attachments",
"type",
"reactions_by_type",
"story",
"insights_impressions",
"insights_impressions_paid",
"insights_paid_status",
"insights_engaged_users",
"insights_video_avg_time_watched",
"insights_engagement_rate",
"insights_post_clicks_by_type",
"insights_post_clicks_by_type_unique",
"universal_video_id",
"video_id",
"ppd_status",
"video_length",
"post_labels"
],
"sort": [
{
"field": "created_time",
"order": "desc"
}
],
"filter": [
{
"field": "type",
"value": ["video"]
},
{
"field": "insights_paid_status",
"value": "paid",
},
{
"match_any": [
{
"field": "post_labels",
"value": [
"fa14dde7e4f041e3a646",
"890c135d9cee4cf89b42"
]
}
]
}
],
"limit": 5
}
Example response
{
"success": true,
"data": {
"posts": [
{
"id": "164929129743_10154736430664744",
"created_time": "2016-11-04T13:00:08+00:00",
"message": "Brainstorming on your social media content? This tool will help ↓",
"comments": 10,
"shares": 20,
"reactions": 70,
"interactions": 100,
"url": "https://www.facebook.com/socialbakers/posts/10154736430664744",
"author_id": "164929129743",
"page_id": "164929129743",
"attachments": [
{
"title": "Looking to Get Inspired For Your Next Campaign or Post?",
"description": "Coming up with ideas for new posts and campaigns is a challenge for every marketer...",
"url": "https://goo.gl/28ZEjD",
"image_url": "https://external.xx.fbcdn.net/safe_image.php?d=AQDCqVXSjdGWUTu5&url=https%3A%2F%2Fwww.facebook.com%2Fads%2Fimage%2F%3Fd%3DAQJAeqUrvHG_eEQJrlnw0oLjbP7j0uio9f72hrlJ-8VWCVEc2tV_wkWj3XOLkWrB3R0KYlA09NYIwj1KGgpqOkDtsYkAg49xZVltN_OQloQpjk0smGZC9CwkDTZn9XbotqP5G6MYA8bEjlnhgdc84Exm"
}
],
"type": "link",
"reactions_by_type": {
"like": 10,
"love": 20,
"wow": 30,
"haha": 5,
"sorry": 3,
"anger": 2
},
"post_labels": [
{
"id": "fa14dde7e4f041e3a646",
"name": "Content Label 1"
}
],
"story": "Emplifi published a note",
"insights_impressions": 3583,
"insights_impressions_paid": 496,
"insights_paid_status": "paid",
"insights_engaged_users": 50,
"insights_video_avg_time_watched": 60000,
"video_id": "1072177562941323",
"ppd_status": "organic",
"video_length": 125.481,
"universal_video_id": "164929129743_10154736430664744",
"insights_post_clicks_by_type": {
"other clicks": 381,
"link clicks": 48,
"video play": 530
},
"insights_post_clicks_by_type_unique": {
"other clicks": 302,
"link clicks": 43,
"video play": 506
},
"insights_engagement_rate": 0.017567734751948533
}, ...
],
"next": "eyJjdXJzb3IiOlt7ImZpZWxkIjoiY3JlYXRlZF90aW1lIiwidmFsdWUiOiIyMDE2LTEwLTI1VDEzOjAwOjA2LjAwMFoiLCJvcmRlciI6ImRlc2MifV0sImlkcyI6WyIxNjQ5MjkxMjk3NDNfMTAxNTQ3MDUwODA3Mzk3NDQiXX0=",
"remaining": 3276
}
}
Instagram Profile Posts Metrics
Returns a set of posts created during the specified date range for each requested Instagram profile. Instagram posts endpoint returns lifetime values of the metrics.
Parameters
Name | Description |
---|---|
profiles |
array , list of profile IDs of the profiles available from the /2/instagram/profiles endpoint.
|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
Your request is transformed using the time zone assigned to a profile in the Suite settings of your account.
The response of the endpoint displays the date/time in UTC time zone. You can shift the date/time to the correct
timezone using the timezone of each individual profile from the /2/instagram/profiles endpoint.
The last day will be also included in the response.
|
fields |
array , the list of fields that will be returned in the response. Available fields are listed in
the table below.
|
limit |
integer , (optional). The number of results per page. The default value is 10 and the maximal value is 500.
|
after |
string , (optional). Pagination cursor. Points to the end of the page that has been returned.
|
sort |
You can sort the results by specifying a field and sorting order in the sort object: "field": "created_time"
and "order": "desc" . See the list of fields allowed
for sorting.
|
filter |
You can filter results by providing the filter parameter with field and value . See
the list of fields allowed for filtering.
|
Basic Fields
Name | Type | Example | Description |
---|---|---|---|
attachments |
array
|
|
Array of objects containing details about post attachments. Fields: url, type, width, height |
author_id |
string
|
|
Author profile ID. |
comments |
integer
|
|
Total number of comments on the media object. |
created_time |
datetime
|
|
Instagram media created time. |
engagement_rate |
float
|
|
Engagement Rate for a particular post displays the average number of Interactions per Fan. Engagement Rate is therefore calculated by dividing the number of Interactions of a post by the number of Fans on that day. |
id |
string
|
|
Instagram media ID. |
interactions |
integer
|
|
Total number of interactions on the media object. |
likes |
integer
|
|
Total number of likes on the media object. |
message |
string
|
|
Instagram media contents. |
post_labels |
array
|
|
Array of content labels (formally post labels) for given post and account |
type |
string
|
|
Media post type. |
url |
string
|
|
Link to instagram post. |
Insights Fields
Metrics prefixed with insights_
can only be used for profiles that have insights_enabled
property set to true
in the response of the /2/instagram/profiles
endpoint.
Name | Type | Example | Description |
---|---|---|---|
insights_engagement
No longer supported
|
integer
|
|
Total number of likes and comments on the media object. We have updated and improved this metric and it is available for you to use from the latest API version. The older version of this metric will still return data for the time being but please bear in mind that this will show different values in comparison to the new one. If you are interested about the details of the new metric, please check this article. |
insights_impressions |
integer
|
|
Total number of times the media object has been seen. |
insights_reach |
integer
|
|
Total number of unique accounts that have seen the media object. |
insights_saved |
integer
|
|
Total number of unique accounts that have saved the media object. |
insights_video_views |
integer
|
|
(Videos only) Total number of times the video has been seen. Returns 0 for videos in carousel albums. |
Fields that might be used to sort Instagram posts:
Basic Fields- comments
- created_time
- interactions
- likes
- insights_impressions
- insights_reach
- insights_saved
- insights_video_views
Fields that might be used to filter Instagram posts:
Basic Fields- post_labels - This field supports advanced post filters.
- type
Response
Name | Description |
---|---|
success | Status of the response. Possible values are true or false. |
data |
object containing the following properties:
|
Example request
POST /2/instagram/profile/posts HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": ["490402220", "55674325"],
"date_start": "2018-06-01",
"date_end": "2018-08-31",
"fields": [
"interactions",
"comments",
"likes",
"insights_engagement",
"insights_saved",
"insights_reach",
"insights_video_views",
"insights_impressions",
"id",
"author_id",
"created_time",
"type",
"message",
"attachments",
"post_labels",
"url"
],
"sort": [
{
"field": "created_time",
"order": "desc"
}
],
"filter": [
{
"field": "type",
"value": ["image"]
},
{
"match_any": [
{
"field": "post_labels",
"value": [
"fa14dde7e4f041e3a646",
"890c135d9cee4cf89b42"
]
}
]
}
],
"limit": 5
}
Example response
{
"success": true,
"data": {
"posts": [
{
"id": "17966172199068623_490402220",
"created_time": "2018-08-23T09:59:27+00:00",
"message": "Stuck in a rut with your Instagram marketing? Don’t sweat it 🙅♀️. Freshen up your content with these tips for insta success 💥! See link in bio to unlock the full list 📝",
"comments": 9,
"likes": 86,
"author_id": "490402220",
"type": "video",
"interactions": 95,
"profile_id": "490402220",
"attachments": [
{
"images": [],
"videos": [
{
"url": "https://scontent.xx.fbcdn.net/v/t50.2886-16/39076708_281043816045474_2574583738604191744_n.mp4?_nc_cat=0&oh=2d1efdd181ee7d18d1be98d22afdb900&oe=5BF734E0"
}
]
}
],
"post_labels": [
{
"id": "890c135d9cee4cf89b42",
"name": "Content Label 1"
}
],
"insights_engagement": 148,
"insights_saved": 52,
"insights_reach": 3094,
"insights_video_views": 923,
"insights_impressions": 4178,
"url": "https://www.instagram.com/p/Bk4f5J_gypJ/"
}
],
"next": "eyJjdXJzb3IiOlt7ImZpZWxkIjoiY3JlYXRlZF90aW1lIiwidmFsdWUiOiIyMDE4LTA2LTI4VDEyOjM4OjM0KzAwOjAwIiwib3JkZXIiOiJkZXNjIn1dLCJpZHMiOlsiMTc4OTM5NTExNjIyMTY0NjRfNDkwNDAyMjIwIl19=",
"remaining": 15
}
}
Twitter Tweets Metrics
Returns tweets metrics for each requested Twitter profile.
Parameters
Name | Description |
---|---|
profiles |
array , list of profile IDs of the profiles available from the /2/twitter/profiles endpoint.
|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
Your request is transformed using the time zone assigned to a profile in the Suite settings of your account.
The response of the endpoint displays the date/time in UTC time zone. You can shift the date/time to the correct
timezone using the timezone of each individual profile from the /2/twitter/profiles endpoint.
The last day will be also included in the response.
|
fields |
array , the list of fields that will be returned in the response. Available fields are listed in
the table below.
|
limit |
integer , (optional). The number of results per page. The default value is 10 and the maximal value is 500.
|
after |
string , (optional). Pagination cursor. Points to the end of the page that has been returned.
|
filter |
You can filter results by providing the filter parameter with field and value . See
the list of fields allowed for filtering.
|
Fields
Name | Type | Example | Description |
---|---|---|---|
author_id |
string
|
|
Tweet author profile id. |
engagement_rate |
float
|
|
Engagement Rate for a particular post displays the average number of Interactions per Fan. Engagement Rate is therefore calculated by dividing the number of Interactions of a post by the number of Fans on that day. |
id |
string
|
|
Tweet id. |
post_labels |
array
|
|
Array of content labels (formally post labels) for given tweet and account |
Fields that might be used to filter Twitter posts:
Basic Fields- post_labels - This field supports advanced post filters.
Response
Name | Description |
---|---|
success | Status of the response. Possible values are true or false. |
data |
object containing the following properties:
|
Example request
POST /2/twitter/profile/tweets HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": ["1964904343", "8643567434"],
"date_start": "2016-01-01",
"date_end": "2017-01-01",
"fields": [
"id",
"author_id",
"post_labels"
],
"filter": [
{
"match_any": [
{
"field": "post_labels",
"value": [
"fa14dde7e4f041e3a646",
"890c135d9cee4cf89b42"
]
}
]
}
],
"limit": 5
}
Example response
{
"success": true,
"data": {
"posts": [
{
"id": "689427258210004992",
"post_labels": [
{
"id": "fa14dde7e4f041e3a646",
"name": "Content Label 1"
}
],
"author_id": "1964904343",
}
],
"remaining": 0
}
}
YouTube Profile Video Metrics
Returns a set of videos created during the specified date range for each requested YouTube channels. YouTube videos endpoint returns lifetime values of the metrics.
Parameters
Name | Description |
---|---|
profiles |
array , list of profile IDs of the profiles available from the /2/youtube/profiles endpoint.
|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
Your request is transformed using the time zone assigned to a profile in the Suite settings of your account.
The response of the endpoint displays the date/time in UTC time zone. You can shift the date/time to the correct
timezone using the timezone of each individual profile from the /2/youtube/profiles endpoint.
The last day will be also included in the response.
|
fields |
array , the list of fields that will be returned in the response. Available fields are listed in
the table below.
|
limit |
integer , (optional). The number of results per page. The default value is 10 and the maximal value is 500.
|
after |
string , (optional). Pagination cursor. Points to the end of the page that has been returned.
|
sort |
You can sort the results by specifying a field and sorting order in the sort object: "field": "created_time"
and "order": "desc" . See the list of fields allowed
for sorting.
|
filter |
You can filter results by providing the filter parameter with field and value . See
the list of fields allowed for filtering.
|
Fields
Name | Type | Example | Description |
---|---|---|---|
author_id |
string
|
|
The ID that YouTube uses to uniquely identify the channel that the video was uploaded to. |
comments |
integer
|
|
The number of comments for the video. |
created_time |
datetime
|
|
The date and time when the uploaded video file was created. |
dislikes |
integer
|
|
Number of dislikes for the video. Dislike count is no longer available as of December 13, 2021 Learn more. |
duration |
integer
|
|
The length of the video [s]. |
engagement_rate |
float
|
|
Engagement Rate for a particular post displays the average number of Interactions per Fan. Engagement Rate is therefore calculated by dividing the number of Interactions of a post by the number of Fans on that day. Dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
id |
string
|
|
The ID that YouTube uses to uniquely identify the video. |
interactions |
integer
|
|
Sum of likes and comments. Dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
likes |
integer
|
|
The number of users who have indicated that they liked the video. |
message |
string
|
|
The video's description. |
post_labels |
array
|
|
Array of content labels (formally post labels) for given profile and account |
published_time |
datetime
|
|
The date and time when the video was published. |
video_view_time |
integer
|
|
The number of time the video has been viewed multiplied by duration [s]. |
video_views |
integer
|
|
The number of times the video has been viewed. |
Fields that might be used to sort YouTube profile video:
Basic Fields- comments
- created_time
- dislikes
- duration
- interactions
- likes
- published_time
- video_view_time
- video_views
Fields that might be used to filter YouTube profile video:
Basic Fields- post_labels - This field supports advanced post filters.
Response
Name | Description |
---|---|
success | Status of the response. Possible values are true or false. |
data |
object containing the following properties:
|
Example request
POST /2/youtube/profile/videos HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": ["UCA6AG33Zac0xi6f9VMTxkFQ", "455DFG232sdg677"],
"date_start": "2018-06-01",
"date_end": "2018-08-31",
"fields": [
"id",
"created_time",
"message",
"author_id",
"comments",
"duration",
"video_view_time",
"published_time",
"dislikes",
"video_views",
"likes",
"interactions",
"post_labels"
],
"sort": [
{
"field": "created_time",
"order": "desc"
}
],
"filter": [
{
"match_any": [
{
"field": "post_labels",
"value": [
"fa14dde7e4f041e3a646",
"890c135d9cee4cf89b42"
]
}
]
}
]
"limit": 5
}
Example response
{
"success": true,
"data": {
"posts": [
{
"id": "6Ol7dJtKcq0",
"created_time": "2018-06-15T14:41:32.000Z",
"message": "Get caught up on the most important social media news of the week!\nBeginner-friendly guide to Influencer Marketing: http://goo.gl/aTWHRV",
"author_id": "UCA6AG33Zac0xi6f9VMTxkFQ",
"comments": 0,
"likes": 6,
"duration": 114,
"video_view_time": 41040,
"published_time": "2018-06-15T14:41:32.000Z",
"dislikes": 0,
"video_views": 360,
"interactions": 6,
"post_labels": [
{
"id": "fa14dde7e4f041e3a646",
"name": "Content Label 1"
}
]
},
],
"next": "eyJjdXJzb3IiOlt7ImZpZWxkIjoiY3JlYXRlZF90aW1lIiwidmFsdWUiOiIyMDE4LTA2LTI4VDEyOjM4OjM0KzAwOjAwIiwib3JkZXIiOiJkZXNjIn1dLCJpZHMiOlsiMTc4OTM5NTExNjIyMTY0NjRfNDkwNDAyMjIwIl19=",
"remaining": 15
}
}
Aggregated Post Metrics
Aggregated Post metrics display lifetime data from individual posts published during the selected time period of your analysis. All post data is aggregated and displayed for the day the post was published, regardless of when the engagement happened.
Parameters
Name | Description |
---|---|
date_start, date_end |
string ,
the beginning / end of the period you want to get the data for in the format YYYY-MM-DD.
The response uses a timezone assigned to a profile in Suite settings of the account.
The last day will be also included in the response.
|
profiles | array of objects, consists of profile IDs and platforms. You can get the profiles from the List of Connected Profiles section. |
metric | string , the list of available metrics is displayed below. |
dimensions | array of objects. The data of the metric can be split by a specific dimension. The most common dimension is time. See the list of available dimensions in the table of metrics below. Dimensions followed by an asterisk * must be last. There may be only one last dimension. |
filter | array of objects. You can filter the results using simple or advanced post filters. See the list of fields allowed for filtering. |
Metrics
Metrics prefixed with insights_
can only be used for profiles from platforms that have insights enabled. Not all metrics are available for all platforms.
All LinkedIn metrics can only be used for profiles that have insights_enabled
property set to true
in the response of the /2/linkedin/profiles
endpoint.
Aggregation is the type of calculation used for grouping values of a specific metric.
Name | Dimensions | Aggregation | Metrics Description |
---|---|---|---|
engagement_rate
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status sentiment_type |
avg | Engagement Rate for a particular post displays the average number of Interactions per Fan. Engagement Rate is therefore calculated by dividing the number of Interactions of a post by the number of Fans on that day. No data available for FB pages that is part of the Global Page Structure and does not have insights connected. YouTube dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
insights_completion_rate
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type |
avg | The percentage of times a story impression was not interrupted by an exit, tap back, or tap forward. |
insights_engagements
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type content_type |
sum | Engagements inform about how many times users engaged with a post during its lifetime. Learn More. |
insights_impressions
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status sentiment_type |
sum | Number of impressions for your posts. |
insights_media_views
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type content_type sentiment_type |
sum | All views(autoplay and clicks) of the media which includes videos, gifs and images. |
insights_post_clicks
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status |
sum | The number of times people clicked on anywhere in your posts without generating an activity. |
insights_post_saves
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type content_type |
sum | Total number of saves on the posts. |
insights_reach_engagement
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status |
avg | Reach Engagement Rate informs about the percentage of users who engaged with a post during its lifetime given its reach. Learn More. |
insights_reach_per_content
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status sentiment_type |
avg | Number of people who have seen any content associated with your Page. (Unique Users) |
insights_story_exits
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type |
sum | The number of times users exited your story. |
insights_story_taps_back
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type |
sum | The number of times users clicked back to return to the previous story. |
insights_story_taps_forward
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type |
sum | The number of times users clicked forward to skip to the next story. |
insights_video_views
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type published_status sentiment_type |
sum | Number of times page's videos have been viewed for more than 3 seconds. For Instagram Reels number of plays are counted as video views. Plays are defined as video sessions with 1 ms + of playback, excluding replays. |
interactions
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status interaction_type sentiment_type |
sum | Number of interactions on page posts. YouTube dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
interactions_per_1k_fans
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status sentiment_type |
sum | Number of interactions on page posts per 1k fans. No data available for FB pages that is part of the Global Page Structure and does not have insights connected. YouTube dislike count is no longer available for this metric as of December 13, 2021 Learn more. |
likes
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type sentiment_type |
sum | Number of likes of profile posts. |
number_of_comments
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status sentiment_type |
sum | Number of comments on page posts. |
page_posts
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status sentiment_type |
sum | Number of page posts. |
page_replies
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label |
sum | Number of replies by the Twitter profile. |
page_shares
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label |
sum | Number of retweets or shares by the page/profile |
profile_tweets
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type |
sum | Total number of tweets, excluding replies and retweets. |
sentiment_manual_auto
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label media_type sentiment * |
sum | The breakdown of sentiment – Positive, Negative, or Neutral – for all comments. This metric needs to be used with the sentiment dimension. |
shares
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type published_status |
sum | Number of interactions on page posts, filtered by content type shared. |
user_posts
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type |
sum | Number of page posts, filtered by origin incoming. |
user_posts_average_response_time
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type |
avg | Average response time of page posts, filtered by origin incoming |
user_posts_responded
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type response_time |
sum | Number of non-admin page posts that have been responed, filtered by origin incoming. |
user_posts_response_rate
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type |
avg | Ratio of responded user posts to number of user posts |
user_questions
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type |
sum | Number of page posts which are questions. |
user_questions_average_response_time
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type |
avg | Average response time of page posts which are questions, filtered by origin incoming |
user_questions_responded
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type response_time |
sum | Number of non-admin page posts which are questions that have been responded. |
user_questions_response_rate
|
date.day date.month date.quarter date.week date.year platform profile post_labels profile_label content_type media_type |
avg | Ratio of responded user questions to user questions. |
Fields that might be used to filter posts:
Basic Fields- post_labels - This field supports advanced post filters.
Example request
POST /2/aggregated-metrics HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"profiles": [
{
"id": "564919357",
"platform": "twitter"
},
{
"id": "164929129743",
"platform": "facebook"
}
],
"date_start": "2018-11-01",
"date_end": "2018-11-12",
"metric": "page_posts",
"dimensions": [
{
"type": "profile"
}
],
"filter": [
{
"field": "post_labels",
"value": [
"e3af7de2d2274393b86b"
]
}
]
}
Example response
{
"success": true,
"header": [
{
"type": "profile",
"rows": [
{
"id": "564919357",
"platform": "twitter"
},
{
"id": "164929129743",
"platform": "facebook"
}
]
},
{
"type": "metric",
"rows": [
"page_posts"
]
}
],
"data": [
[
3
],
[
6
]
]
}
Advanced Post Filters
Introduction
Some fields support advanced possibilities of filtering. It is possible to create filter rules as a combination of match_all
and match_any
clauses. A combination with simple filter definition is also possible.
The filter consists of two types of clauses:
Simple filter clauses
Specifies particular field(s) and its values. Posts having these values will be part of the results.
{
"field": "type",
"value": [
"photo",
"status"
]
}
Advanced filter clauses
The advanced filter is used to combine multiple filters in a logical meaning as AND
, and OR
.
match_all
- Represents logicalAND
. Items have to match in all criteria for each clausematch_any
- Represents logicalOR
. The result of this filter has to match at least in one criterion of the clause.
{
"match_all": [
{
"field": "post_labels",
"value": [
"fa14dde7e4f041e3a646",
"890c135d9cee4cf89b42"
]
}
]
}
Google Data Studio Connector
Introduction
Google Data Studio is an analytics dashboard report service which turns your analytics data into informative reports which are easy to read, share and customizable.
Official Google Data Studio Connector description: https://support.google.com/datastudio/answer/6268208.
The connector allows you to access Emplifi API and use it as a source of data for your reports.
To access the connector, please visit this address: Emplifi GDS Connector
For authorization, you’ll need to input a User name and Token. These are linked to a specific user of a Emplifi Suite account. Get in touch with our Support team at support@emplifi.io to get yours.
(Please note that name convention slightly differs on Emplifi’s side where ‘Token’ and ‘Secret’ is being used.
EXAMPLE of what you’ll use for input:
User Name: (called token on Emplifi side)
NjE5MTA4XzE3OTAyMTVfMTU0NTMxNDUyOTA4OV82MTRlODkxODAzNDI0ZmU5MTQwY2VkZTY4NzI2NmI1OA== (example only, not functional)
Token: (called secret on Emplifi side)
f0e2b4ca2fd76b8515265fd6b8bced5d (example only, not functional)
More info about authorization: Security and authentication
Available metrics
Network | Metrics |
---|---|
Facebook Metrics | all metrics |
Instagram Metrics | all metrics |
Twitter Metrics | all metrics |
YouTube Metrics | all metrics |
Pinterest Metrics | all metrics |
Community
Currently only content labeling endpoints are available for Community.
Content Labeling
Add or remove labels to content in Community.
Requires labeling user permissions:
Apply Global Content Labels
Create and Edit Global Profile Labels, Content Labels and Label Groups
Currently supports the following networks: facebook
, instagram
, and twitter
.
Caveats:
- If the provided label does not exist, a global label will be created in the account.
- Labeled content must exist in Community at the time of the API call.
- The updates are immediately propagated into feeds.
Methods
PUT
- Add labels to content
DELETE
- Remove labels from content
Parameters
Name | Description |
---|---|
content_ids |
array of network specific content IDs (status ID for Twitter, see
below for Facebook content IDs). (required)
|
labels |
array of label names (strings) to add to content. (required)
|
Facebook Content IDs
- Direct Messages
- To label direct message conversation, prefix the conversation ID (e.g.
t_100022491363476
) with page ID and dash. -
Example: Given page ID
558021681218098
and conversation IDt_100022491363476
, the resulting content ID will be:558021681218098-t_1200750755
- Posts
- To label specific page's post, prefix the post ID with page ID.
-
Example: Given page ID
164929129743
and post ID10156439716079744
, the resulting content ID is:164929129743_10156439716079744
- Post Comments
- To label specific comment to a post, prefix the comment ID with post ID.
-
Example: Given post ID
10156439716079744
and comment ID10156440099689744
, the resulting content ID will be:10156439716079744_10156440099689744
.
Note: You can verify post and comment IDs by inserting them as path to Facebook URL. For example
facebook.com/10156439716079744_10156440099689744
redirects to the comment.
These composite IDs are compatible with Graph API too.
Response
Name | Description |
---|---|
success | Status of the response. Possible values are true or false. |
data |
object containing the
contents object of responses per individual contents.
|
Example request
PUT /2/community/{network}/labels HTTPS
Host: api.emplifi.io
Authorization: Basic base64_encoded_auth
Content-Type: application/json; charset=utf-8
{
"content_ids": [
// Facebook conversation ID
"754387418054186-t_100022491363476",
// Facebook page post ID
"849715935050458_1520511894637588",
],
"labels": ["my label"],
}
Example response
{
"success": true,
"data": {
"contents": {
"754387418054186-t_100022491363476": {
"status": "ok"
},
"849715935050458_1520511894637588": {
"status": "ok"
}
}
}
}
Changelog
v2.12 (2023/01/12)
-
video_igtv
media type is now merged together with the rest of themedia_type=video
content. As of October 5, 2021, Facebook has combined IGTV and feed videos into a single format - Instagram Video.-
POST /2/aggregated-metrics
will no longer returnvideo_igtv
as a separate bucket ofmedia_type
breakdown. Instead, it will include the results in thevideo
bucket.
-
v2.11 (2022/10/26)
-
Socialbakers API is now Emplifi API.
Read below for the list of changes that may affect you:- The Emplifi API documentation is now located on https://api.emplifi.io/. https://api.socialbakers.com/ automatically redirects here
- All API calls should be sent to new hostname
api.emplifi.io
- For security reasons API calls to
api.socialbakers.com
are not going to be automatically redirected toapi.emplifi.io
. You should update the hostname of all of your calls - IMPORTANT Please note that API calls made to
api.socialbakers.com
will stop working on Jan 1st 2024
v2.10
- Instagram Reels data is available and supported under dimension media_type='reel'. Affected endpoints:
v2.9
- LinkedIn organic metrics now require connected LinkedIn Insights data connection instead of Publishing in order to return data
v2.8
- Vkontakte data is no longer supported under
- List of connected profiles no longer returns VK profiles
v2.7
-
YouTube metrics have been updated to reflect the change of Dislikes count availability introduced by YouTube in December 13, 2021 Learn more. Affected are:
-
/2/youtube/metrics
interaction_change, interactions_per_1k_fans
-
/2/youtube/profile/videos
dislikes, engagement_rate, interactions
-
/2/aggregated-metrics
engagement_rate, interactions, interactions_per_1k_fans
-
- Requesting non-existing route will now ends up with HTTP status code 404 and JSON error response.
- User rate limits for request count is not shared between accounts.
v2.6
- Aggregated post metrics endpoint /2/aggregated-metrics now returns data sorted by value descending
v2.5
- Tableau WDC connector v1 is no longer supported, please use latest version.
v2.4
/2/facebook/page/posts
insights_engagement_rate
- no longer supported. We have introduced a new version of the Reach ER in the latest version of the API. This field will still be return for the time being./2/instagram/profile/posts
insights_engagement
- no longer supported. We have introduced a new version of the Engagements in the latest version of the API. This field will still be return for the time being./2/aggregated-metrics
insights_engagement
- YT Engagements is now supported under this field. Calculation for Facebook and Instagram engagements has been upgraded. Learn Moreinsights_reach_engagement
- IG Reach ER is now supported under this field. Calculation for Facebook has been upgraded. Learn More
v2.3
- IGTV data is available and supported under dimension
media_type='video_igtv'
Affected endpoints:
v2.2
insights_video_views
metric is now returning data also for Instagram Carousels with videosv2.1
- Fixed a bug where following endpoints were returning partial data when requesting insights metrics for profiles without insights permissions instead of failing with error
code 7, Profiles do not have insights enabled
. This is potentially a breaking change if data was not requested according to documentation.
Affected endpoints:
v2.0
- Added get connected profiles support for LinkedIn and Vkontakte.
- Introduced new Profile level metrics with dimension support.
- Added Profile level metrics for LinkedIn.
- Facebook Post Metrics endpoint within the Aggregated Post Metric is removed.
v1.14 (2023/01/12)
-
video_igtv
media type is now merged together with the rest of themedia_type=video
content. As of October 5, 2021, Facebook has combined IGTV and feed videos into a single format - Instagram Video.-
POST /1/aggregated-metrics
will no longer returnvideo_igtv
as a separate bucket ofmedia_type
breakdown. Instead, it will include the results in thevideo
bucket.
-
v1.13 (2022/10/26)
-
Socialbakers API is now Emplifi API.
Read below for the list of changes that may affect you:- The Emplifi API documentation is now located on https://api.emplifi.io/. https://api.socialbakers.com/ automatically redirects here
- All API calls should be sent to new hostname
api.emplifi.io
- For security reasons API calls to
api.socialbakers.com
are not going to be automatically redirected toapi.emplifi.io
. You should update the hostname of all of your calls - IMPORTANT Please note that API calls made to
api.socialbakers.com
will stop working on Jan 1st 2024
v1.12
- Instagram Reels data is available and supported under dimension media_type='reel'. Affected endpoints:
v1.11
- LinkedIn organic metrics now require connected LinkedIn Insights data connection instead of Publishing in order to return data
v1.10
- Vkontakte data is no longer supported under
v1.9
-
YouTube metrics have been updated to reflect the change of Dislikes count availability introduced by YouTube in December 13, 2021 Learn more. Affected are:
-
/1/youtube/metrics
dislikes_change, engagement_rate, interaction_change, interactions_per_1000_subscribers
-
/1/youtube/profile/videos
dislikes, engagement_rate, interactions
-
/1/aggregated-metrics
engagement_rate, interactions, interactions_per_1k_fans
-
- Requesting non-existing route will now ends up with HTTP status code 404 and JSON error response.
- User rate limits for request count is not shared between accounts.
v1.8
- Aggregated post metrics endpoint /1/aggregated-metrics now returns data sorted by value descending
v1.7
- Tableau WDC connector v1 is no longer supported, please use latest version.
v1.6
/1/facebook/page/posts
insights_engagement_rate
- no longer supported. We have introduced a new version of the Reach ER in the latest version of the API. This field will still be return for the time being./1/instagram/profile/posts
insights_engagement
- no longer supported. We have introduced a new version of the Engagement in the latest version of the API. This field will still be return for the time being./1/aggregated-metrics
insights_engagement
- YT Engagements is now supported under this field. Calculation for Facebook and Instagram engagements has been upgraded. Learn Moreinsights_reach_engagement
- IG Reach ER is now supported under this field. Calculation for Facebook has been upgraded. Learn More/1/metrics
insights_reach_engagement
- Calculation for Facebook Aggregated metrics has been upgraded. Learn More
v1.5
- IGTV data is available and supported under dimension
media_type='video_igtv'
Affected endpoints:
v1.4
insights_video_views
metric is now returning data also for Instagram Carousels with videosv1.3
- Fixed a bug where following endpoints were returning partial data when requesting insights metrics for profiles without insights permissions instead of failing with error
code 7, Profiles do not have insights enabled
. This is potentially a breaking change if data was not requested according to documentation.
Affected endpoints:
v1.2
- Introduced new Aggregated Post Metrics endpoint under the Aggregated Post Metrics section. This adds support to aggregate data across multiple social networks.
- Introduced post level aggregated data for IG Story specific metrics.
v1.1
- IG carousel typed posts now returns all image links (bugfix).
v1.0
2020/03/04
- Fix community add and delete labels
2020/01/13
- Add profile-level engagement_rate.
2020/01/08
- Add post-level engagement_rate. Multiplication by 10 is needed for all values except for the FB one, as we already receive it multiplied by 10
2019/07/11
2019/06/22
- some of Twitter Tweets Metrics are no longer supported to meet the Twitter Developer Policies
2018/12/17
- new endpoint
/1/metrics
to get aggregated data of a set of posts defined by profiles and filtering parameters /1/facebook/page/posts
now returns also unpublished posts.- new sort fields to sort Facebook posts by
insights_impressions
,insights_impressions_paid
,insights_impressions_organic
- new field
url
added to Instagram posts
2018/11/04
- interactions metric added for YouTube video
- posts can be filtered by Content Label (label IDs)
- new endpoint
/1/post/labels
to get a list of content labels available in the account - multiple profiles can be requested in bulk while using Facebook post, Instagram post, Twitter tweets, and YouTube video metrics
- label ID is returned for Facebook post, Instagram post, Twitter tweets, and YouTube video content labels in addition to a label name
- the timezone is (internally) applied to correspond with Suite data when using post level endpoints
- new metrics
insights_paid_status
,insights_video_view_time_by_country_id
, andinsights_video_view_time_by_age_bucket_and_gender
added to Facebook post endpoint - new filters,
ppd_status
, andinsights_paid_status
, available for Facebook post
v0.9
2021/06/16
-
Fixed a bug where following endpoints were returning partial data when requesting insights metrics for profiles without insights permissions instead of failing with error
code 7, Profiles do not have insights enabled
. This is potentially a breaking change if data was not requested according to documentation.Affected endpoints:
2019/06/22
- some of Twitter Tweets Metrics are no longer supported to meet the Twitter Developer Policies
2018/12/17
- new sort fields to sort Facebook posts by
insights_impressions
,insights_impressions_paid
,insights_impressions_organic
- new field
url
added to Instagram posts
2018/11/04
- the timezone is (internally) applied to correspond with Suite data when using post level endpoints
2018/10/17
- new filter field to filter Facebook post, Instagram post and Twitter tweets
- new sort field to sort Facebook post, Instagram post, Twitter tweets and YouTube video metrics
2018/09/10
- new video-related metrics and
paid_status
metric for Facebook post metrics - new endpoint YouTube video metrics
- new endpoint Instagram post metrics
2018/08/10
- new
insights_
prefixed metrics added for Instagram metrics
2018/02/22
- new response field
type
added to Twitter tweets metrics
2017/10/16
- new response field
sbks_labels
added to List of connected profiles
2017/08/16
- new response field
picture
added to List of connected profiles
2017/07/13
- new field
sbks_labels
added to Facebook post metrics
2017/05/04
- new metrics
insights_impressions_viral
,insights_impressions_viral_frequency_distribution
andinsights_impressions_viral_unique
added for Facebook metrics
2017/03/28
- new metrics
insights_
prefixed metrics for Facebook metrics - new metrics
insights_
prefixed metrics for Facebook post metrics - new endpoint Twitter tweet metrics
- new Tableau Web Data Connector
2016/11/23
- new network
pinterest
added for List of connected profiles - new endpoint Pinterest metrics
- new endpoint Facebook post metrics
2016/10/27
- new metrics
viewed_time_change
andviewed_time_lifetime
added for YouTube metrics
Available versions
Version | Date Introduced | Available Until |
---|---|---|
v3 | September 16, 2020 | TBD |
v2 | July 22, 2020 | TBD |
v1 | November 4, 2018 | TBD |
v0 | September 30, 2016 | July 22, 2021 |