{
  "openapi": "3.0.1",
  "info": {
    "title": "Emploitic Scraper",
    "description": "Scrape job offers from emploitic.com (Algeria). Use filters or paste an Emploitic URL — the URL wins when set. Returns title, company, location, contract, and description.",
    "version": "0.1",
    "x-build-id": "CzvzR1MSY0bV0Wt4n"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dadhalfdev~emploitic-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dadhalfdev-emploitic-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/dadhalfdev~emploitic-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dadhalfdev-emploitic-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/dadhalfdev~emploitic-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dadhalfdev-emploitic-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": {
          "input_url": {
            "title": "Input URL",
            "type": "string",
            "description": "Paste an Emploitic search URL (e.g. https://emploitic.com/offres-d-emploi?q=comptable&workMode=remote). Overrides every filter when set."
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Same as the Emploitic search bar (`search=`). Leave empty for the full job list. Ignored when input_url is set.",
            "default": ""
          },
          "location": {
            "title": "Location (wilaya)",
            "enum": [
              "",
              "adrar",
              "chlef",
              "laghouat",
              "oum-el-bouaghi",
              "batna",
              "bejaia",
              "biskra",
              "bechar",
              "blida",
              "bouira",
              "tamanrasset",
              "tebessa",
              "tlemcen",
              "tiaret",
              "tizi-ouzou",
              "alger",
              "djelfa",
              "jijel",
              "setif",
              "saida",
              "skikda",
              "sidi-bel-abbes",
              "annaba",
              "guelma",
              "constantine",
              "medea",
              "mostaganem",
              "msila",
              "mascara",
              "ouargla",
              "oran",
              "el-bayadh",
              "illizi",
              "bordj-bou-arreridj",
              "boumerdes",
              "el-tarf",
              "tindouf",
              "tissemsilt",
              "el-oued",
              "khenchela",
              "souk-ahras",
              "tipaza",
              "mila",
              "ain-defla",
              "naama",
              "ain-temouchent",
              "ghardaia",
              "relizane",
              "timimoun",
              "bordj-badji-mokhtar",
              "ouled-djellal",
              "beni-abbes",
              "in-salah",
              "in-guezzam",
              "touggourt",
              "djanet",
              "el-mghair",
              "el-meniaa"
            ],
            "type": "string",
            "description": "Same location filter as emploitic.com (?location=). Wilaya-level values. Ignored when input_url is set.",
            "default": ""
          },
          "profession": {
            "title": "Profession / métier",
            "enum": [
              "",
              "administration",
              "administration-finance",
              "assistanat",
              "comptabilite",
              "banque",
              "juridique",
              "rh",
              "education",
              "direction",
              "commercial-marketing",
              "vente",
              "commercial-service",
              "responsable-commercial",
              "creation",
              "marketing",
              "journalisme",
              "informatique-telecom",
              "informatique",
              "telecommunication",
              "ingenierie",
              "chantier",
              "ingenierie-etudes",
              "logistique",
              "agriculture",
              "production",
              "maintenance",
              "qualite",
              "sante",
              "sante-pharmacie",
              "autres",
              "hotellerie",
              "ouvriers",
              "autre"
            ],
            "type": "string",
            "description": "Same profession filter as emploitic.com (?profession=). Ignored when input_url is set.",
            "default": ""
          },
          "experience_level": {
            "title": "Experience",
            "enum": [
              "",
              "sans-experience",
              "moins-1-an",
              "1-2-ans",
              "3-5-ans",
              "6-10-ans",
              "plus-10-ans"
            ],
            "type": "string",
            "description": "Same experience filter as emploitic.com (?experienceLevel=). Ignored when input_url is set.",
            "default": ""
          },
          "post_level": {
            "title": "Post level",
            "enum": [
              "",
              "stagiaire",
              "jeune-diplome",
              "debutant",
              "confirme",
              "responsable-equipe",
              "manager",
              "cadre-dirigeant"
            ],
            "type": "string",
            "description": "Same post-level filter as emploitic.com (?postLevel=). Ignored when input_url is set.",
            "default": ""
          },
          "sector": {
            "title": "Sector",
            "enum": [
              "",
              "informatique",
              "banque",
              "btp",
              "distribution",
              "industries",
              "services",
              "fonction-publique",
              "energie"
            ],
            "type": "string",
            "description": "Same company-sector filter as emploitic.com (?sector=). Ignored when input_url is set.",
            "default": ""
          },
          "formation_level": {
            "title": "Education / formation",
            "enum": [
              "",
              "secondaire",
              "terminal",
              "bac",
              "certification",
              "formation-pro",
              "ts-bac2",
              "licence",
              "master1",
              "master2",
              "magistere",
              "doctorat",
              "universitaire-sans-diplome",
              "non-diplomante"
            ],
            "type": "string",
            "description": "Same formation filter as emploitic.com (?formationLevel=). Ignored when input_url is set.",
            "default": ""
          },
          "work_mode": {
            "title": "Work mode",
            "enum": [
              "",
              "onsite",
              "remote",
              "hybrid"
            ],
            "type": "string",
            "description": "Same work-mode filter as emploitic.com (?workMode=). Ignored when input_url is set.",
            "default": ""
          },
          "max_results": {
            "title": "Maximum number of results",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "How many rows to return (1–2000). Emploitic currently lists about 4,500 open offers (20 per page).",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}