Retrieve Recruiter hiring projects
GEThttps://api.postpress.ai/v1/linkedin/projects
Retrieve list of LinkedIn Recruiter hiring projects.
Authorization
X-API-KEYstringrequired
API key from your postpress dashboard. Sent as a request header.
Query parameters
account_idstringrequired
The linked LinkedIn Recruiter account to perform the request from.
limitintegeroptional
Number of items returned. Range 1-100. Defaults to 10.
cursorstringoptional
Pagination cursor returned by a previous response. Repeat until all entries are retrieved.
sort_bystringoptional
Sort method. Defaults to `ACCESSED_TIME`. Allowed: `NAME`, `FAVORITE`, `CREATED_TIME`, `ACCESSED_TIME`, `ENGAGED_TIME`, `ENGAGEMENT_COUNT`.
sort_orderstringoptional
Sort direction. Defaults to `DESCENDING`. Allowed: `ASCENDING`, `DESCENDING`.
Response 200 OK
objectstringRecruiterHiringProjectListrequireditemsarray of objectsrequireditems object
objectstringRecruiterHiringProjectrequiredidstringrequirednamestringrequiredowner_namestringrequiredowner_idstringrequiredcreated_atstringrequiredjob_postingobjectjob_posting object
idstringrequiredstatestringrequiredactivedraftreviewclosedpausedtitlestringrequireddescriptionstringcompanystringcompany_idstringlocationstringrequiredapplicants_counternumberrequiredviews_counternumbercostnumberrequiredcreated_atnumberpublished_atnumberclosed_atnumberapply_urlstringscreening_questionsarray of objectsscreening_questions object
questionstringrequiredfavorableAnswersarray of stringsrequiredhiring_teamarray of objectshiring_team object
namestringrequiredprovider_idstringrequiredpublic_identifierstringrequiredprofile_urlstringrequiredcan_send_free_inmailbooleanrequiredsalarystringworkplacestringsenioritystringskillsarray of stringsfunctionsarray of stringsindustriesarray of stringstotal_countnumberrequiredcursorstringrequiredCursor for the next page; null when there are no more pages.
Example request
curl --request GET \
--url 'https://api.postpress.ai/api/v1/linkedin/projects?account_id=acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR&limit=10&sort_by=ACCESSED_TIME&sort_order=DESCENDING' \
--header 'X-API-KEY: pp_live_...' \
--header 'accept: application/json'Example response
{
"object": "RecruiterHiringProjectList",
"items": [
{
"object": "RecruiterHiringProject",
"id": "proj_01HXYZ4QK3WJ8FN3M6QH7TZ8GR",
"name": "Senior Backend Engineer - Q3",
"owner_name": "Jordan Walke",
"owner_id": "ACoAACr-1eYBl...",
"created_at": "2026-04-15T09:12:00.000Z",
"job_posting": {
"id": "4012345678",
"state": "active",
"title": "Senior Backend Engineer",
"company": "Acme Corp",
"company_id": "9374000",
"location": "Remote - United States",
"applicants_counter": 124,
"views_counter": 5410,
"cost": 0,
"created_at": 1744702320,
"published_at": 1744702800,
"apply_url": "https://www.linkedin.com/jobs/view/4012345678",
"hiring_team": [
{
"name": "Riley Chen",
"provider_id": "ACoAACb-9kZw...",
"public_identifier": "riley-chen",
"profile_url": "https://www.linkedin.com/in/riley-chen",
"can_send_free_inmail": true
}
],
"salary": "$160,000 - $200,000 / yr",
"workplace": "Remote",
"seniority": "Mid-Senior level",
"skills": ["Go", "PostgreSQL", "Kubernetes"],
"functions": ["Engineering"],
"industries": ["Software Development"]
}
}
],
"total_count": 27,
"cursor": "eyJwYWdlIjoyfQ=="
}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 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 (Recruiter seat required).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