{
  "openapi": "3.0.1",
  "info": {
    "title": "HelloWork Scraper - French Jobs, Salaries & Companies",
    "description": "Scrape hellowork.com jobs in France by keyword, city, radius, contract (CDI, CDD, interim, internship), remote work, experience, date and minimum salary: title, company, salary range, skills, education, address, full description and profile. Schedule it with onlyNew. Error rows are free.",
    "version": "0.1",
    "x-build-id": "Ussr3YlwVNIzoJ1o8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~hellowork-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-hellowork-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/scrapewise~hellowork-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-hellowork-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/scrapewise~hellowork-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-hellowork-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Job titles or keywords, one per line, in French or English, for example data analyst, comptable or infirmier. Each keyword is one search. Leave empty to list every job of the location, or when you paste links below.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, department or region in France, for example Paris, Lyon, Gironde or Bretagne. Empty = all of France."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Distance around a city, in km (the site offers 10, 20, 30, 50 and 100). Empty = the site default."
          },
          "contractTypes": {
            "title": "Contract type",
            "type": "array",
            "description": "Keep only these contract types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "CDI",
                "CDD",
                "Travail_temp",
                "Stage",
                "Alternance",
                "Independant",
                "Franchise",
                "Associe",
                "Fonctionnaire",
                "Freelance",
                "Stage_de_lycee"
              ],
              "enumTitles": [
                "CDI (permanent)",
                "CDD (fixed term)",
                "Interim / temporary",
                "Internship",
                "Apprenticeship (alternance)",
                "Independent",
                "Franchise",
                "Partner",
                "Civil service",
                "Freelance",
                "High school internship"
              ]
            }
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "all",
              "h",
              "d",
              "w",
              "m"
            ],
            "type": "string",
            "description": "Only jobs published in this period.",
            "default": "all"
          },
          "experienceLevels": {
            "title": "Experience",
            "type": "array",
            "description": "Required experience. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "deb",
                "0-1y",
                "2-3y",
                "4-5y",
                "6-10y",
                "gt10y",
                "unknown"
              ],
              "enumTitles": [
                "Beginners welcome",
                "0 to 1 year",
                "2 to 3 years",
                "4 to 5 years",
                "6 to 10 years",
                "More than 10 years",
                "Not specified"
              ]
            }
          },
          "remoteWork": {
            "title": "Remote work",
            "type": "array",
            "description": "Remote work policy of the job. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "Complet",
                "Partiel",
                "Occasionnel",
                "Pas_teletravail"
              ],
              "enumTitles": [
                "Full remote",
                "Partial remote (hybrid)",
                "Occasional remote",
                "No remote"
              ]
            }
          },
          "workingTimes": {
            "title": "Working time",
            "type": "array",
            "description": "Full time or part time. Empty = both.",
            "items": {
              "type": "string",
              "enum": [
                "ft",
                "pt",
                "np"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Not specified"
              ]
            }
          },
          "minYearlySalary": {
            "title": "Minimum yearly salary (EUR)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Only jobs whose salary reaches at least this gross yearly amount in euros, for example 45000 (the site goes up to 100000)."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order of the results, same options as the site. onlyNew switches Relevance to Most recent.",
            "default": "relevance"
          },
          "startUrls": {
            "title": "HelloWork links",
            "type": "array",
            "description": "Optional: job links (https://www.hellowork.com/fr-fr/emplois/12345678.html) or search and category links copied from the address bar after setting filters on the site. Search links keep every filter they carry.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Full job details",
            "type": "boolean",
            "description": "On: opens each job page for the full description, candidate profile, salary numbers, skills, education, address, publication and expiry dates. Off: faster, the row has the search card fields (title, company, location, contract, salary text, tags).",
            "default": true
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap for the whole run, across all searches. 0 = no cap.",
            "default": 50
          },
          "onlyNew": {
            "title": "Only new jobs (for schedules)",
            "type": "boolean",
            "description": "On: remembers the jobs delivered in earlier runs of the same search (in your account) and delivers only jobs not seen before. Skipped jobs are free.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}