{
  "openapi": "3.0.1",
  "info": {
    "title": "Catho Jobs Scraper",
    "description": "Collect current Catho Brazil jobs and full descriptions from the public detail API. Prefilled keyword/location searches, configurable listing proxy, bounded direct HTTP details and source-matched output. No paid vendor API key or synthetic jobs.",
    "version": "1.1",
    "x-build-id": "4m60AsnSpFZUahIAH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jobscrawler~catho-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jobscrawler-catho-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/jobscrawler~catho-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-jobscrawler-catho-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/jobscrawler~catho-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-jobscrawler-catho-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": {
          "keyword": {
            "title": "Search Keyword",
            "type": "string",
            "description": "Job title or keywords to search for.",
            "default": "desenvolvedor"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, or region to search in.",
            "default": "São Paulo"
          },
          "country": {
            "title": "Country",
            "enum": [
              "BR"
            ],
            "type": "string",
            "description": "This Actor reads Catho Brazil only.",
            "default": "BR"
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of job listings to scrape.",
            "default": 10
          },
          "proxyEnabled": {
            "title": "Enable Proxy",
            "type": "boolean",
            "description": "Use an authorized proxy route for regional access or connection reliability; it does not bypass access controls.",
            "default": true
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "relevance"
            ],
            "type": "string",
            "description": "Only relevance shortcut is implemented. Use a verified native URL for source-specific ordering; other legacy shortcut values fail rather than being ignored.",
            "default": "relevance"
          },
          "jobType": {
            "title": "Job Type",
            "type": "string",
            "description": "Legacy shortcut is not implemented and must remain empty. Use an appropriate native source search URL instead; nonempty values fail explicitly.",
            "default": ""
          },
          "experienceLevel": {
            "title": "Experience Level",
            "type": "string",
            "description": "Legacy shortcut is not implemented and must remain empty. Use an appropriate native source search URL instead; nonempty values fail explicitly.",
            "default": ""
          },
          "datePosted": {
            "title": "Date Posted",
            "enum": [
              ""
            ],
            "type": "string",
            "description": "Legacy shortcut is not implemented and must remain empty. Use an appropriate native source search URL instead; nonempty values fail explicitly.",
            "default": ""
          },
          "remoteOnly": {
            "title": "Remote Only",
            "type": "boolean",
            "description": "Legacy shortcut is not implemented; true fails explicitly. Use a source-provided native URL for remote jobs.",
            "default": false
          },
          "includeCompanyDetails": {
            "title": "Include Company Details",
            "type": "boolean",
            "description": "Include public company detail metadata and a company URL when supplied. Basic listing names may remain; source-hidden companies are never revealed.",
            "default": true
          },
          "includeSalary": {
            "title": "Include Salary",
            "type": "boolean",
            "description": "Include published top-level salary text. No salary/currency is invented; original public source fields remain in rawData.",
            "default": true
          },
          "googleSearchFallbackEnabled": {
            "title": "Optional paid Google fallback",
            "type": "boolean",
            "description": "Off by default. Explicit paid indexed-search fallback is only supported with includeDetails=false; it cannot validate full live job descriptions and is never a maintenance recovery proof.",
            "default": false
          },
          "startUrl": {
            "title": "Official search URL (optional)",
            "type": "string",
            "description": "Official HTTPS Catho /vagas/ search URL; its native keyword/location path and filter query are retained. An initial page parameter is preserved.",
            "default": ""
          },
          "includeDetails": {
            "title": "Fetch public job details",
            "type": "boolean",
            "description": "Default true: accept only jobs whose API response has a matching native URL ID and title plus a full description. False explicitly selects listing-only mode.",
            "default": true
          },
          "searchQuery": {
            "title": "Search query",
            "type": "string",
            "description": "Optional keyword alias, preferred over keyword. A supplied native startUrl keeps its own search path.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The exact explicitly requested route is used when proxyEnabled is true. Default residential proxy has no fixed country and may incur Apify charges; use proxyEnabled=false for direct access. No hidden fallback tier is selected.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "requestTimeoutSecs": {
            "title": "Request timeout",
            "minimum": 5,
            "maximum": 90,
            "type": "integer",
            "description": "Browser navigation timeout in seconds; individual detail GET requests are bounded to at most 30 seconds.",
            "default": 30
          },
          "detailConcurrency": {
            "title": "Concurrent detail requests",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Maximum parallel read-only detail requests, bounded to four. Search pagination remains sequential.",
            "default": 3
          },
          "detailTransport": {
            "title": "Detail API transport",
            "enum": [
              "direct_http",
              "browser"
            ],
            "type": "string",
            "description": "Default direct_http calls the source public detail API without browser cookies or proxy credentials. The configured proxy applies to listing navigation only in this mode. Browser explicitly uses the page transport for detail requests too. No hidden fallback or retry after access denial.",
            "default": "direct_http"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}