{
  "openapi": "3.0.1",
  "info": {
    "title": "Remote Jobs Scraper: 8 Boards + \"Hireable From\" Country Filter",
    "description": "Remote jobs from 8 boards (RemoteOK, We Work Remotely, Remotive, Himalayas, Jobicy and more) in one run, deduplicated. Filter jobs hireable from your country (Brazil, Mexico, India...). Salary normalized to yearly USD. Job alerts mode. $0.80 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "Y5DvsuYx0ydVBGsSy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datadesk-io~remote-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datadesk-io-remote-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/datadesk-io~remote-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datadesk-io-remote-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/datadesk-io~remote-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datadesk-io-remote-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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Match job title, tags or category, e.g. python, designer, customer support. Empty = all remote jobs.",
            "default": [
              "developer"
            ],
            "items": {
              "type": "string"
            }
          },
          "hireableFrom": {
            "title": "Hireable from (countries)",
            "type": "array",
            "description": "Keep only jobs open to candidates in these countries: ISO code or name, e.g. BR, MX, India. Worldwide jobs always match; regions like LATAM or EMEA are expanded to countries.",
            "default": [
              "BR"
            ],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Job boards",
            "type": "array",
            "description": "Remote job boards to fetch. Jobs found on several boards are merged into one row (see alsoOn). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "remotive",
                "remoteok",
                "weworkremotely",
                "jobicy",
                "himalayas",
                "workingnomads",
                "getonbrd",
                "arbeitnow"
              ],
              "enumTitles": [
                "Remotive",
                "RemoteOK",
                "We Work Remotely",
                "Jobicy",
                "Himalayas",
                "Working Nomads",
                "Get on Board (LatAm)",
                "Arbeitnow (remote only)"
              ]
            },
            "default": [
              "remotive",
              "remoteok",
              "weworkremotely",
              "jobicy",
              "himalayas",
              "workingnomads",
              "getonbrd",
              "arbeitnow"
            ]
          },
          "excludeKeywords": {
            "title": "Exclude words in title",
            "type": "array",
            "description": "Skip jobs whose title contains any of these words, e.g. senior, sales, intern.",
            "items": {
              "type": "string"
            }
          },
          "salaryOnly": {
            "title": "Only jobs with salary",
            "type": "boolean",
            "description": "Keep only jobs that publish a salary. Off = all jobs.",
            "default": false
          },
          "minYearlySalaryUsd": {
            "title": "Minimum yearly salary (USD)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Keep jobs whose normalized yearly salary reaches this value. 0 = off.",
            "default": 0
          },
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum unique jobs saved per run. You only pay for jobs saved.",
            "default": 200
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs posted in the last N days. 0 = any date."
          },
          "onlyNewJobs": {
            "title": "Alerts mode: only new jobs",
            "type": "boolean",
            "description": "Remember jobs from earlier runs and save only jobs you have not received before. Schedule the Actor daily to get a job alert feed. You pay only for new jobs.",
            "default": false
          },
          "alertsKey": {
            "title": "Alert name",
            "type": "string",
            "description": "Separate memory per alert (e.g. \"sydney-nurses\"). Use a different name for each saved search."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}