{
  "openapi": "3.0.1",
  "info": {
    "title": "Remote Jobs Scraper - Himalayas, Remote OK, We Work Remotely",
    "description": "Remote jobs from Himalayas, Remote OK, We Work Remotely, Working Nomads and Arbeitnow in one run via official APIs. Salary, location rules, full description, dedupe and monitoring. Pay per job.",
    "version": "0.1",
    "x-build-id": "2O6BPgeicMkqr7bbl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tinyrex~remote-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tinyrex-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/tinyrex~remote-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tinyrex-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/tinyrex~remote-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tinyrex-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": "Job titles / keywords",
            "type": "array",
            "description": "Each keyword is a separate search, e.g. python, react developer, product designer, customer support. A job matches when every word of the keyword appears (see 'Match keywords in'). Leave empty to get the newest remote jobs.",
            "default": [
              "python"
            ],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Job boards",
            "type": "array",
            "description": "Himalayas (largest, server-side search, salaries), Remote OK, We Work Remotely, Working Nomads and Arbeitnow (Europe/Germany). All use their official public APIs or feeds.",
            "items": {
              "type": "string",
              "enum": [
                "himalayas",
                "remoteok",
                "weworkremotely",
                "workingnomads",
                "arbeitnow"
              ],
              "enumTitles": [
                "Himalayas",
                "Remote OK",
                "We Work Remotely",
                "Working Nomads",
                "Arbeitnow"
              ]
            },
            "default": [
              "himalayas",
              "remoteok",
              "weworkremotely",
              "workingnomads",
              "arbeitnow"
            ]
          },
          "maxResultsPerSearch": {
            "title": "Max jobs per keyword and board",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum jobs saved per keyword and job board. 0 = no limit.",
            "default": 100
          },
          "matchIn": {
            "title": "Match keywords in",
            "enum": [
              "title",
              "titleAndTags",
              "everywhere"
            ],
            "type": "string",
            "description": "Where the keyword words must appear.",
            "default": "titleAndTags"
          },
          "countries": {
            "title": "Candidate countries",
            "type": "array",
            "description": "Only jobs open to candidates in these countries (names or ISO codes, e.g. Germany, US, Bosnia and Herzegovina). Himalayas filters on the server; other boards are matched on their location text. Leave empty for all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeWorldwide": {
            "title": "Include 'worldwide / anywhere' jobs",
            "type": "boolean",
            "description": "With a country filter, also keep jobs open worldwide.",
            "default": true
          },
          "employmentType": {
            "title": "Employment type",
            "type": "array",
            "description": "Only these types. Jobs without a type on the board are kept.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract / freelance",
                "Internship"
              ]
            },
            "default": []
          },
          "seniority": {
            "title": "Seniority (Himalayas)",
            "type": "array",
            "description": "Seniority filter, applied by Himalayas.",
            "items": {
              "type": "string",
              "enum": [
                "entry",
                "mid",
                "senior",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Entry-level",
                "Mid-level",
                "Senior",
                "Manager",
                "Director",
                "Executive"
              ]
            },
            "default": []
          },
          "publishedWithinDays": {
            "title": "Published within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs posted in the last N days. 0 = any time.",
            "default": 0
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs that publish a salary range (mostly Himalayas and Remote OK).",
            "default": false
          },
          "includeDescription": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Adds the full description as plain text. Same price either way.",
            "default": true
          },
          "dedupeAcrossSources": {
            "title": "Remove cross-board duplicates",
            "type": "boolean",
            "description": "The same job is often posted on several boards. Keep only the first copy (same title + company). Duplicates are free.",
            "default": true
          },
          "arbeitnowRemoteOnly": {
            "title": "Arbeitnow: remote jobs only",
            "type": "boolean",
            "description": "Arbeitnow also lists on-site jobs in Germany. Keep only remote ones.",
            "default": true
          },
          "arbeitnowPages": {
            "title": "Arbeitnow: pages to read",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Arbeitnow has no search; the newest pages are read and filtered (about 300 jobs per page).",
            "default": 2
          },
          "onlyNewJobs": {
            "title": "Only new jobs (monitoring)",
            "type": "boolean",
            "description": "Return only jobs not returned by previous runs with the same state key. Ideal for daily schedules. The first run returns everything.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the monitoring state. Use different keys for different schedules.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed normally.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}