Get job offer

GEThttps://api.postpress.ai/v1/linkedin/jobs/{job_id}

Retrieve a single LinkedIn job offer by id.

Authorization

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

Path parameters

job_idstringrequired
The id of the job offer.

Query parameters

account_idstringrequired
The id of the account to trigger the request from.
servicestringrequired
Which LinkedIn service this job posting depends on.

Response 200 OK

objectstringLinkedinJobPostingrequired
idstringrequired
statestringrequired
activedraftreviewclosedpaused
titlestringrequired
descriptionstring
companystring
company_idstring
locationstringrequired
applicants_counternumberrequired
views_counternumber
costnumberrequired
Promotion spend so far for this posting.
created_atnumber
Unix timestamp (ms).
published_atnumber
Unix timestamp (ms).
closed_atnumber
Unix timestamp (ms).
apply_urlstring
salarystring
workplacestring
e.g. `on_site`, `hybrid`, `remote`.
senioritystring
skillsarray of strings
functionsarray of strings
industriesarray of strings
screening_questionsarray of objects
screening_questions object
questionstringrequired
favorableAnswersarray of stringsrequired
hiring_teamarray of objects
hiring_team object
namestringrequired
provider_idstringrequired
public_identifierstringrequired
profile_urlstringrequired
can_send_free_inmailbooleanrequired

Example request

curl --request GET \
  --url 'https://api.postpress.ai/api/v1/linkedin/jobs/3984512098?account_id=acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR&service=CLASSIC' \
  --header 'X-API-KEY: pp_live_...' \
  --header 'accept: application/json'

Example response

{
  "object": "LinkedinJobPosting",
  "id": "3984512098",
  "state": "active",
  "title": "Senior Frontend Engineer",
  "description": "We're hiring a Senior Frontend Engineer to ...",
  "company": "Acme Corp",
  "company_id": "9374000",
  "location": "San Francisco, California, United States",
  "applicants_counter": 47,
  "views_counter": 1284,
  "cost": 412.5,
  "created_at": 1746040000000,
  "published_at": 1746126400000,
  "apply_url": "https://www.linkedin.com/jobs/view/3984512098",
  "salary": "$150,000 - $200,000",
  "workplace": "hybrid",
  "seniority": "Mid-Senior level",
  "skills": ["React", "TypeScript", "Node.js"],
  "functions": ["Engineering"],
  "industries": ["Software Development"],
  "screening_questions": [
    {
      "question": "How many years of React experience do you have?",
      "favorableAnswers": ["3", "4", "5+"]
    }
  ],
  "hiring_team": [
    {
      "name": "Jordan Walke",
      "provider_id": "ACoAAA...",
      "public_identifier": "jordan-walke",
      "profile_url": "https://www.linkedin.com/in/jordan-walke",
      "can_send_free_inmail": true
    }
  ]
}

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/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 or authenticated properly.
  • 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 job 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 Entity3 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.
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