Skip to content
Fresh 2026

Post

An individual post in a profile's feed. The profile could be a user, page, app, or group.

Reading

A Facebook Feed story

New Page Experience

This endpoint is supported for New Page Experience.

Feature Permissions

NameDescription
Page Public Content AccessThis feature permission may be required.

Permissions

  • A page access token can read all posts posted to or posted by that Page.

  • A page access token with the pages_manage_posts permission and Page Public Content Access Feature are required to read publicly shared Page posts. The person requesting the access token must be an admin of the Page.

  • A user access token can read any post your application created on behalf of that user.

  • A user's post can be read if the owner has granted the user_posts permission.

  • A user access token may read a post that user is tagged in if they have granted the user_posts permission. However, in some cases the post's owner's privacy settings may not allow your application to access it.

Limitations

The following fields for /page/feed, /page/posts, /pageposts, and /page/published_posts were deprecated in v3.3:

  • caption
  • description
  • link
  • name
  • object_id
  • source
  • type

Example

HTTPPHP SDKJavaScript SDKAndroid SDKiOS SDK Graph API Explorer

GET /v25.0/{post-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{post-id}',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{post-id}",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{post-id}",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]\
                               initWithGraphPath:@"/{post-id}"\
                                      parameters:params\
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,\
                                      id result,\
                                      NSError *error) {\
    // Handle the result\
}];

If you want to learn how to use the Graph API, read our Using Graph API guide.

Parameters

This endpoint doesn't have any parameters.

Fields

FieldDescription
id<br>token with structure: Post IDThe post ID.
actions<br>listAction links
admin_creator<br>BusinessUser|User|ApplicationThe admin creator of a Page Post. Only available if there exists more than one admin for the page.
allowed_advertising_objectives<br>list<string>The only objectives under which this post can be advertised
application<br>ApplicationInformation about the app this post was published by.
backdated_time<br>datetimeThe backdated time for backdate post. For regular post, this field will be set to null.
call_to_action<br>struct with keys: type, valueThe call to action type used in any Page posts for mobile app engagement ads.
can_reply_privately<br>boolWhether the page viewer can send a private reply to this post
caption<br>stringThe caption of a link in the post (appears beneath the name).
child_attachments<br>listSub-shares of a multi-link share post
comments_mirroring_domain<br>stringIf comments are being mirrored to an external site, this function returns the domain of that external site.
coordinates<br>struct with keys: checkin_id, author_uid, page_id, target_id, target_href, coords, tagged_uids, timestamp, message, target_typeAn array of information about the attachment to the post
created_time<br>datetimeThe time the post was published, expressed as UNIX timestamp<br>Default
description<br>stringA description of a link in the post (appears beneath the caption).
event<br>EventIf this Post has a place, the event associated with the place
expanded_height<br>unsigned int32An array of information about the attachment to the post
expanded_width<br>unsigned int32An array of information about the attachment to the post
feed_targeting<br>struct with keys: country, cities, regions, genders, age_min, age_max, education_statuses, college_years, relationship_statuses, interests, interested_in, user_adclusters, locales, countries, geo_locations, work_positions, work_employers, education_majors, education_schools, family_statuses, life_events, industries, politics, ethnic_affinity, generation, fan_of, relevant_until_tsObject that controls news feed targeting for this post. Anyone in these groups will be more likely to see this post, others will be less likely, but may still see it anyway. Any of the targeting fields shown here can be used, none are required (applies to Pages only).
from<br>User|PageThe ID of the user, page, group, or event that published the post
full_picture<br>stringIf the photo's largest dimension exceeds 720 pixels, it is resized, with the largest dimension set to 720.
height<br>unsigned int32An array of information about the attachment to the post
icon<br>stringA link to an icon representing the type of this post.
is_app_share<br>boolWhether or not the post references an app
is_eligible_for_promotion<br>boolWhether the post is eligible for promotion.
is_expired<br>boolWhether the post has expiration time that has passed
is_fb_live_videos<br>boolis_fb_live_videos
is_hidden<br>boolWhether a post has been set to hidden
is_inline_created<br>boolReturns True if the post was created inline when creating ads.
is_popular<br>boolWhether the post is currently popular. Based on whether the total actions as a percentage of reach exceeds a certain threshold
is_published<br>boolIndicates whether a scheduled post was published (applies to scheduled Page Post only, for users post and instanlty published posts this value is always true)
is_spherical<br>boolWhether the post is a spherical video post
link<br>uriA description of a link in the post (appears beneath the caption).
message<br>stringThe message written in the post<br>Default
message_tags<br>listProfiles mentioned or tagged in a message. This is an object with a unique key for each mention or tag in the message.
multi_share_end_card<br>boolWhether display the end card for a multi-link share post
multi_share_optimized<br>boolWhether automatically select the order of the links in multi-link share post when used in an ad
name<br>stringThe name of the link.
object_id<br>stringThe ID of any uploaded photo or video attached to the post.
parent_id<br>token with structure: Post IDThe ID of a parent post for this post, if it exists. For example, if this story is a 'Your Page was mentioned in a post' story, the parent_id will be the original post where the mention happened
permalink_url<br>uriThe permanent static URL to the post on www.facebook.com. Example: https://www.facebook.com/FacebookforDevelopers/posts/10153449196353553
place<br>PlaceID of the place associated with the post
privacy<br>PrivacyThe privacy settings for a post
promotable_id<br>token with structure: Post IDID of post to use for promotion for stories that cannot be promoted directly
properties<br>listA list of properties for any attached video, for example, the length of the video.
scheduled_publish_time<br>floatUNIX timestamp of the scheduled publish time for the post
shares<br>struct with keys: countNumber of times the post has been shared
source<br>stringA URL to any Flash movie or video file attached to the post.
status_type<br>stringDescription of the type of a status update.
story<br>stringText of stories not intentionally generated by users, such as those generated when two users become friends. You must have the "Include recent activity stories" migration enabled in your app to retrieve this field<br>Default
story_tags<br>listThe list of tags in the post description
subscribed<br>boolWhether user is subscribed to the post
target<br>ProfileThe profile this was posted on if different from the author
targeting<br>struct with keys: country, cities, regions, zips, genders, college_networks, work_networks, age_min, age_max, education_statuses, college_years, college_majors, political_views, relationship_statuses, interests, keywords, interested_in, user_clusters, user_clusters2, user_clusters3, user_adclusters, excluded_user_adclusters, custom_audiences, excluded_custom_audiences, locales, radius, connections, excluded_connections, friends_of_connections, countries, excluded_user_clusters, adgroup_id, user_event, qrt_versions, page_types, user_os, user_device, action_spec, action_spec_friend, action_spec_excluded, geo_locations, excluded_geo_locations, targeted_entities, conjunctive_user_adclusters, wireless_carrier, site_category, work_positions, work_employers, education_majors, education_schools, family_statuses, life_events, behaviors, travel_status, industries, politics, markets, income, net_worth, home_type, home_ownership, home_value, ethnic_affinity, generation, household_composition, moms, office_type, interest_clusters_expansion, dynamic_audience_ids, product_audience_specs, excluded_product_audience_specs, exclusions, flexible_spec, engagement_specs, excluded_engagement_specsObject that limited the audience for this content. Anyone not in these demographics will not be able to view this content. This will not override any Page-level demographic restrictions that may be in place.
timeline_visibility<br>stringTimeline visibility information of the post
type<br>stringA string indicating the object type of this post.
updated_time<br>datetimeThe time the post was last updated. This does not include comments received on the post.
via<br>User|PageID of the user or Page the post was shared from
width<br>unsigned int32An array of information about the attachment to the post

Edges

EdgeDescription
attachments<br>Edge<StoryAttachment>Any attachments that are associated with the story
comments<br>Edge<Comment>Comments made on this
dynamic_posts<br>Edge<RTBDynamicPost>All dynamic ad creatives
insights<br>Edge<InsightsResult>Insights for this post (only for Pages).
reactions<br>Edge<Profile>People who reacted on this
sharedposts<br>Edge<Post>Shared posts
sponsor_tags<br>Edge<Page>An array sponsor pages tagged in the post
to<br>Edge<Profile>Profiles mentioned or targeted in this post.

Error Codes

ErrorDescription
100Invalid parameter
368The action attempted has been deemed abusive or is otherwise disallowed
200Permissions error
459The session is invalid because the user has been checkpointed
104Incorrect signature
190Invalid OAuth 2.0 Access Token
2500Error parsing graph query
80001There have been too many calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.
210User not visible

Creating

You can't perform this operation on this endpoint.

Updating

You can publish posts by using the /{user-id}/feed, /{page-id}/feed, /{event-id}/feed, or /{group-id}/feed edges.

When creating a Post for a Page if you use a user access token the post will be in the voice of the user that posted it. If you use a page access token, the post will be in the voice of the page.

You can't perform this operation on this endpoint.

Deleting

You can't perform this operation on this endpoint.