{
  "openapi": "3.0.1",
  "info": {
    "title": "Computrabajo Jobs Scraper & New Job Monitor - Latin America",
    "description": "For recruiters, job alerts and hiring lead lists: Computrabajo jobs in 19 Latin American countries by keyword and city, with company rating, salary as numbers with currency, remote or hybrid, date and link. Monitor mode returns only new jobs.",
    "version": "0.1",
    "x-build-id": "xIvD19LUgNGOMKtR2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~computrabajo-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-computrabajo-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/neverempty~computrabajo-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-computrabajo-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/neverempty~computrabajo-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-computrabajo-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": {
          "searchQueries": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What you would type into the Computrabajo search box, for example ingeniero, vendedor, contador, desarrollador, enfermera, asesor comercial. Each keyword is searched in each location and country. An input left completely empty runs the example search: ingeniero on co.computrabajo.com (Colombia), and its rows say so. Filters alone (posted within, salary, remote, monitor mode, another country) without a job title, location or search URL are refused, nothing is searched or charged.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Optional. City or region, for example Bogotá, Medellín, Antioquia, Ciudad de México, Monterrey, Lima, Buenos Aires, Santiago, Quito. Empty = the whole country. Computrabajo answers a place it does not know with 0 jobs (a free row says so).",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Which Computrabajo country sites to search (19 countries). Every keyword and location is searched on every country you pick. Default: Colombia.",
            "items": {
              "type": "string",
              "enum": [
                "co",
                "mx",
                "pe",
                "ar",
                "cl",
                "ec",
                "ve",
                "cr",
                "gt",
                "sv",
                "uy",
                "py",
                "pa",
                "hn",
                "ni",
                "do",
                "bo",
                "cu",
                "pr"
              ],
              "enumTitles": [
                "Colombia (co.computrabajo.com)",
                "Mexico (mx.computrabajo.com)",
                "Peru (pe.computrabajo.com)",
                "Argentina (ar.computrabajo.com)",
                "Chile (cl.computrabajo.com)",
                "Ecuador (ec.computrabajo.com)",
                "Venezuela (ve.computrabajo.com)",
                "Costa Rica (cr.computrabajo.com)",
                "Guatemala (gt.computrabajo.com)",
                "El Salvador (sv.computrabajo.com)",
                "Uruguay (uy.computrabajo.com)",
                "Paraguay (py.computrabajo.com)",
                "Panama (pa.computrabajo.com)",
                "Honduras (hn.computrabajo.com)",
                "Nicaragua (ni.computrabajo.com)",
                "Dominican Republic (do.computrabajo.com)",
                "Bolivia (bo.computrabajo.com)",
                "Cuba (cu.computrabajo.com)",
                "Puerto Rico (pr.computrabajo.com)"
              ]
            },
            "default": [
              "co"
            ]
          },
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Optional. Computrabajo search result pages copied from your browser, for example https://co.computrabajo.com/trabajo-de-ingeniero-en-bogota-dc or https://mx.computrabajo.com/empleos-en-jalisco. Any of the 19 country sites. The Actor reads the following pages itself (?p=2, 3 ...).",
            "items": {
              "type": "string"
            }
          },
          "remoteWork": {
            "title": "Remote work",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "remote-or-hybrid"
            ],
            "type": "string",
            "description": "Any (default), only jobs Computrabajo marks as remote (Remoto), only hybrid (Presencial y remoto), or either. With Remote only and no location, the Actor reads Computrabajo's own remote job list.",
            "default": "any"
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Optional. Only jobs posted within this many days (1 to 30), as Computrabajo shows them (for example Hace 3 días)."
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Only jobs whose posted salary (the top of the range) is at least this amount, in the currency of that country's site as shown on the job (for example 3000000 for COP 3,000,000 a month in Colombia). Jobs without a posted salary are left out when this is set."
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Most relevant first (default, the order of the Computrabajo search page) or newest first. Monitor mode always reads newest first.",
            "default": "relevance"
          },
          "includeJobDetails": {
            "title": "Open each job page (contract, hours, education, skills, full description)",
            "type": "boolean",
            "description": "On: for each job returned, also read its job page and add contract type, working hours, employment type, education, years of experience, skills, the posting and closing dates, the company logo and the full description (phone numbers, e-mails and contact names removed). Rows with job page details are charged as job-with-details instead of job-returned. If a job page cannot be read, the row is still returned as job-returned with detailsStatus saying why.",
            "default": false
          },
          "maxResultsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Most jobs returned for one search (1 to 1000, default 100). The Actor reads Computrabajo's results pages (20 jobs each) until it has this many jobs that pass your filters. In monitor mode it limits the new jobs returned per search in one run; the rest come first in the next run.",
            "default": 100
          },
          "onlyNew": {
            "title": "Monitor mode: only new jobs",
            "type": "boolean",
            "description": "On: every run reads the newest jobs of each search and returns only jobs posted since the previous check (changeType new); jobs this watch already returned are not returned again, also when the search is written differently. The first run returns the current jobs (changeType first-check, up to Max jobs per search) and remembers them as the starting point. Each run that reads the list is charged the run start fee, and each search with nothing new a small monitoring check; such searches return a free row saying so.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Optional. Keeps separate memories for monitor mode, for example one per client (letters, digits, dot, dash, underscore; up to 40). Runs with the same watch name and the same search share what has already been returned."
          },
          "resetMonitoringState": {
            "title": "Start the watch again",
            "type": "boolean",
            "description": "On: forget what this watch has seen for these searches before running, so this run is a first check again.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}