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

# PredictLeads: Job Opening

> Get the details of one job posting, given its ID. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Get the details of one job posting, given its ID.

> [!NOTE]
>
> Tool ID: `predictleads_job_opening`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'predictleads_job_opening',
  {
    "id": "123e4567-e89b-42d3-a456-426614174000"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute predictleads_job_opening --input '{
  "id": "123e4567-e89b-42d3-a456-426614174000"
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe predictleads_job_opening --json` for the complete live contract.

## Input reference

Returns a single Job Opening.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.id` | `string` | Yes | — | JobOpening's ID. Format: `uuid`. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Returns a single Job Opening.",
    "properties": {
      "id": {
        "type": "string",
        "description": "JobOpening's ID.",
        "format": "uuid"
      }
    },
    "required": [
      "id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | PredictLeads has historical jobs data since 2018 that includes over 220 million records, and is available for 2 million companies, which includes an average of 8.5 million active jobs at any given time. Job Openings are sourced directly from company websites which includes their career subpages, and ATS integrations. All Jobs are categorized using industry-standard O\*NET codes . The Job Openings Dataset includes fields such as Job Opening Title, Job Opening URL, First Seen At, Last Seen At, See the live schema for the complete constraint. |
| `result.data.data` | `array` | Yes | — | — |
| `result.data.data[].id` | `string` | Yes | — | ID of the `JobOpening` object. Format: `uuid`. |
| `result.data.data[].type` | `"job_opening"` | Yes | — | Type of the `JobOpening` object. |
| `result.data.data[].attributes` | `object` | Yes | — | Attributes of the `JobOpening` object. |
| `result.data.data[].attributes.title` | `string` | Yes | — | Job title. |
| `result.data.data[].attributes.translated_title` | `string \| null` | Yes | — | Job title translated to English when a non-English language is detected. |
| `result.data.data[].attributes.normalized_title` | `string \| null` | Yes | — | Normalized job title with various noise (location, noise, team, gender, contract type etc.) information stripped. |
| `result.data.data[].attributes.description` | `string \| null` | Yes | — | `JobOpening` description. |
| `result.data.data[].attributes.url` | `string` | Yes | — | URL of the web page where the data was found. Format: `uri`. |
| `result.data.data[].attributes.first_seen_at` | `string` | Yes | — | Date & time (ISO 8601) of when the `JobOpening` was first seen. Format: `date-time`. |
| `result.data.data[].attributes.last_seen_at` | `string` | Yes | — | Date & time (ISO 8601) of when the `JobOpening` was last seen. Format: `date-time`. |
| `result.data.data[].attributes.last_processed_at` | `string` | Yes | — | Date & time (ISO 8601) of when the `JobOpening` was last sent to processing. Format: `date-time`. |
| `result.data.data[].attributes.contract_types` | `array` | Yes | — | Zero or more types describing the `JobOpening`. |
| `result.data.data[].attributes.categories` | `array` | Yes | — | Zero or more organizational categories of the `JobOpening`. |
| `result.data.data[].attributes.onet_data` | `object` | Yes | — | Inferred O\*NET data for this `JobOpening`. O\*NET is a source and standardization of occupational information. More info on the O\*NET data: onetonline.org. |
| `result.data.data[].attributes.onet_data.code` | `string \| null` | Yes | — | O\*NET category code representing this `JobOpening`. For full list of possible codes see: [https://www.onetonline.org/find/all](https://www.onetonline.org/find/all) |
| `result.data.data[].attributes.onet_data.family` | `string \| null` | Yes | — | O\*NET family name matching the code for this `JobOpening`. |
| `result.data.data[].attributes.onet_data.occupation_name` | `string \| null` | Yes | — | O\*NET occupation name matching the code for this `JobOpening`. |
| `result.data.data[].attributes.posted_at` | `string \| null` | Yes | — | Date & time (ISO 8601) of when the `JobOpening` was posted. Format: `date-time`. |
| `result.data.data[].attributes.recruiter_data` | `object` | Yes | — | Info about the contact responsible for hiring for this `JobOpening`. |
| `result.data.data[].attributes.recruiter_data.name` | `string \| null` | Yes | — | Name of the contact responsible for hiring for this `JobOpening`. |
| `result.data.data[].attributes.recruiter_data.title` | `string \| null` | Yes | — | Title of the contact responsible for hiring for this `JobOpening`. |
| `result.data.data[].attributes.recruiter_data.contact` | `string \| null` | Yes | — | Contact info for this `JobOpening`, such as email address or Linkedin profile URL. |
| `result.data.data[].attributes.salary` | `string \| null` | Yes | — | Raw salary string. |
| `result.data.data[].attributes.salary_data` | `object` | Yes | — | Parsed raw salary data. |
| `result.data.data[].attributes.salary_data.salary_low` | `number \| null` | Yes | — | Salary range lower bound. If salary is not a range both low and high values will be the same. |
| `result.data.data[].attributes.salary_data.salary_high` | `number \| null` | Yes | — | Salary range upper bound. |
| `result.data.data[].attributes.salary_data.salary_currency` | `string \| null` | Yes | — | Salary currency. |
| `result.data.data[].attributes.salary_data.salary_low_usd` | `number \| null` | Yes | — | Salary range lower bound, converted to USD. |
| `result.data.data[].attributes.salary_data.salary_high_usd` | `number \| null` | Yes | — | Salary range upper bound, converted to USD. |
| `result.data.data[].attributes.salary_data.salary_time_unit` | `"hour" \| "day" \| "week" \| "month" \| "year" \| null` | Yes | — | Salary time unit. Allowed: `hour`, `day`, `week`, `month`, `year`, `null`. |
| `result.data.data[].attributes.seniority` | `"not_set" \| "founder" \| "c_level" \| "partner" \| "president" \| "vice_president" \| "head" \| "director" \| "manager" \| "mid_senior" \| "junior"` | Yes | — | Seniority inferred from the `JobOpening` title. Allowed: `not_set`, `founder`, `c_level`, `partner`, `president`, `vice_president`, `head`, `director`, `manager`, `mid_senior`, `junior`. |
| `result.data.data[].attributes.status` | `"closed" \| null` | Yes | — | null or "closed" if keyword "job no longer available", "vacancy listing expired", "position filled", etc. is found on `JobOpening` site. Allowed: `closed`, `null`. |
| `result.data.data[].attributes.language` | `string \| null` | Yes | — | Language in which a `JobOpening` description is written. |
| `result.data.data[].attributes.location` | `string \| null` | Yes | — | `JobOpening` location. **NOTE**: It is built from the `location_data` attributes if present. Otherwise, it falls back to the original unnormalized detected location string. |
| `result.data.data[].attributes.location_data` | `array` | Yes | — | **NOTE**: Currently contains at most one object. |
| `result.data.data[].attributes.location_data[].city` | `string \| null` | Yes | — | City of the location. |
| `result.data.data[].attributes.location_data[].state` | `string \| null` | Yes | — | State of the location. |
| `result.data.data[].attributes.location_data[].zip_code` | `string \| null` | Yes | — | ZIP code of the location. |
| `result.data.data[].attributes.location_data[].country` | `string \| null` | Yes | — | Country of the location. |
| `result.data.data[].attributes.location_data[].region` | `string \| null` | Yes | — | Region of the location. |
| `result.data.data[].attributes.location_data[].continent` | `string \| null` | Yes | — | Continent of the location. |
| `result.data.data[].attributes.location_data[].fuzzy_match` | `boolean \| null` | Yes | — | `true` indicates that location data may not have been extracted accurately. `false` indicates that location data has been extracted correctly. |
| `result.data.data[].attributes.tags` | `array` | Yes | — | Includes keywords found under `JobOpening` description. |
| `result.data.data[].relationships` | `object` | Yes | — | The data contains references to related objects listed in the `included` property. |
| `result.data.data[].relationships.company` | `object` | Yes | — | The data contains a reference to related `CompanyLite` object listed in the `included` property. |
| `result.data.data[].relationships.company.data` | `object` | Yes | — | — |
| `result.data.data[].relationships.company.data.id` | `string` | Yes | — | ID of the included `CompanyLite` object. Format: `uuid`. |
| `result.data.data[].relationships.company.data.type` | `"company"` | Yes | — | Type of the included `CompanyLite` object. |

The table shows the first 50 fields. Expand the raw schema below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe predictleads_job_opening --json`.

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0.56` per pricing unit.

## Related documentation

* [PredictLeads provider guide](https://deepline.com/docs/providers/predictleads/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.