Retrieve a post
GEThttps://api.postpress.ai/v1/posts/{post_id}
Retrieve the details of a post.
Authorization
X-API-KEYstringrequired
API key from your postpress dashboard. Sent as a request header.
Path parameters
post_idstringrequired
The id of the post. LinkedIn: if the URL contains `activity`, use the numeric id (e.g. `...-activity-7332661864792854528-...` -> `7332661864792854528`); if the URL contains `ugcPost`, use `urn:li:ugcPost:ID`; if the URL contains `share`, use `urn:li:share:ID`. Instagram: use the `provider_id` or the shortcode in the post URL (`www.instagram.com/reel/SHORTCODE`).
Query parameters
account_idstringrequired
The linked account to perform the request from.
Response 200 OK
The response shape depends on the provider behind the linked account.
LinkedIn postobjectLinkedIn post object
objectstringPostrequiredproviderstringLINKEDINrequiredidstringrequiredsocial_idstringrequiredIdentifier used to add a comment or reaction to the post.
share_urlstringrequiredtitlestringtextstringrequireddatestringrequiredparsed_datetimestringrequiredreaction_counternumberrequiredcomment_counternumberrequiredrepost_counternumberrequiredimpressions_counternumberrequireduser_reactedstringLIKEPRAISEAPPRECIATIONEMPATHYINTERESTENTERTAINMENTauthorobjectrequiredauthor object
public_identifierstringrequiredidstringrequirednamestringrequiredis_companybooleanrequiredheadlinestringprofile_picture_urlstringwritten_byobjectwritten_by object
idstringrequiredpublic_identifierstringrequirednamestringrequiredpermissionsobjectrequiredpermissions object
can_reactbooleanrequiredcan_sharebooleanrequiredcan_post_commentsbooleanrequiredis_repostbooleanrequiredrepost_idstringThe republication id.
reposted_byobjectreposted_by object
public_identifierstringrequiredidstringrequirednamestringrequiredis_companybooleanrequiredheadlinestringprofile_picture_urlstringrepost_contentobjectThe post shared in the current publication.
repost_content object
idstringrequireddatestringrequiredparsed_datetimestringrequiredauthorobjectrequiredauthor object
public_identifierstringrequiredidstringrequirednamestringrequiredis_companybooleanrequiredheadlinestringprofile_picture_urlstringtextstringrequiredmentionsarray of objectsrequiredmentions object
urlstringrequiredstartnumberrequiredlengthnumberrequiredattachmentsarray of objectsrequiredattachments array
ImageobjectImage object
typestringimgrequiredidstringrequiredunavailablebooleanrequiredstickerbooleanrequiredmimetypestringfile_sizenumberurlstringurl_expires_atnumbersizeobjectrequiredsize object
widthnumberrequiredheightnumberrequiredVideoobjectVideo object
typestringvideorequiredidstringrequiredunavailablebooleanrequiredgifbooleanrequiredmimetypestringfile_sizenumberurlstringurl_expires_atnumbersizeobjectrequiredsize object
widthnumberrequiredheightnumberrequiredAudioobjectAudio object
typestringaudiorequiredidstringrequiredunavailablebooleanrequiredvoice_notebooleanrequireddurationnumbermimetypestringfile_sizenumberurlstringurl_expires_atnumberFileobjectFile object
typestringfilerequiredidstringrequiredunavailablebooleanrequiredfile_namestringrequiredmimetypestringfile_sizenumberurlstringurl_expires_atnumberLinkedIn postobjectLinkedIn post object
typestringlinkedin_postrequiredidstringrequiredunavailablebooleanrequiredmimetypestringfile_sizenumberurlstringurl_expires_atnumberVideo meetingobjectVideo meeting object
typestringvideo_meetingrequiredidstringrequiredunavailablebooleanrequiredstarts_atnumberrequiredexpires_atnumberrequiredtime_rangenumberrequiredmimetypestringfile_sizenumberurlstringurl_expires_atnumberpollobjectpoll object
idstringrequiredquestionstringrequiredis_openbooleanrequiredtotal_votes_countnumberrequiredoptionsarray of objectsrequiredoptions object
idstringrequiredtextstringrequiredwinbooleanrequiredvotes_countnumberrequiredgroupobjectgroup object
idstringrequirednamestringrequiredprivatebooleanrequiredanalyticsobjectanalytics object
impressionsnumberengagementsnumberengagement_ratenumberclicksnumberclickthrough_ratenumberpage_viewers_from_this_postnumberfollowers_gained_from_this_postnumbermembers_reachednumberInstagram postobjectInstagram post object
objectstringPostrequiredproviderstringINSTAGRAMrequiredprovider_idstringrequiredhas_audiobooleanrequiredhas_likedbooleanrequiredlike_countnumberrequiredcomment_countnumberrequiredlike_and_view_counts_disabledbooleanrequiredcomments_disabledbooleanrequiredaccessibility_captionstringrequiredcaptionobjectcaption object
editedbooleanrequiredhas_translationbooleanrequiredcreated_atnumberrequiredtextstringrequiredvideoobjectvideo object
urlstringrequiredwidthnumberrequiredheightnumberrequiredpreview_imageobjectrequiredpreview_image object
urlstringrequiredwidthnumberrequiredheightnumberrequiredownerobjectrequiredowner object
idstringrequiredusernamestringrequiredprofile_pic_urlstringrequiredis_verifiedbooleanrequiredis_privatebooleanrequiredlocationobjectrequiredlocation object
namestringrequiredlatnumberrequiredlngnumberrequiredExample request
curl --request GET \
--url 'https://api.postpress.ai/api/v1/posts/7332661864792854528?account_id=acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR' \
--header 'X-API-KEY: pp_live_...' \
--header 'accept: application/json'Example response
{
"object": "Post",
"provider": "LINKEDIN",
"id": "7332661864792854528",
"social_id": "urn:li:activity:7332661864792854528",
"share_url": "https://www.linkedin.com/posts/jordan-walke_activity-7332661864792854528",
"text": "Excited to share what we shipped this week.",
"date": "2 days ago",
"parsed_datetime": "2026-05-15T12:34:00.000Z",
"reaction_counter": 248,
"comment_counter": 31,
"repost_counter": 12,
"impressions_counter": 18200,
"user_reacted": "LIKE",
"author": {
"public_identifier": "jordan-walke",
"id": "ACoAACr-1eYBl...",
"name": "Jordan Walke",
"is_company": false,
"headline": "Engineer at Acme",
"profile_picture_url": "https://media.licdn.com/.../profile.jpg"
},
"permissions": { "can_react": true, "can_share": true, "can_post_comments": true },
"is_repost": false,
"mentions": [],
"attachments": [
{
"type": "img",
"id": "img_01HXYZ",
"unavailable": false,
"mimetype": "image/jpeg",
"url": "https://media.licdn.com/.../image.jpg",
"url_expires_at": 1747000000,
"size": { "width": 1200, "height": 800 },
"sticker": false
}
]
}Errors
Every error response follows the same envelope:
titlestringrequired
Short error title.
detailstringoptional
Human-readable explanation.
instancestringoptional
Request identifier for support.
typestringrequired
Error type identifier.
statusnumberrequired
HTTP status code.
401 Unauthorized13 types
Credentials are missing, expired, or otherwise invalid.
errors/missing_credentials- Some credentials are necessary to perform the request.errors/multiple_sessions- LinkedIn limits multiple sessions on certain Recruiter accounts. Use the cookie connection method.errors/invalid_checkpoint_solution- The checkpoint resolution did not pass successfully. Retry.errors/invalid_proxy_credentials- The provided proxy credentials are invalid.errors/checkpoint_error- The checkpoint does not appear to be resolvable.errors/invalid_credentials- The provided credentials are invalid.errors/expired_credentials- Credentials have expired. Reconnect the account.errors/insufficient_privileges- This resource is out of your API-key scopes.errors/disconnected_account- The account is disconnected from the provider service.errors/disconnected_feature- The service you're trying to reach is disconnected.errors/invalid_credentials_but_valid_account_imap- IMAP/SMTP credentials are invalid but the account is otherwise valid.errors/expired_link- This link has expired. Generate a new one.errors/wrong_account- The provided credentials do not match the correct account.
403 Forbidden9 types
Authenticated but the account is restricted or the action is not allowed.
errors/account_restricted- The account has been restricted by the provider.errors/account_mismatch- This action cannot be done with your account.errors/insufficient_permissions- Valid authentication but insufficient permissions to perform the request.errors/session_mismatch- Token user id does not match client session id.errors/feature_not_subscribed- The requested feature has not been subscribed or authenticated properly.errors/subscription_required- A subscription is required to use this feature.errors/unknown_authentication_context- An additional step seems necessary to complete login.errors/action_required- An additional step is required.errors/resource_access_restricted- You don't have access to this resource.
422 Unprocessable Entity5 types
The request is well-formed but cannot be fulfilled as-is.
errors/invalid_account- The provided account is not designed for this feature.errors/invalid_post- The post id is not valid or no longer exists.errors/unprocessable_entity- The request cannot be processed in its current form.errors/account_configuration_error- The account configuration prevents this request.errors/provider_unreachable- The provider is currently unreachable.
500 Internal Server Error3 types
Something went wrong on our side or with the upstream provider.
errors/unexpected_error- Something went wrong.errors/provider_error- The provider is experiencing operational problems. Retry later.errors/authentication_intent_error- The current authentication intent was killed after failure.
503 Service Unavailable5 types
postpress is temporarily unable to handle the request.
errors/no_client_session- No client session is currently running.errors/no_channel- No channel to client session.errors/no_handler- Handler missing for that request.errors/network_down- Network is down on the server side. Retry shortly.errors/service_unavailable- Service temporarily unavailable. Retry later.
504 Gateway Timeout1 types
The upstream provider did not respond in time.
errors/request_timeout- Request timed out. Retry, and contact support if it persists.
Updated May 2026