Get Page Insights
Updated: May 7, 2026
This guide explains how to get metrics for your Facebook Pages. Get the total number of people who liked your Page or the number of people who shared stories about your Page.
By June 15, 2026, a number of the Page Insights metrics will be deprecated for all API versions. The API returns an invalid metric error when calling any of these metrics. Read our blog to learn more.
Limitations
- Metric data of public Pages is stored by Facebook for 2 years.
- Metric data of unpublished Pages is stored for only 5 days.
- When viewing daily metrics with
sinceanduntil, the firstend_timevalue will be the date specified bysinceplus 1 so that it includes thesincedate data. For example, if you setsinceto January 1, 2018, theend_timewill be January 2, 2018 at 8:00 GMT.
Before You Start
pages_read_engagementpermissionread_insightspermission- A Page Access Token - The person requesting the token must be able to perform the analyze task on the Page.
Get a Single Metric
Send a
GET request to the /{page-id}/insights/{metric-name} endpoint:curl -i -X GET "https://graph.facebook.com/{page-id}/insights/page_impressions_unique
?access_token={page-access-token}"
On success your app receives the following response:
{ "data": [ { "name": "page_impressions_unique", "period": "day", "values": [ { "value": 66226, "end_time": "2020-03-10T07:00:00+0000" }, { "value": 78037, "end_time": "2020-03-11T07:00:00+0000" } ], "title": "Daily Total Reach", "description": "Daily: The number of people who had any content from your Page or about your Page enter their screen. This includes posts, check-ins, ads, social information from people who interact with your Page and more. (Unique Users)", "id": "{page-id}/insights/page_impressions_unique/day" }, { "name": "page_impressions_unique", "period": "week", "values": [ { "value": 202229, "end_time": "2020-03-10T07:00:00+0000" }, { "value": 206982, "end_time": "2020-03-11T07:00:00+0000" } ], "title": "Weekly Total Reach", "description": "Weekly: The number of people who had any content from your Page or about your Page enter their screen. This includes posts, check-ins, ads, social information from people who interact with your Page and more. (Unique Users)", "id": "{page-id}/insights/page_impressions_unique/week" }, { "name": "page_impressions_unique", "period": "days_28", "values": [ { "value": 427380, "end_time": "2020-03-10T07:00:00+0000" }, { "value": 432909, "end_time": "2020-03-11T07:00:00+0000" } ], "title": "28 Days Total Reach", "description": "28 Days: The number of people who had any content from your Page or about your Page enter their screen. This includes posts, check-ins, ads, social information from people who interact with your Page and more. (Unique Users)", "id": "{page-id}/insights/page_impressions_unique/days_28" } ], "paging": { "previous": "https://graph.facebook.com/{page-id}/insights?access_token={page-access-token}&pretty=0&metric=page_impressions_unique&since=1583568000&until=1583737200", "next": "https://graph.facebook.com/{page-id}/insights?access_token={page-access-token}&pretty=0&metric=page_impressions_unique&since=1583910000&until=1584082800" } }
Get Multiple Metrics
Send a
GET request to the /{page-id}/insights endpoint with the metric field:curl -i -X GET "https://graph.facebook.com/{page-id}/insights
?metric=page_impressions_unique,page_impressions_paid
&access_token={page-access-token}"
On success, your app receives the following response:
{ "data": [ { "name": "page_impressions_unique", "period": "day", "values": [ { "value": 60, "end_time": "2024-03-11T07:00:00+0000" }, { "value": 50, "end_time": "2024-03-12T07:00:00+0000" } ], "title": "Daily Total Reach", "description": "Daily: The number of people who had any content from your Page or about your Page enter their screen. This includes posts, check-ins, ads, social information from people who interact with your Page and more. (Unique Users)", "id": "PAGE_ID/insights/page_impressions_unique/day" }, { "name": "page_impressions_paid", "period": "day", "values": [ { "value": 8, "end_time": "2024-03-11T07:00:00+0000" }, { "value": 10, "end_time": "2024-03-12T07:00:00+0000" } ], "title": "Daily Paid Impressions", "description": "Daily: The number of times any post or story content from your Page or about your Page entered a person's screen through paid distribution such as an ad. (Total Count)", "id": "PAGE_ID/insights/page_impressions_paid/day" }, { "name": "page_impressions_unique", "period": "week", "values": [ { "value": 40, "end_time": "2024-03-11T07:00:00+0000" }, { "value": 50, "end_time": "2024-03-12T07:00:00+0000" } ], "title": "Weekly Total Reach", "description": "Weekly: The number of people who had any content from your Page or about your Page enter their screen. This includes posts, check-ins, ads, social information from people who interact with your Page and more. (Unique Users)", "id": "PAGE_ID/insights/page_impressions_unique/week" }, { "name": "page_impressions_paid", "period": "week", "values": [ { "value": 50, "end_time": "2024-03-11T07:00:00+0000" }, { "value": 106, "end_time": "2024-03-12T07:00:00+0000" } ], "title": "Weekly Paid Impressions", "description": "Weekly: The number of times any post or story content from your Page or about your Page entered a person's screen through paid distribution such as an ad. (Total Count)", "id": "PAGE_ID/insights/page_impressions_paid/week" }, { "name": "page_impressions_unique", "period": "days_28", "values": [ { "value": 110, "end_time": "2024-03-11T07:00:00+0000" }, { "value": 10, "end_time": "2024-03-12T07:00:00+0000" } ], "title": "28 Days Total Reach", "description": "28 Days: The number of people who had any content from your Page or about your Page enter their screen. This includes posts, check-ins, ads, social information from people who interact with your Page and more. (Unique Users)", "id": "PAGE_ID/insights/page_impressions_unique/days_28" }, { "name": "page_impressions_paid", "period": "days_28", "values": [ { "value": 120, "end_time": "2024-03-11T07:00:00+0000" }, { "value": 20, "end_time": "2024-03-12T07:00:00+0000" } ], "title": "28 Days Paid Impressions", "description": "28 days: The number of times any post or story content from your Page or about your Page entered a person's screen through paid distribution such as an ad. (Total Count)", "id": "PAGE_ID/insights/page_impressions_paid/days_28" } ], ...
Get Metrics of a Page Post
Send a
GET request to the /{page-post-id}/insights endpoint with the metric fields:curl -i -X GET "https://graph.facebook.com{page-post-id}/insights
?metric=post_reactions_like_total,post_reactions_love_total,post_reactions_wow_total
&access_token={page-access-token}"
On success, your app receives the following response:
{
"data": [
{
"name": "post_reactions_like_total",
"period": "lifetime",
"values": [
{
"value": 226
}
],
"title": "Lifetime Total Like Reactions of a post.",
"description": "Lifetime: Total like reactions of a post.",
"id": "{page-post-id}/insights/post_reactions_like_total/lifetime"
},
{
"name": "post_reactions_love_total",
"period": "lifetime",
"values": [
{
"value": 17
}
],
"title": "Lifetime Total Love Reactions of a post.",
"description": "Lifetime: Total love reactions of a post.",
"id": "{page-post-id}/insights/post_reactions_love_total/lifetime"
},
{
"name": "post_reactions_wow_total",
"period": "lifetime",
"values": [
{
"value": 1
}
],
"title": "Lifetime Total wow Reactions of a post.",
"description": "Lifetime: Total wow Reactions of a post.",
"id": "{page-post-id}/insights/post_reactions_wow_total/lifetime"
}
],
"paging": {
"previous": "https://graph.facebook.com/{page-post-id}/insights?access_token={page-access-token}b&pretty=0&metric=post_reactions_like_total%2Cpost_reactions_love_total%2Cpost_reactions_wow_total&since=1583568000&until=1583737200",
"next": "https://graph.facebook.com/{page-post-id}/insights?access_token={page-access-token}&pretty=0&metric=post_reactions_like_total%2Cpost_reactions_love_total%2Cpost_reactions_wow_total&since=1583910000&until=1584082800"
}
}
Get Video Ad Breaks Impressions
Additional Requirements
- The person requesting the Page access token must be able to access the monetization insights.
Send a
GET request to the /{page-id} endpoint to get daily Video Ad Breaks impressions for a Page:curl -i -X GET \
"https://graph.facebook.com/{page-id}/insights
?metric=page_daily_video_ad_break_ad_impressions_by_crosspost_status
&period=day
&since=2017-12-10
&until=2017-12-14"
On success, your app receives the following response:
{
"data": [
{
"name": "page_daily_video_ad_breaks_ad_impressions_by_crosspost_status",
"period": "day",
"values": [
{
"value": {
"crossposted": 27584,
"owned": 692730
},
"end_time": "2017-12-11T08:00:00+0000"
},
{
"value": {
"owned": 757456,
"crossposted": 20593
},
"end_time": "2017-12-12T08:00:00+0000"
},
{
"value": {
"owned": 690092,
"crossposted": 15372
},
"end_time": "2017-12-13T08:00:00+0000"
}
],
"title": "Daily page level videos ad impression",
"description": "Number of times an ad was shown during ad breaks in your Page's videos, by distribution type (page_owned and crossposted).",
"id": "{page-id}/insights/page_daily_video_ad_break_ad_impressions_by_crosspost_status/day"
}
...
Get Daily Video Ad Break Impressions of a Page Post
Send a
GET request to the /{page-post-id}/insights endpoint with the metric field:curl -i -X GET "https://graph.facebook.com/{page-post-id}/insights
?metric=post_video_ad_break_ad_impressions
&period=day
&since=2017-12-10
&until=2017-12-14
&access_token={page-access-token}"
On success, your app will receive the following response:
{
"data": [
{
"name": "total_video_ad_break_ad_impressions",
"period": "day",
"values": [
{
"value": 2612,
"end_time": "2017-12-11T08:00:00+0000"
},
{
"value": 1038,
"end_time": "2017-12-12T08:00:00+0000"
},
{
"value": 818,
"end_time": "2017-12-13T08:00:00+0000"
},
{
"value": 553,
"end_time": "2017-12-14T08:00:00+0000"
}
],
"title": "Daily Video Ad Break Ad Impressions",
"description": "Number of times an ad was shown during your video ad breaks.",
"id": "{video-id}/video_insights/total_video_ad_break_ad_impressions/day"
}
...
Get Lifetime Video Ad Break Impressions of a Page Post
curl -i -X GET "https://graph.facebook.com/{page-post-id}/insights
?metric=post_video_ad_break_ad_impressions
&period=lifetime
&access_token={page-access-token}"
On success, your app will receive the following response:
{
"data": [
{
"name": "total_video_ad_break_ad_impressions",
"period": "lifetime",
"values": [
{
"value": 55468
}
],
"title": "Lifetime Video Ad Break Ad Impressions",
"description": "Number of times an ad was shown during your video ad breaks.",
"id": "{video-id}/video_insights/total_video_ad_break_ad_impressions/lifetime"
}
...
Common Error Codes
| Error Code | Error Message | Description |
|---|---|---|
None | An empty dataset is returned. | You need the read_insights permission in order to access this endpoint. |
100 | ”(#100) The value must be a valid insights metric” | The may be a spelling or syntax issue. |
3001 with "error_subcode": 1504028 | “No metric was specified to be fetched. Please specify one or more metrics to be fetched and try again.” | When using the metric parameter, at least one metric must be included in the query. |