# Get Greenhouse job details

Get one public posting with normalized content, metadata, compliance, and optional application-form definitions.

- Platform: [Greenhouse Jobs](https://docs.upscrape.com/docs/platforms/greenhouse)
- Capability ID: `greenhouse.jobs.details`
- Cost: 1 credit per request
- Maximum runtime: 45 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "board": "airbnb",
    "include_questions": false,
    "job_id": "7995153"
  },
  "capability": "greenhouse.jobs.details"
}'
```

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `board` | `string` | Yes | Public Greenhouse board token. |
| `include_questions` | `boolean` | No | Include public general, location, and demographic application-form definitions. |
| `job_id` | `string` | Yes | Numeric public Greenhouse job id. |

### Example input

```json
{
  "board": "airbnb",
  "include_questions": false,
  "job_id": "7995153"
}
```

## Response

Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.

### Illustrative sample output

This redacted fixture is an example, not a fixed response schema.

```json
{
  "board": "airbnb",
  "job": {
    "absolute_url": "https://careers.airbnb.com/positions/7995153?gh_jid=7995153",
    "company_name": "Airbnb",
    "data_compliance": [
      {
        "demographic_data_consent_applies": false,
        "requires_consent": false,
        "requires_processing_consent": false,
        "requires_retention_consent": false,
        "type": "gdpr"
      }
    ],
    "department": "Sales",
    "departments": [
      "Sales"
    ],
    "description": "Airbnb was born in 2007 when two hosts welcomed three guests to their San Francisco home, and has since grown to over 5 million hosts who have welcomed over 2 billion guest arrivals in almost every country across the globe. Every day, hosts offer unique stays and experiences that make it possible for guests to connect with communities in a more authentic way. The Community You Will Join: The Homes…",
    "id": "7995153",
    "internal_job_id": "3468206",
    "language": "en",
    "location": "Berlin, Germany",
    "metadata": [
      {
        "id": "9245691",
        "name": "Is this job part of ACC?",
        "value": false,
        "value_type": "yes_no"
      },
      {
        "id": "10216612",
        "name": "Workplace Type",
        "value": "Hybrid",
        "value_type": "single_select"
      }
    ],
    "office": "Berlin, Germany",
    "offices": [
      "Berlin, Germany"
    ],
    "published_at": "2026-06-10T08:50:56-04:00",
    "remote": false,
    "requisition_id": "ONE",
    "title": "Acquisition Manager",
    "updated_at": "2026-07-31T07:59:51-04:00"
  }
}
```
### Illustrative output fields

Derived from the sample above for orientation only. These fields are not a fixed response schema.

| Path | Observed type | Example |
| --- | --- | --- |
| `board` | `string` | airbnb |
| `job` | `object` | 18 fields |
| `job.absolute_url` | `string` | https://careers.airbnb.com/positions/7995153?gh_jid=7995153 |
| `job.company_name` | `string` | Airbnb |
| `job.data_compliance` | `array` | 1 items |
| `job.department` | `string` | Sales |
| `job.departments` | `array` | 1 items |
| `job.description` | `string` | Airbnb was born in 2007 when two hosts welcomed three guests to their S… |
| `job.id` | `string` | 7995153 |
| `job.internal_job_id` | `string` | 3468206 |
| `job.language` | `string` | en |
| `job.location` | `string` | Berlin, Germany |
| `job.metadata` | `array` | 2 items |
| `job.office` | `string` | Berlin, Germany |
| `job.offices` | `array` | 1 items |
| `job.published_at` | `string` | 2026-06-10T08:50:56-04:00 |
| `job.remote` | `boolean` | false |
| `job.requisition_id` | `string` | ONE |
| `job.title` | `string` | Acquisition Manager |
| `job.updated_at` | `string` | 2026-07-31T07:59:51-04:00 |

## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
