# Handshake Jobs API

**Use case:** 

Run a reusable public Handshake software engineer job search and consume its structured overview dataset through the Apify API.

## Input

```json
{
  "keywords": [
    "software engineer"
  ],
  "locations": [],
  "startUrls": [],
  "employers": [],
  "employmentTypes": [],
  "workplace": "any",
  "maxDiscoveryItems": 10
}
```

## Output

```json
{
  "id": {
    "label": "Job ID",
    "format": "string"
  },
  "title": {
    "label": "Job title",
    "format": "string"
  },
  "employer.name": {
    "label": "Employer name",
    "format": "string"
  },
  "roleTypes": {
    "label": "Role types",
    "format": "array"
  },
  "employmentTypes": {
    "label": "Employment types",
    "format": "array"
  },
  "locations": {
    "label": "Locations",
    "format": "array"
  },
  "workplace": {
    "label": "Workplace",
    "format": "string"
  },
  "compensation.minAmount": {
    "label": "Minimum amount",
    "format": "number"
  },
  "compensation.maxAmount": {
    "label": "Maximum amount",
    "format": "number"
  },
  "compensation.currency": {
    "label": "Currency",
    "format": "string"
  },
  "compensation.cadence": {
    "label": "Cadence",
    "format": "string"
  },
  "compensation.annualizedMinAmount": {
    "label": "Annualized minimum",
    "format": "number"
  },
  "compensation.annualizedMaxAmount": {
    "label": "Annualized maximum",
    "format": "number"
  },
  "postedAt": {
    "label": "Posted at",
    "format": "string"
  },
  "expiresAt": {
    "label": "Expires at",
    "format": "string"
  },
  "url": {
    "label": "Job URL",
    "format": "string"
  },
  "collectedAt": {
    "label": "Collected at",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Handshake Jobs Scraper](https://apify.com/maximedupre/handshake-jobs-scraper) with a specific input configuration. Visit the [Actor detail page](https://apify.com/maximedupre/handshake-jobs-scraper) to learn more, explore other use cases, and run it yourself.