{
  "openapi": "3.0.1",
  "info": {
    "title": "Remote Jobs API: Remote Jobs from Company Career Sites",
    "description": "Remote-only jobs straight from employer career sites (Greenhouse, Lever, Ashby, Workday, Workable and more), not job-board reposts. Fully remote vs remote-optional vs hybrid, eligible countries, regions and time zones, seniority, category, dedupe and only-new mode.",
    "version": "0.1",
    "x-build-id": "lG3MEyoqNb3dusQZ2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steady-scrape~remote-jobs-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steady-scrape-remote-jobs-api",
        "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/steady-scrape~remote-jobs-api/runs": {
      "post": {
        "operationId": "runs-sync-steady-scrape-remote-jobs-api",
        "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/steady-scrape~remote-jobs-api/run-sync": {
      "post": {
        "operationId": "run-sync-steady-scrape-remote-jobs-api",
        "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": "Job title/department keywords or phrases (any match). Leave empty for all remote jobs. Matched as whole words, e.g. 'software engineer', 'devops', 'customer success'.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Skip jobs whose title contains any of these.",
            "items": {
              "type": "string"
            }
          },
          "remoteTypes": {
            "title": "Remote types",
            "type": "array",
            "description": "FULLY_REMOTE = remote job; REMOTE_OPTIONAL = remote possible but the posting also lists offices or says remote-friendly/flexible; HYBRID = some days in an office.",
            "items": {
              "type": "string",
              "enum": [
                "FULLY_REMOTE",
                "REMOTE_OPTIONAL",
                "HYBRID"
              ],
              "enumTitles": [
                "Fully remote",
                "Remote optional / remote-friendly",
                "Hybrid"
              ]
            },
            "default": [
              "FULLY_REMOTE",
              "REMOTE_OPTIONAL"
            ]
          },
          "minConfidence": {
            "title": "Minimum confidence",
            "enum": [
              "low",
              "medium",
              "high"
            ],
            "type": "string",
            "description": "high = the ATS remote flag and the location text agree; medium = one clear signal (ATS remote flag, or 'Remote' in the location or title); low = conflicting signals (e.g. ATS says on-site but the title says remote).",
            "default": "medium"
          },
          "workerCountries": {
            "title": "Worker countries",
            "type": "array",
            "description": "Only jobs open to workers in these countries. ISO codes or names (US, GB, Germany, 'EU' for all EU members). Worldwide and matching-region jobs are included.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Only jobs open to workers in these regions (e.g. 'EMEA', 'Europe', 'LATAM' postings, or any country inside the region).",
            "items": {
              "type": "string",
              "enum": [
                "North America",
                "Latin America",
                "Europe",
                "Middle East & Africa",
                "Asia Pacific"
              ]
            }
          },
          "includeUnspecifiedEligibility": {
            "title": "Include jobs with unspecified eligibility",
            "type": "boolean",
            "description": "Many postings just say 'Remote' without saying where. When a country, region or time-zone filter is set, include those too (check the description).",
            "default": false
          },
          "workerTimezone": {
            "title": "Your time zone",
            "type": "string",
            "description": "Only jobs whose eligible countries/regions/stated hours overlap your time zone. Offset like 'UTC-6', '+5:30', or an IANA zone like 'America/Costa_Rica'."
          },
          "maxTimezoneDiffHours": {
            "title": "Max time-zone difference (hours)",
            "minimum": 0,
            "maximum": 12,
            "type": "integer",
            "description": "How far (in hours) the job's time-zone range may be from yours.",
            "default": 3
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs posted (or first seen by us) in the last N days."
          },
          "jobCategories": {
            "title": "Job categories",
            "type": "array",
            "description": "Only these categories (derived from title and department).",
            "items": {
              "type": "string",
              "enum": [
                "Product",
                "Data & AI",
                "Engineering",
                "IT & Security",
                "Design",
                "Sales",
                "Marketing",
                "Customer Success & Support",
                "Finance & Accounting",
                "People & HR",
                "Legal & Compliance",
                "Healthcare",
                "Education",
                "Operations",
                "Writing & Content",
                "Other"
              ]
            }
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Only these seniority levels (derived from the title).",
            "items": {
              "type": "string",
              "enum": [
                "INTERN",
                "ENTRY",
                "MID",
                "SENIOR",
                "LEAD",
                "MANAGER",
                "DIRECTOR",
                "EXECUTIVE"
              ],
              "enumTitles": [
                "Intern",
                "Entry / junior",
                "Mid",
                "Senior",
                "Lead / staff / principal",
                "Manager",
                "Director / head of",
                "VP / C-level"
              ]
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "Only jobs whose department contains any of these (as reported by the employer).",
            "items": {
              "type": "string"
            }
          },
          "employmentTypes": {
            "title": "Employment types",
            "type": "array",
            "description": "Only these employment types (when the board states one).",
            "items": {
              "type": "string",
              "enum": [
                "FULL_TIME",
                "PART_TIME",
                "CONTRACT",
                "TEMPORARY",
                "INTERN",
                "OTHER"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship",
                "Other"
              ]
            }
          },
          "salaryOnly": {
            "title": "Only jobs with salary",
            "type": "boolean",
            "description": "Only jobs where the posting states a salary.",
            "default": false
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Only these companies (name or board slug, partial match).",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Skip these companies (e.g. staffing agencies).",
            "items": {
              "type": "string"
            }
          },
          "platforms": {
            "title": "ATS platforms",
            "type": "array",
            "description": "Only these ATS platforms. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workday",
                "bamboohr",
                "workable",
                "recruitee",
                "personio",
                "rippling",
                "teamtailor",
                "breezy",
                "gem",
                "oraclehcm"
              ]
            }
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Maximum jobs to return, newest first.",
            "default": 100
          },
          "includeDescriptions": {
            "title": "Include full descriptions (slower)",
            "type": "boolean",
            "description": "Fetch each job's live description from the career site. Also refines the remote classification with description cues (hybrid schedules, 'must be located in…', working hours) and drops jobs that have closed.",
            "default": false
          },
          "dedupe": {
            "title": "Merge duplicate postings",
            "type": "boolean",
            "description": "Merge the same role posted by the same company in several locations into one result (all locations and job IDs are kept).",
            "default": true
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "For scheduled runs: return only jobs not returned by an earlier run with the same filters (or the same state key).",
            "default": false
          },
          "firstRunEmitsAll": {
            "title": "First run returns current jobs",
            "type": "boolean",
            "description": "With 'Only new', the first run returns all current matches. Turn off to just record a baseline (no results, no charge) so later runs only alert on new jobs.",
            "default": true
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Optional name for the 'only new' memory. Defaults to a hash of the filters."
          },
          "stateStoreName": {
            "title": "State store name",
            "type": "string",
            "description": "Named key-value store that keeps the 'only new' memory in your account.",
            "default": "remote-jobs-api-state"
          },
          "maxConcurrency": {
            "title": "Description fetch concurrency",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "Parallel career-site requests when fetching descriptions.",
            "default": 8
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}