{
  "openapi": "3.0.1",
  "info": {
    "title": "We Work Remotely Jobs Scraper",
    "description": "[💰 $1.00 / 1K] Extract remote job listings from We Work Remotely. Filter by keyword, category, region, employment type and recency. Get titles, companies, every region a role is open to, salary bands, exact posting times, full descriptions and listing URLs.",
    "version": "1.0",
    "x-build-id": "eIq0472qmeaEh84L2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~weworkremotely-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-weworkremotely-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/solidcode~weworkremotely-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-weworkremotely-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/solidcode~weworkremotely-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-weworkremotely-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": {
          "searchQuery": {
            "title": "Search Keyword",
            "type": "string",
            "description": "Free-text keyword such as 'python', 'designer', or 'marketing manager'. Matches anywhere in the posting - job title, company name and the full job description - not just the headline. The keyword has to appear as a whole word, so 'java' won't return JavaScript jobs, while plurals still match ('designer' finds 'designers'). It also narrows any pages you paste into Direct URLs. Leave empty for no keyword filter."
          },
          "categories": {
            "title": "Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Pick one or more job categories. Leave empty to include all categories.",
            "items": {
              "type": "string",
              "enum": [
                "remote-full-stack-programming-jobs",
                "remote-front-end-programming-jobs",
                "remote-back-end-programming-jobs",
                "remote-software-developer-jobs",
                "remote-design-jobs",
                "remote-devops-sysadmin-jobs",
                "remote-management-and-finance-jobs",
                "remote-product-jobs",
                "remote-customer-support-jobs",
                "remote-sales-and-marketing-jobs",
                "all-other-remote-jobs"
              ],
              "enumTitles": [
                "Full-Stack Programming",
                "Front-End Programming",
                "Back-End Programming",
                "Software Developer (general)",
                "Design",
                "DevOps & Sysadmin",
                "Management & Finance",
                "Product",
                "Customer Support",
                "Sales & Marketing",
                "All Other Remote Jobs"
              ]
            },
            "default": []
          },
          "region": {
            "title": "Region",
            "enum": [
              "",
              "anywhere",
              "usa",
              "americas",
              "emea",
              "apac"
            ],
            "type": "string",
            "description": "Geographic eligibility filter. Jobs open to anywhere in the world are kept by every preset, since they are eligible everywhere. Leave on 'Any' for no region filter.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment Type",
            "enum": [
              "",
              "full_time",
              "contract"
            ],
            "type": "string",
            "description": "Filter by employment type. Leave on 'Any' for both.",
            "default": ""
          },
          "postedWithin": {
            "title": "Posted Within",
            "enum": [
              "",
              "1",
              "3",
              "7",
              "30"
            ],
            "type": "string",
            "description": "Only show jobs posted within this time window.",
            "default": ""
          },
          "startUrls": {
            "title": "Direct We Work Remotely URLs",
            "type": "array",
            "description": "Optional. Paste full We Work Remotely search or category URLs (e.g., https://weworkremotely.com/categories/remote-design-jobs) to choose which pages are read - this replaces the Categories dropdown and the built-in search. The Search Keyword, region, employment-type and posted-within filters still apply to the jobs found on those pages.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of jobs to collect across all categories/URLs in this run. Set to 0 for no cap.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include Full Descriptions",
            "type": "boolean",
            "description": "On by default. Fetches the full description, the parsed salary amount and the company website from each listing's own page. Turn it off for faster, cheaper light scans - descriptionHtml, descriptionText, the salary amount fields and companyWebsite are then left empty. Everything else, including the exact posting time, the card salary band, region, the listing's chips and most logos, comes back either way. With descriptions on, categories also gains the job's category label and any named skills the employer listed.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}