{
  "openapi": "3.0.1",
  "info": {
    "title": "HelloWork Jobs Scraper",
    "description": "French job ads from hellowork.com with the contract type (CDI, CDD, intérim), the salary or HelloWork's own estimate, the department and the full text. Search by keyword and place, filter by contract, experience or date, or paste a HelloWork search link.",
    "version": "0.1",
    "x-build-id": "LgMshVSurIKgH3DV6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deriverge~hellowork-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deriverge-hellowork-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/deriverge~hellowork-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-deriverge-hellowork-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/deriverge~hellowork-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-deriverge-hellowork-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "What to search for, as in the HelloWork search box, usually in French: a job title, skill or company, for example \"développeur\", \"infirmier\" or \"commercial\". Each keyword is its own search. Leave empty for all jobs.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "French cities, departments or regions, for example Paris, Lyon, Bordeaux, 33 or Occitanie. Each location is its own search. Leave empty for all of France.",
            "items": {
              "type": "string"
            }
          },
          "contractTypes": {
            "title": "Contract types",
            "type": "array",
            "description": "Only jobs with these contract types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "CDI",
                "CDD",
                "Travail_temp",
                "Stage",
                "Alternance",
                "Freelance",
                "Independant",
                "Fonctionnaire",
                "Franchise",
                "Associe",
                "Stage_de_lycee"
              ],
              "enumTitles": [
                "CDI (permanent)",
                "CDD (fixed-term)",
                "Interim",
                "Internship (stage)",
                "Work-study (alternance)",
                "Freelance",
                "Self-employed",
                "Civil service",
                "Franchise",
                "Partner",
                "High school internship"
              ]
            }
          },
          "remote": {
            "title": "Remote work",
            "type": "array",
            "description": "Only jobs with these remote work options (télétravail). Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Complet",
                "Partiel",
                "Occasionnel",
                "Pas_teletravail"
              ],
              "enumTitles": [
                "Full remote",
                "Partly remote",
                "Occasional remote",
                "No remote work"
              ]
            }
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "24h",
              "3days",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Only jobs posted within this period.",
            "default": "any"
          },
          "experience": {
            "title": "Experience",
            "type": "array",
            "description": "Only jobs asking for this experience. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "deb",
                "0-1y",
                "2-3y",
                "4-5y",
                "6-10y",
                "gt10y"
              ],
              "enumTitles": [
                "Beginners welcome",
                "0 to 1 year",
                "2 to 3 years",
                "4 to 5 years",
                "6 to 10 years",
                "More than 10 years"
              ]
            }
          },
          "employerTypes": {
            "title": "Advertiser type",
            "type": "array",
            "description": "Only jobs from these kinds of advertisers. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Entreprises",
                "Cabinet_recr",
                "SSII",
                "Travail_temporaire",
                "Centre_formation"
              ],
              "enumTitles": [
                "Companies",
                "Recruitment firms",
                "IT services firms (ESN)",
                "Temp agencies",
                "Training centres"
              ]
            }
          },
          "hours": {
            "title": "Hours",
            "enum": [
              "any",
              "full-time",
              "part-time"
            ],
            "type": "string",
            "description": "Full-time or part-time jobs.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order of the results, as on HelloWork.",
            "default": "relevance"
          },
          "searchUrls": {
            "title": "Search links from hellowork.com (optional)",
            "type": "array",
            "description": "HelloWork search addresses with your filters, for example https://www.hellowork.com/fr-fr/emploi/recherche.html?k=infirmier&l=Nantes. Each link is its own search.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title or company contains any of these.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Include full details",
            "type": "boolean",
            "description": "Opens each job for the salary, HelloWork salary estimate, postcode, region, remote work, experience, education, skills, category, expiry date and the full description. The price is the same.",
            "default": true
          },
          "newOnly": {
            "title": "Return only jobs new since the last run",
            "type": "boolean",
            "description": "Keeps a snapshot per watch name (or per saved task) and returns only jobs that were not there before. Schedule it daily for a job alert.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Name of the snapshot used by the new-only mode, for example \"comptable-lyon\". Runs from a saved task get one automatically."
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on returned jobs. When the cap is smaller than the results, every search gets an equal share.",
            "default": 1000
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}