{
  "openapi": "3.0.1",
  "info": {
    "title": "Reed Jobs Scraper (UK)",
    "description": "Scrape reed.co.uk job searches and job ads, with every job a search announces: each search is read in one call (no jobs lost between pages) and searches over Reed's 10,000 limit are split. Salary as shown, company, location, dates, full ad, skills, sector. Pay per job.",
    "version": "0.1",
    "x-build-id": "cMwkaA212PS41uVuE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hexagone-data~reed-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hexagone-data-reed-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/hexagone-data~reed-scraper/runs": {
      "post": {
        "operationId": "runs-sync-hexagone-data-reed-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/hexagone-data~reed-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-hexagone-data-reed-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Reed search results URLs exactly as your browser shows them, filters included (e.g. https://www.reed.co.uk/jobs/nurse-jobs-in-london, https://www.reed.co.uk/jobs/it-jobs-in-london?sectorIds=52&workingOption=remote&salaryFrom=50000), or job URLs (https://www.reed.co.uk/jobs/<title>/<id>). The site itself reads the URL, location and filters. When set, keyword and its filters are ignored.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "keyword": {
            "title": "Keyword (if no start URL)",
            "type": "string",
            "description": "Job search keywords, e.g. nurse, software developer."
          },
          "location": {
            "title": "Location (keyword mode)",
            "type": "string",
            "description": "Town, county or postcode as you would type it on reed.co.uk, e.g. London, Manchester, SW1A 1AA. Reed resolves it exactly as on the website (an ambiguous name like 'Newport' may be read as another place: the run summary says so). 'Remote' becomes the remote-work filter, as on the site."
          },
          "distanceMiles": {
            "title": "Distance in miles (keyword mode)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "0, 1, 3, 5, 10, 15, 20, 30 or 50, like the site. Empty = 10 (site default)."
          },
          "contractTypes": {
            "title": "Contract types (keyword mode)",
            "type": "array",
            "description": "Any of: perm, temp, contract. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "fullTime": {
            "title": "Full-time only (keyword mode)",
            "type": "boolean",
            "description": "Only full-time jobs."
          },
          "partTime": {
            "title": "Part-time only (keyword mode)",
            "type": "boolean",
            "description": "Only part-time jobs."
          },
          "workingOption": {
            "title": "Work location (keyword mode)",
            "enum": [
              "onSite",
              "hybrid",
              "remote"
            ],
            "type": "string",
            "description": "On-site, hybrid or remote. Empty = all."
          },
          "salaryFrom": {
            "title": "Minimum salary (keyword mode)",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs paying at least this, in GBP (site filter)."
          },
          "salaryTo": {
            "title": "Maximum salary (keyword mode)",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs paying at most this, in GBP (site filter)."
          },
          "datePosted": {
            "title": "Date posted (keyword mode)",
            "enum": [
              "today",
              "lastthreedays",
              "lastweek",
              "lasttwoweeks"
            ],
            "type": "string",
            "description": "Empty = any time."
          },
          "postedBy": {
            "title": "Posted by (keyword mode)",
            "enum": [
              "agency",
              "employer"
            ],
            "type": "string",
            "description": "Empty = all."
          },
          "easyApplyOnly": {
            "title": "Easy Apply only (keyword mode)",
            "type": "boolean",
            "description": "Only jobs with Easy Apply."
          },
          "graduate": {
            "title": "Graduate jobs only (keyword mode)",
            "type": "boolean",
            "description": "Only graduate jobs."
          },
          "visaSponsorship": {
            "title": "Visa sponsorship only (keyword mode)",
            "type": "boolean",
            "description": "Only jobs offering visa sponsorship."
          },
          "hideTrainingJobs": {
            "title": "Hide training courses (keyword mode)",
            "type": "boolean",
            "description": "Hide paid training courses listed as jobs."
          },
          "maxItems": {
            "title": "Maximum number of jobs",
            "minimum": 0,
            "type": "integer",
            "description": "Stops after this many unique jobs across all start URLs. 0 = no limit. You pay per delivered job.",
            "default": 500
          },
          "includeDetails": {
            "title": "Include job details",
            "type": "boolean",
            "description": "On by default and included in the price: each delivered job's details are read once (Reed's own job API): full ad (HTML and text), skills, sector, breadcrumbs, town, county, region, country, postcode, salary per annum, recruiter reference and type, external apply, live or expired. Turn off for a faster run with search fields only (same price).",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default. About a third of datacenter IPs are refused by Reed (measured 2026-10-30): a refused request is retried with a new IP, up to 5 times, then the run switches to Apify residential proxy (Great Britain). Choosing your own proxy groups or URLs turns this fallback off.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}