{
  "openapi": "3.0.1",
  "info": {
    "title": "Reed.co.uk Jobs Scraper — UK Salaries & Full Descriptions",
    "description": "Scrape Reed.co.uk jobs with full descriptions, normalised UK salaries (yearly figures for hourly and daily pay), town, county, region and postcode, sector, occupation, skills and employer. Filter by keyword, location, salary, job type, remote, specialism, date.",
    "version": "0.1",
    "x-build-id": "5iP1pWFGZxU6aR9zn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/teodor_banea~reed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-teodor_banea-reed-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/teodor_banea~reed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-teodor_banea-reed-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/teodor_banea~reed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-teodor_banea-reed-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": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "search",
              "jobUrls",
              "searchUrls"
            ],
            "type": "string",
            "description": "Choose \"Search jobs\" to search by keywords, location and filters, \"Job URLs\" for specific job pages, or \"Search URLs\" to page through Reed search pages you set up on the site.",
            "default": "search"
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Enter keywords as you would type them in Reed's search box (job title, skill, company), e.g. \"python developer\", \"care assistant\". Leave empty to list every job matching the location and filters."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Enter a UK town, county, region or postcode (district \"SW1A\" or full \"SW1A 1AA\"), e.g. \"London\", \"Manchester\", \"Kent\". Leave empty for the whole UK."
          },
          "distanceMiles": {
            "title": "Distance from location",
            "enum": [
              "0",
              "1",
              "3",
              "5",
              "10",
              "15",
              "20",
              "30",
              "50"
            ],
            "type": "string",
            "description": "Choose how far from the location jobs may be. Only used together with a location.",
            "default": "10"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 0,
            "maximum": 150000,
            "type": "integer",
            "description": "Enter how many jobs to return. 0 = all matching jobs (capped at 10,000 when no keyword, location or filter is set). Searches with more than 10,000 matches are split by specialism automatically, because Reed itself shows at most 10,000 jobs per search.",
            "default": 100
          },
          "salaryFrom": {
            "title": "Minimum salary",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Keep jobs paying at least this much per year: Reed matches a job when the top of its pay range reaches this value. Reed compares its yearly figure, so hourly and daily rates are matched too (hourly x 1,950, daily x 260). Jobs that hide their pay (\"Competitive salary\") are matched on the range the employer gave Reed."
          },
          "salaryTo": {
            "title": "Maximum salary",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Keep jobs paying at most this much per year (Reed's yearly figure, as for the minimum)."
          },
          "jobTypes": {
            "title": "Job types",
            "type": "array",
            "description": "Keep jobs with any of these contract types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "permanent",
                "contract",
                "temporary"
              ],
              "enumTitles": [
                "Permanent",
                "Contract",
                "Temporary"
              ]
            }
          },
          "workingHours": {
            "title": "Working hours",
            "type": "array",
            "description": "Keep full-time and / or part-time jobs. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "fullTime",
                "partTime"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time"
              ]
            }
          },
          "workingOption": {
            "title": "Remote / on-site",
            "enum": [
              "any",
              "onSite",
              "hybrid",
              "remote"
            ],
            "type": "string",
            "description": "Keep on-site, hybrid or remote jobs. Reed's search takes one value at a time: run once per option to combine them.",
            "default": "any"
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "anytime",
              "today",
              "lastthreedays",
              "lastweek",
              "lasttwoweeks"
            ],
            "type": "string",
            "description": "Keep jobs posted (or re-posted) in this period.",
            "default": "anytime"
          },
          "specialisms": {
            "title": "Specialisms",
            "type": "array",
            "description": "Keep jobs in any of these Reed specialisms (sectors). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "2",
                "100",
                "3",
                "1964",
                "5",
                "500",
                "146",
                "66",
                "68",
                "1961",
                "12",
                "1962",
                "117",
                "1722",
                "16",
                "169",
                "36",
                "6",
                "24",
                "52",
                "101",
                "92",
                "168",
                "18",
                "71",
                "1700",
                "21",
                "27",
                "338",
                "90",
                "30",
                "89",
                "1963",
                "34",
                "1755",
                "1909",
                "11"
              ],
              "enumTitles": [
                "Accountancy",
                "Accountancy (Qualified)",
                "Admin, Secretarial & PA",
                "Apprenticeships",
                "Banking",
                "Charity & Voluntary",
                "Construction & Property",
                "Customer Service",
                "Education",
                "Energy",
                "Engineering",
                "Estate Agency",
                "Financial Services",
                "FMCG",
                "General Insurance",
                "Graduate Training & Internships",
                "Health & Medicine",
                "Hospitality & Catering",
                "Human Resources",
                "IT & Telecoms",
                "Legal",
                "Leisure & Tourism",
                "Manufacturing",
                "Marketing & PR",
                "Media, Digital & Creative",
                "Motoring & Automotive",
                "Other",
                "Purchasing",
                "Recruitment Consultancy",
                "Retail",
                "Sales",
                "Scientific",
                "Security & Safety",
                "Social Care",
                "Strategy & Consultancy",
                "Training",
                "Transport & Logistics"
              ]
            }
          },
          "postedBy": {
            "title": "Posted by",
            "enum": [
              "any",
              "agency",
              "employer"
            ],
            "type": "string",
            "description": "Keep jobs posted by recruitment agencies, or by employers directly.",
            "default": "any"
          },
          "onlyWithSalary": {
            "title": "Only jobs that show a salary",
            "type": "boolean",
            "description": "Leave out jobs without a published salary.",
            "default": false
          },
          "hideTrainingCourses": {
            "title": "Hide training courses",
            "type": "boolean",
            "description": "Leave out course adverts that Reed lists among the jobs (\"training jobs\": for a \"python\" search about a third of the results). Turn off to get them too.",
            "default": true
          },
          "graduateOnly": {
            "title": "Only graduate jobs",
            "type": "boolean",
            "description": "Keep jobs Reed marks as suitable for graduates.",
            "default": false
          },
          "visaSponsorshipOnly": {
            "title": "Only jobs offering visa sponsorship",
            "type": "boolean",
            "description": "Keep jobs whose employer offers UK visa sponsorship (only a few dozen jobs across the UK).",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Only Easy Apply jobs",
            "type": "boolean",
            "description": "Keep jobs that take a one-click application on Reed.",
            "default": false
          },
          "jobUrls": {
            "title": "Job URLs or ids (Job URLs mode)",
            "type": "array",
            "description": "Enter Reed job page URLs (https://www.reed.co.uk/jobs/<title>/<job id>) or bare job ids, one per line. Expired jobs are listed in ERRORS.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search URLs (Search URLs mode)",
            "type": "array",
            "description": "Enter Reed job search page URLs, e.g. https://www.reed.co.uk/jobs/nurse-jobs-in-leeds?salaryFrom=30000. Set up the search on reed.co.uk and paste its address; every page of results is read. At most 10,000 jobs per URL (Reed's limit).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "includeDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Open every job page for the full description, skills, sector, structured location (town, county, region, postcode district), recruiter type, graduate flag and Reed's exact yearly salary (one extra request per job). Turn off for lighter, faster rows from the search results: title, employer, town, county, salary, contract, working option, summary and dates stay.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}