{
  "openapi": "3.0.1",
  "info": {
    "title": "elempleo Scraper - Colombia Jobs, Salaries, Vacantes & Empleos",
    "description": "Scrape elempleo.com job postings across Colombia (Bogota, Medellin, Cali). Get title, company, salary range, city, contract type, work mode, experience, education, sector, vacancies and full description. Filter by keyword, city, salary or contract. Empleos y vacantes en Colombia. JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "0kmpFuEG3X2i7tGae"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~elempleo-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-elempleo-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/scrapers_lat~elempleo-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-elempleo-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/scrapers_lat~elempleo-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-elempleo-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": "Search keywords",
            "type": "array",
            "description": "Job search terms in Spanish, one search per term, for example [\"desarrollador\", \"contador\", \"auxiliar contable\"]. Leave empty to browse all offers or to use startUrls.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "City / location",
            "type": "string",
            "description": "City or region in Colombia to filter by, for example \"bogota\", \"medellin\", \"cali\". Combined with each keyword. Optional."
          },
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of job listings to collect across all searches. Leave blank or 0 for no limit. Free Apify plans are capped at 10 per run."
          },
          "startUrls": {
            "title": "Search / job URLs",
            "type": "array",
            "description": "Optional list of elempleo.com search or job-offer URLs to scrape directly. Apply filters on the site and paste the resulting URLs. Pagination is followed automatically.",
            "items": {
              "type": "string"
            }
          },
          "startUrl": {
            "title": "Search URL (single)",
            "type": "string",
            "description": "A single elempleo.com search or listing URL, for example https://www.elempleo.com/co/ofertas-empleo/. Alternative to startUrls / keywords."
          },
          "contractType": {
            "title": "Contract type filter",
            "type": "string",
            "description": "Keep only offers whose contract type matches this text, for example \"Indefinido\", \"Definido\", \"Obra o labor\", \"Prestación de servicios\". Optional."
          },
          "workModality": {
            "title": "Work modality filter",
            "type": "string",
            "description": "Keep only offers whose work mode matches, for example \"Remoto\", \"Presencial\", \"Híbrido\". Optional."
          },
          "area": {
            "title": "Job area filter",
            "type": "string",
            "description": "Keep only offers whose area / profession matches this text, for example \"Ingeniería\", \"Ventas\", \"Salud\". Requires job details. Optional."
          },
          "positionLevel": {
            "title": "Position level filter",
            "type": "string",
            "description": "Keep only offers whose seniority level matches, for example \"Profesional\", \"Auxiliar\", \"Directivo\". Requires job details. Optional."
          },
          "experience": {
            "title": "Experience filter",
            "type": "string",
            "description": "Keep only offers whose required experience text matches, for example \"1 año\", \"Sin experiencia\". Requires job details. Optional."
          },
          "sector": {
            "title": "Sector filter",
            "type": "string",
            "description": "Keep only offers whose sector / industry matches, for example \"Salud\", \"Construcción\", \"Tecnología\". Requires job details. Optional."
          },
          "salaryMin": {
            "title": "Minimum salary (COP)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only offers whose salary (upper bound) is at least this many Colombian pesos, for example 2000000. Confidential salaries are excluded when set. Optional."
          },
          "sort": {
            "title": "Sort order",
            "type": "string",
            "description": "Optional. Set to \"date\" to sort the collected offers by most recent first."
          },
          "onlyRemote": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "When enabled, keep only offers whose work mode signals remote / hybrid work (remoto / teletrabajo / híbrido).",
            "default": false
          },
          "withDetails": {
            "title": "Fetch job details",
            "type": "boolean",
            "description": "When enabled, the actor opens each job page to add the full description, requirements, education, experience, real salary range, sector, seniority, vacancies, deadline and company profile. Slower; one request per job. Paid plans only.",
            "default": true
          },
          "withSummary": {
            "title": "AI job summary",
            "type": "boolean",
            "description": "Add-on (paid plans, requires job details). Uses AI to write a concise 2-3 sentence summary of each posting. Billed per job only on success.",
            "default": false
          },
          "withExtract": {
            "title": "AI requirements extract",
            "type": "boolean",
            "description": "Add-on (paid plans, requires job details). Uses AI to extract structured skills, tools, languages, years of experience, seniority and must-haves. Billed per job only on success.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Defaults to Apify Residential proxy pinned to Colombia, recommended for reliable access."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}