Get raw data from any endpoint

POSThttps://api.postpress.ai/v1/linkedin

Advanced passthrough to any LinkedIn endpoint using a connected account.

This magic route is intended for advanced users who wish to use LinkedIn features beyond our current capabilities. It lets you call any LinkedIn URL on behalf of a connected account. To use it, identify the specific endpoint containing the desired data with your browser web developer tools on LinkedIn, then copy the URL and parameters here.

Authorization

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

Request body

The body is JSON-encoded.

account_idstringrequired
The linked LinkedIn account to perform the request from.
request_urlstringrequired
An url pointing to a LinkedIn API feature. Must match `^https://www.linkedin.com/.*$`.
methodstring
GETPOSTPUTPATCHDELETE
HTTP method to use. Defaults to `GET`.
headersobject
Free-form headers to add to the request. Keys are header names, values are strings.
bodyobject
Free-form body for `POST` / `PUT` / `PATCH` requests.
query_paramsobject
Free-form query parameters merged into `request_url`.
encodingboolean
Whether query parameters (or `x-www-form-urlencoded` body) should be encoded on the fly. Defaults to `true`.
bypass_redirectboolean
If true, HTTP redirects are not followed automatically. Defaults to `true`.
force_apiboolean
Set to true to call an API for which you might not have an active subscription.

Response 200 OK

The raw LinkedIn response is wrapped under data unchanged.

objectstringLinkedinRawDatarequired
dataanyrequired
Raw payload returned by the LinkedIn endpoint, passed through unchanged.

Example request

curl --request POST \
  --url https://api.postpress.ai/api/v1/linkedin \
  --header 'X-API-KEY: pp_live_...' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "account_id": "acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR",
    "request_url": "https://www.linkedin.com/voyager/api/identity/profiles/jordan-walke",
    "method": "GET"
  }'

Example response

{
  "object": "LinkedinRawData",
  "data": {
    "$type": "com.linkedin.voyager.dash.identity.profile.Profile",
    "firstName": "Jordan",
    "lastName": "Walke",
    "headline": "Engineer at Acme",
    "publicIdentifier": "jordan-walke"
  }
}

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.
400 Bad Request8 types

The request itself is malformed before it ever reaches LinkedIn.

  • errors/invalid_parameters - One or more parameters are invalid.
  • errors/malformed_request - The request is malformed.
  • errors/content_too_large - The request body is too large.
  • errors/invalid_url - `request_url` is missing, malformed, or not on `www.linkedin.com`.
  • errors/too_many_characters - A string parameter exceeds the allowed length.
  • errors/unescaped_characters - A parameter contains characters that must be encoded.
  • errors/missing_parameters - A required parameter is missing.
  • errors/limit_too_high - A `limit` value exceeds the maximum allowed.
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/wrong_account - The provided credentials do not match the correct account.
  • errors/invalid_credentials - The provided credentials are invalid.
  • errors/invalid_proxy_credentials - The provided proxy credentials are invalid.
  • errors/invalid_checkpoint_solution - The checkpoint resolution did not pass successfully. Retry.
  • errors/checkpoint_error - The checkpoint does not appear to be resolvable.
  • errors/expired_credentials - Credentials have expired. Reconnect the account.
  • errors/expired_link - This link has expired. Generate a new one.
  • 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.
403 Forbidden9 types

Authenticated but the account is restricted or the action is not allowed.

  • errors/insufficient_permissions - Valid authentication but insufficient permissions to perform the request.
  • errors/account_restricted - The account has been restricted by the provider.
  • errors/account_mismatch - This action cannot be done with your account.
  • errors/unknown_authentication_context - An additional step seems necessary to complete login.
  • errors/session_mismatch - Token user id does not match client session id.
  • errors/feature_not_subscribed - The requested feature has not been subscribed. Use `force_api: true` to bypass when applicable.
  • errors/subscription_required - A subscription is required to use this feature.
  • errors/resource_access_restricted - You don't have access to this resource.
  • errors/action_required - An additional step is required.
404 Not Found2 types

The targeted account or LinkedIn resource does not exist.

  • errors/resource_not_found - The requested resource was not found.
  • errors/invalid_resource_identifier - The provided identifier is not valid for this resource.
422 Unprocessable Entity4 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/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