WarmablyWarmablyDOCS
Search docs⌘K
Dashboard
API Reference/Endpoints

List job postings

GET/api/linkedin/gateway/linkedin/jobs

Lists the job postings that live under a connected account, in any lifecycle stage — still a draft, currently live, or already closed out.

Authentication

Send your personal API key as a bearer token. A missing, malformed or revoked key returns 401.

Query parameters

FieldTypeDescription
account_id *stringThe connected account to read job postings from.
category"active" | "draft" | "closed"Restrict the list to one lifecycle bucket. Defaults to active.
limitintegerMax results per page, from 1 to 250.
cursorstringPass back the cursor from a previous page to keep paging.

Response fields

FieldTypeDescription
object"LinkedinJobPostingList"Always this literal value.
itemsarrayThe matching job postings — see the shape below.
cursorstring | nullPass this back as cursor to fetch the next page, or null once there isn't one.
paging.page_countnumberItems in this page.
paging.total_countnumberTotal postings matching the filter.

Job posting object

FieldTypeDescription
idstringThe posting's id — pass it to the retrieve, edit, publish and close calls.
statestringOne of active, draft, review, closed, paused.
titlestringThe role title as it appears on the posting.
descriptionstringThe posting body. May contain basic HTML markup.
companystringThe hiring company's display name.
company_idstringThe hiring company's LinkedIn id.
locationstringThe posting's location, as free text.
workplacestringON_SITE, HYBRID, or REMOTE.
senioritystringThe seniority level configured for the role, if any.
salarystringThe salary range shown on the posting, if one was set.
apply_urlstringWhere an external apply_method sends candidates.
applicants_counternumberApplicants received so far.
views_counternumberViews the posting has received so far.
costnumberAmount spent so far, for a promoted posting.
created_at / published_at / closed_atnumber | nullUnix timestamps for each lifecycle transition that has happened.
skills / functions / industriesstring[]Tags attached to the posting.
screening_questionsarrayQualifying questions, each with a question and its favorableAnswers.
hiring_teamarrayLinkedIn members listed as hiring contacts, with their profile identifiers.
Some fields — seniority, the full hiring_team roster, and advanced filtering on applicants — reflect a LinkedIn Recruiter/Talent subscription on the connected account. A Classic (non-Recruiter) account still returns everything else.

Errors

·401 Unauthorized. The key is missing, malformed or has been rotated.·403 Forbidden. account_id doesn't belong to this key.·404 Not Found. No account with that id belongs to this key.
CredentialsRequired
AuthorizationBearer wm_live_••••••••
RequestTry it
curl "https://api.warmably.com/api/linkedin/gateway/linkedin/jobs?account_id=459993d2-b0e7-4b19-baf9-45252ca324cf&category=active&limit=20" \
  -H "Authorization: Bearer wm_live_..."
Response
200 OK
{
  "object": "LinkedinJobPostingList",
  "items": [
    {
      "object": "LinkedinJobPosting",
      "id": "3897456210",
      "state": "active",
      "title": "Senior Product Designer",
      "company": "Acme Corp",
      "company_id": "1035",
      "location": "San Francisco, California, United States",
      "workplace": "HYBRID",
      "applicants_counter": 42,
      "views_counter": 1180,
      "cost": 0,
      "created_at": 1767225600,
      "published_at": 1767229200,
      "closed_at": null,
      "skills": ["Figma", "Design systems"],
      "hiring_team": [
        { "name": "Andy Nguyen", "provider_id": "ACoAAAEkwwAB9KEc2TrQgOLEQ-vzRyZeCDyc6DQ", "public_identifier": "andy-nguyen", "can_send_free_inmail": true }
      ]
    }
  ],
  "cursor": null,
  "paging": { "page_count": 1, "total_count": 1 }
}
No key yet? Create one from Dashboard → API Keys.