{
  "openapi": "3.0.1",
  "info": {
    "title": "Working Nomads Jobs Scraper",
    "description": "[💰 $4 / 1K] Extract remote jobs from Working Nomads — title, company, category, tags, location, posting date, description, and apply URL. Filter across 15 categories, keywords, location, and recency.",
    "version": "1.0",
    "x-build-id": "dQ3uNszftIfqSDxZU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~workingnomads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-workingnomads-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~workingnomads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-workingnomads-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~workingnomads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-workingnomads-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": {
          "categories": {
            "title": "Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter jobs by category. Leave empty to include every category. Pick one or more.",
            "items": {
              "type": "string",
              "enum": [
                "Administration",
                "Consulting",
                "Customer Success",
                "Development",
                "Design",
                "Education",
                "Finance",
                "Healthcare",
                "Human Resources",
                "Legal",
                "Management",
                "Marketing",
                "Sales",
                "System Administration",
                "Writing"
              ],
              "enumTitles": [
                "Administration",
                "Consulting",
                "Customer Success",
                "Development",
                "Design",
                "Education",
                "Finance",
                "Healthcare",
                "Human Resources",
                "Legal",
                "Management",
                "Marketing",
                "Sales",
                "System Administration",
                "Writing"
              ]
            }
          },
          "searchTerms": {
            "title": "Search Keywords",
            "type": "array",
            "description": "Free-text keywords such as 'python', 'react', or 'senior'. Add several to widen the search: a job is kept if ANY one of them appears in its title, skill tags, company, or description. Results come back best-match first, so jobs with the keyword in the title or skill tags lead. Leave empty to skip keyword filtering.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "array",
            "description": "Filter by country, region, or time zone — for example 'USA', 'Europe', 'Latin America', 'Anywhere', or 'CET'. Capitalization doesn't matter and everyday variants work too ('us', 'united kingdom', 'LATAM', 'Czech Republic'). Working Nomads groups jobs by country or region rather than by city, so 'Berlin' won't match — use 'Germany'. A job is kept if any of these matches its location, and anything unrecognized is reported in the run log. Leave empty to include all locations.",
            "items": {
              "type": "string"
            }
          },
          "positionType": {
            "title": "Job Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by employment type. Leave empty to include all types.",
            "items": {
              "type": "string",
              "enum": [
                "ft",
                "fr",
                "pt"
              ],
              "enumTitles": [
                "Full-time",
                "Freelance / Contract",
                "Part-time"
              ]
            }
          },
          "experienceLevel": {
            "title": "Experience Level",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by seniority. Leave empty to include all experience levels.",
            "items": {
              "type": "string",
              "enum": [
                "ENTRY_LEVEL",
                "MID_LEVEL",
                "SENIOR_LEVEL"
              ],
              "enumTitles": [
                "Entry-level",
                "Mid-level",
                "Senior"
              ]
            }
          },
          "minSalaryUsd": {
            "title": "Minimum Salary (USD/year)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include jobs whose listed annual salary is at least this amount, in US dollars. Note: about half of jobs list a salary — setting this excludes jobs with no published salary. Set to 0 for no salary filter."
          },
          "postedWithinDays": {
            "title": "Posted Within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include jobs posted within the last N days. Set to 0 to include jobs of any age.",
            "default": 0
          },
          "startUrls": {
            "title": "Working Nomads URLs (optional)",
            "type": "array",
            "description": "Advanced: paste Working Nomads category, tag, or search URLs (e.g. https://www.workingnomads.com/remote-development-jobs). Their filters are applied on top of the options above. Most users can leave this empty and just use the filters.",
            "items": {
              "type": "string"
            }
          },
          "includeDescription": {
            "title": "Include Full Description",
            "type": "boolean",
            "description": "Include the full job description text for each result. Turn off for smaller, faster output when you only need title, company, salary, tags, location, and apply URL.",
            "default": true
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of jobs to save. 0 returns every matching job; negative values fall back to the default.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}