List all posts

GEThttps://api.postpress.ai/v1/users/{identifier}/posts

Returns a paginated list of posts written by a user or a company.

Authorization

X-API-KEYstringrequired
API key from your postpress dashboard. Sent as a request header.

Path parameters

identifierstringrequired
The entity's provider internal id. LinkedIn: starts with `ACo`/`ADo` for users, or a series of numbers for companies. Instagram: `provider_id` or `username`.

Query parameters

cursorstringoptional
Pagination cursor. Pass the `cursor` from the previous response to fetch the next page. Repeat until `cursor` is `null`. Minimum length 1.
limitintegeroptional
Maximum number of items to return. Between 1 and 100. Defaults to 100.
is_companybooleanoptional
LinkedIn only. Set to `true` if the posts are from a company.
account_idstringrequired
The linked account to perform the request from.

Response 200 OK

Each item is one of the following post variants, depending on the provider.

objectstringPostListrequired
itemsarray of objectsrequired
Posts in the current page.
items array
LinkedIn post variantobject
LinkedIn post variant object
objectstringPostrequired
providerstringLINKEDINrequired
idstringrequired
social_idstringrequired
Identifier used to add a comment or reaction to the post.
share_urlstringrequired
titlestring
textstringrequired
datestringrequired
parsed_datetimestringrequired
reaction_counternumberrequired
comment_counternumberrequired
repost_counternumberrequired
impressions_counternumberrequired
user_reactedstring
LIKEPRAISEAPPRECIATIONEMPATHYINTERESTENTERTAINMENT
authorobjectrequired
author object
public_identifierstringrequired
idstringrequired
namestringrequired
is_companybooleanrequired
headlinestring
profile_picture_urlstring
written_byobject
written_by object
idstringrequired
public_identifierstringrequired
namestringrequired
permissionsobjectrequired
permissions object
can_reactbooleanrequired
can_sharebooleanrequired
can_post_commentsbooleanrequired
is_repostbooleanrequired
repost_idstring
The republication id.
reposted_byobject
reposted_by object
public_identifierstringrequired
idstringrequired
namestringrequired
is_companybooleanrequired
headlinestring
profile_picture_urlstring
repost_contentobject
The post shared in the current publication.
repost_content object
idstringrequired
datestringrequired
parsed_datetimestringrequired
authorobjectrequired
author object
public_identifierstringrequired
idstringrequired
namestringrequired
is_companybooleanrequired
headlinestring
profile_picture_urlstring
textstringrequired
mentionsarray of objectsrequired
mentions object
urlstringrequired
startnumberrequired
lengthnumberrequired
attachmentsarray of objectsrequired
attachments array
Imageobject
Image object
typestringimgrequired
idstringrequired
unavailablebooleanrequired
stickerbooleanrequired
mimetypestring
file_sizenumber
urlstring
url_expires_atnumber
sizeobjectrequired
size object
widthnumberrequired
heightnumberrequired
Videoobject
Video object
typestringvideorequired
idstringrequired
unavailablebooleanrequired
gifbooleanrequired
mimetypestring
file_sizenumber
urlstring
url_expires_atnumber
sizeobjectrequired
size object
widthnumberrequired
heightnumberrequired
Audioobject
Audio object
typestringaudiorequired
idstringrequired
unavailablebooleanrequired
voice_notebooleanrequired
durationnumber
mimetypestring
file_sizenumber
urlstring
url_expires_atnumber
Fileobject
File object
typestringfilerequired
idstringrequired
unavailablebooleanrequired
file_namestringrequired
mimetypestring
file_sizenumber
urlstring
url_expires_atnumber
LinkedIn postobject
LinkedIn post object
typestringlinkedin_postrequired
idstringrequired
unavailablebooleanrequired
mimetypestring
file_sizenumber
urlstring
url_expires_atnumber
Video meetingobject
Video meeting object
typestringvideo_meetingrequired
idstringrequired
unavailablebooleanrequired
starts_atnumberrequired
expires_atnumberrequired
time_rangenumberrequired
mimetypestring
file_sizenumber
urlstring
url_expires_atnumber
pollobject
poll object
idstringrequired
questionstringrequired
is_openbooleanrequired
total_votes_countnumberrequired
optionsarray of objectsrequired
options object
idstringrequired
textstringrequired
winbooleanrequired
votes_countnumberrequired
groupobject
group object
idstringrequired
namestringrequired
privatebooleanrequired
analyticsobject
analytics object
impressionsnumber
engagementsnumber
engagement_ratenumber
clicksnumber
clickthrough_ratenumber
page_viewers_from_this_postnumber
followers_gained_from_this_postnumber
members_reachednumber
Instagram post variantobject
Instagram post variant object
objectstringPostrequired
providerstringINSTAGRAMrequired
provider_idstringrequired
has_audiobooleanrequired
has_likedbooleanrequired
like_countnumberrequired
comment_countnumberrequired
like_and_view_counts_disabledbooleanrequired
comments_disabledbooleanrequired
accessibility_captionstringrequired
captionobject
caption object
editedbooleanrequired
has_translationbooleanrequired
created_atnumberrequired
textstringrequired
videoobject
video object
urlstringrequired
widthnumberrequired
heightnumberrequired
preview_imageobjectrequired
preview_image object
urlstringrequired
widthnumberrequired
heightnumberrequired
ownerobjectrequired
owner object
idstringrequired
usernamestringrequired
profile_pic_urlstringrequired
is_verifiedbooleanrequired
is_privatebooleanrequired
locationobjectrequired
location object
namestringrequired
latnumberrequired
lngnumberrequired
cursorstringrequired
Cursor for the next page, or `null` if this is the last page.
pagingobjectrequired
paging object
page_countnumberrequired

Example request

curl --request GET \
  --url 'https://api.postpress.ai/api/v1/users/ACoAACr-1eYBl.../posts?limit=100&account_id=acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR' \
  --header 'X-API-KEY: pp_live_...' \
  --header 'accept: application/json'

Example response

{
  "object": "PostList",
  "items": [
    {
      "object": "Post",
      "provider": "LINKEDIN",
      "id": "7180000000000000000",
      "social_id": "urn:li:activity:7180000000000000000",
      "share_url": "https://www.linkedin.com/posts/jordan-walke_activity-7180000000000000000",
      "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
        }
      ]
    }
  ],
  "cursor": "eyJvIjoxMDB9",
  "paging": { "page_count": 1 }
}

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 Entity6 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_recipient - The target user is not valid.
  • errors/user_unreachable - The target user cannot be reached on the provider.
  • 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