{
  "openapi": "3.0.1",
  "info": {
    "title": "Guardian Jobs Search Scraper",
    "description": "Scrape job listings from Guardian Jobs (jobs.theguardian.com), the UK job board from The Guardian newspaper. Extract job titles, companies, locations, salary ranges, job types, and descriptions for UK recruitment intelligence.",
    "version": "2.1",
    "x-build-id": "oZYjvSeJzG06S3NKF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jobsapi~guardian-jobs-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jobsapi-guardian-jobs-search-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/jobsapi~guardian-jobs-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-jobsapi-guardian-jobs-search-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/jobsapi~guardian-jobs-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-jobsapi-guardian-jobs-search-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": "Mode",
            "enum": [
              "search",
              "searchMultiple",
              "single",
              "multiple",
              "startUrls"
            ],
            "type": "string",
            "description": "Search, multiple query search, one detail, multiple details, or official start URLs.",
            "default": "search"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Job title, skill, or keyword for search mode.",
            "default": "software engineer"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Optional Guardian Jobs location text.",
            "default": "London"
          },
          "radiusMiles": {
            "title": "Location radius (miles)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum miles around the selected Guardian Jobs location.",
            "default": 30
          },
          "queries": {
            "title": "Search queries",
            "type": "array",
            "description": "Query strings or objects such as { query, location } for searchMultiple mode."
          },
          "searchQueries": {
            "title": "Search query objects",
            "type": "array",
            "description": "Alias for queries; each entry may contain query and location."
          },
          "jobUrl": {
            "title": "Single job URL",
            "type": "string",
            "description": "Absolute official URL such as https://jobs.theguardian.com/job/10176024/example/."
          },
          "url": {
            "title": "Single URL alias",
            "type": "string",
            "description": "Alias for jobUrl in single mode."
          },
          "jobUrls": {
            "title": "Job URLs",
            "type": "array",
            "description": "Absolute official Guardian Jobs detail URLs for multiple mode."
          },
          "urls": {
            "title": "URL alias list",
            "type": "array",
            "description": "Alias for jobUrls."
          },
          "jobIds": {
            "title": "Guardian job IDs",
            "type": "array",
            "description": "Numeric public IDs for multiple mode."
          },
          "startUrls": {
            "title": "Official start URLs",
            "type": "array",
            "description": "Official Guardian Jobs search or detail URLs."
          },
          "maxItems": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum complete detail-verified records to emit.",
            "default": 3
          },
          "maxCandidates": {
            "title": "Maximum candidates",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum public listing candidates to enrich.",
            "default": 12
          },
          "maxPages": {
            "title": "Maximum search pages",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Maximum result pages to inspect for each search.",
            "default": 1
          },
          "maxRequests": {
            "title": "Maximum browser navigations",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum bounded official browser navigations for the run.",
            "default": 24
          },
          "includeRawData": {
            "title": "Include raw JobPosting JSON-LD",
            "type": "boolean",
            "description": "Include the original structured JobPosting payload in each dataset row.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}