> ## Documentation Index
> Fetch the complete documentation index at: https://docs.linkupapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Job Posts

> Retrieve your posted LinkedIn job listings with basic or complete details

Retrieve information about the job postings you have created on LinkedIn. You can choose between getting basic information (title, company, location) at no cost, or complete details (description, applicant statistics, workplace type, industry) for 1 credit per job posting.

<Note>
  **Credit Usage:**

  * With `fetch_details: true` (default): 1 credit per job posting retrieved.
  * With `fetch_details: false`: 1 credit per 10 results (or fraction thereof). For example:
    * 1-10 results = 1 credit
    * 11-20 results = 2 credits
    * 300 results = 30 credits
  * When specifying a `job_id`, 1 credit is always used regardless of `fetch_details` value.
</Note>

### Header Parameters

<ParamField header="x-api-key" type="string" required>
  Your API key
</ParamField>

### Body Parameters

<ParamField body="login_token" type="string" required>
  LinkedIn authentication cookie obtained from the login/verify process
</ParamField>

<ParamField body="job_id" type="string">
  Optional: Retrieve details for a specific job posting by its LinkedIn ID
</ParamField>

<ParamField body="fetch_details" type="boolean" default="true">
  Whether to retrieve complete job details (true) or basic information only (false)
</ParamField>

<ParamField body="total_results" type="number" default="10">
  Number of job postings to retrieve per page when using pagination
</ParamField>

<ParamField body="start_page" type="number" default="1">
  First page to fetch when using pagination mode
</ParamField>

<ParamField body="end_page" type="number" default="same as start_page">
  Last page to fetch when using pagination mode
</ParamField>

<ParamField body="country" type="string" default="FR">
  Country code for proxy selection. Available: (US, UK, FR, DE, NL, IT, IL, CA, BR, ES, IN)
</ParamField>

### Response

<ResponseField name="status" type="string">
  Request status (success/error)
</ResponseField>

<ResponseField name="data" type="object">
  Response data container
</ResponseField>

<ResponseField name="data.total_results" type="number">
  Number of job postings returned in this response
</ResponseField>

<ResponseField name="data.total_available_results" type="number">
  Total number of job postings available on LinkedIn
</ResponseField>

<ResponseField name="data.fetch_details" type="boolean">
  Indicates whether the response contains complete details or basic information only
</ResponseField>

<ResponseField name="data.pagination" type="object">
  Pagination information (not included when using job\_id)
</ResponseField>

<ResponseField name="data.posts" type="array">
  List of job postings with details according to fetch\_details parameter
</ResponseField>

<ResponseField name="data.posts[].linkedin_job_id" type="string">
  LinkedIn's internal job posting ID
</ResponseField>

<ResponseField name="data.posts[].title" type="string">
  Job posting title
</ResponseField>

<ResponseField name="data.posts[].company_name" type="string">
  Company name
</ResponseField>

<ResponseField name="data.posts[].location" type="string">
  Job location
</ResponseField>

<ResponseField name="data.posts[].job_url" type="string">
  URL to view the job posting
</ResponseField>

<ResponseField name="data.posts[].posted_date" type="string">
  Human-readable posting date (e.g. "Posted 2 days ago") - Basic info only
</ResponseField>

<ResponseField name="data.posts[].status" type="string">
  Basic status (e.g. "Active") - Basic info only
</ResponseField>

<ResponseField name="data.posts[].applicants_count" type="string">
  Human-readable applicant count (e.g. "25+ applicants") - Basic info only
</ResponseField>

<Note>
  **The following fields are only available when fetch\_details is true:**
</Note>

<ResponseField name="data.posts[].job_state" type="string">
  Current state of the job posting (OPEN, CLOSED, SUSPENDED, etc.)
</ResponseField>

<ResponseField name="data.posts[].description" type="string">
  Full job description
</ResponseField>

<ResponseField name="data.posts[].editableDescription" type="string">
  HTML-formatted job description
</ResponseField>

<ResponseField name="data.posts[].employment_status" type="string">
  Employment type (Full-time, Part-time, etc.)
</ResponseField>

<ResponseField name="data.posts[].workplace_type" type="string">
  Workplace type (On-site, Remote, Hybrid)
</ResponseField>

<ResponseField name="data.posts[].created_at" type="number">
  Timestamp when job was created
</ResponseField>

<ResponseField name="data.posts[].listed_at" type="number">
  Timestamp when job was listed
</ResponseField>

<ResponseField name="data.posts[].closed_at" type="number">
  Timestamp when job was closed (if applicable)
</ResponseField>

<ResponseField name="data.posts[].num_views" type="number">
  Number of views the job posting has received
</ResponseField>

<ResponseField name="data.posts[].num_applies" type="number">
  Number of applications the job posting has received
</ResponseField>

<ResponseField name="data.posts[].contact_email" type="string">
  Contact email for the job posting
</ResponseField>

<ResponseField name="data.posts[].suspend_reasons" type="array">
  Reasons why the job posting might be suspended
</ResponseField>

<ResponseField name="data.posts[].industry" type="array">
  Industries associated with the job posting
</ResponseField>

<ResponseField name="data.posts[].talent_questions" type="array">
  Screening questions for applicants
</ResponseField>

<ResponseField name="data.posts[].budget" type="object">
  Budget information for the job posting
</ResponseField>

<ResponseExample>
  ```json Success Response (Multiple Posts with fetch_details=true) theme={null}
  {
    "status": "success",
    "data": {
      "total_results": 1,
      "total_available_results": 5,
      "fetch_details": true,
      "posts": [
        {
          "linkedin_job_id": "4178681649",
          "title": "Directeur marketing",
          "company_name": "Linkup API",
          "location": "Nice, Provence-Alpes-Côte d'Azur, France",
          "job_state": "SUSPENDED",
          "description": "The ideal candidate will be responsible leading an effective marketing strategy to propel company growth...",
          "editableDescription": "<p>The ideal candidate will be responsible leading an effective marketing strategy...</p>",
          "employment_status": "Temps plein",
          "workplace_type": "Sur site",
          "created_at": 1741369498000,
          "listed_at": 1741430682000,
          "closed_at": null,
          "num_views": 346,
          "num_applies": 52,
          "job_url": "https://www.linkedin.com/jobs/view/4178681649/",
          "contact_email": "contact@example.com",
          "suspend_reasons": ["FREE_JOB_APPLICATION_LIMIT"],
          "industry": ["Développement de logiciels"],
          "talent_questions": ["Avez-vous le niveau d'études requis : Maîtrise ?"],
          "budget": {
            "total_charge": "0.00",
            "currency": "EUR",
            "buffered_total_charge": "93.00",
            "daily_budget": "0"
          }
        }
      ],
      "pagination": {
        "start_page": 1,
        "end_page": 1,
        "items_per_page": 10,
        "pages_fetched": 1
      }
    }
  }
  ```
</ResponseExample>
