{
  "openapi": "3.0.1",
  "info": {
    "title": "TargetJobs Graduate Jobs Scraper",
    "description": "Scrape TargetJobs UK graduate jobs, schemes, internships and placements by keyword, role type, city, sector and employer: salary, application deadline, start date, apply link and full description. gradireland too. Only-new mode. Export to JSON, CSV or Excel, or via API.",
    "version": "1.0",
    "x-build-id": "ELY1XwjUeRXxXaJ9a"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steadyscrape~targetjobs-graduate-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steadyscrape-targetjobs-graduate-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/steadyscrape~targetjobs-graduate-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-steadyscrape-targetjobs-graduate-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/steadyscrape~targetjobs-graduate-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-steadyscrape-targetjobs-graduate-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": {
          "site": {
            "title": "Job board",
            "enum": [
              "targetjobs",
              "gradireland"
            ],
            "type": "string",
            "description": "TargetJobs (targetjobs.co.uk, UK graduate jobs) or gradireland (gradireland.com, the Irish board on the same platform). Pasted links are read on the board they belong to.",
            "default": "targetjobs"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Job titles, skills or employers, e.g. <code>software engineer</code>, <code>data analyst</code>, <code>audit</code>, <code>law</code>. Each keyword is one search, with every filter below. Leave empty to list all open opportunities that match the filters.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keywordMatch": {
            "title": "Keyword matching",
            "enum": [
              "phrase",
              "any-word"
            ],
            "type": "string",
            "description": "Exact phrase (<code>software engineer</code>: 290 open opportunities) or any of its words, as the site's own search box matches (1,924: everything with \"software\" or \"engineer\", most relevant first).",
            "default": "phrase"
          },
          "roleTypes": {
            "title": "Role types",
            "type": "array",
            "description": "Leave empty for every type. TargetJobs files graduate schemes as Graduate job; gradireland lists them apart.",
            "items": {
              "type": "string",
              "enum": [
                "graduate-job",
                "graduate-scheme",
                "internship",
                "placement",
                "insight-programme",
                "vacation-scheme",
                "work-experience",
                "training",
                "law-training-contract",
                "law-pupillage",
                "postgraduate-study",
                "casual-work"
              ],
              "enumTitles": [
                "Graduate job",
                "Graduate scheme (gradireland)",
                "Internship",
                "Placement (year in industry)",
                "Insight programme",
                "Vacation scheme",
                "Work experience",
                "Training (incl. degree apprenticeships)",
                "Law training contract",
                "Law pupillage",
                "Postgraduate study",
                "Casual work"
              ]
            },
            "default": []
          },
          "locations": {
            "title": "Cities",
            "type": "array",
            "description": "Leave empty for every place. Cities as the site lists them: <code>London</code>, <code>Manchester</code>, <code>Bristol</code>, <code>Edinburgh</code>, <code>Belfast</code>; <code>Dublin</code>, <code>Cork</code> on gradireland. Case and accents do not matter. A city the site does not list gives a free row with close names.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Sectors",
            "type": "array",
            "description": "Leave empty for every sector. As the site names them: <code>Accounting &amp; finance</code>, <code>Technology</code>, <code>Engineering</code>, <code>Law</code>, <code>Consulting</code>, or a narrower one such as <code>Software engineering</code>, <code>Tax</code>, <code>Actuarial</code>.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "employers": {
            "title": "Employers",
            "type": "array",
            "description": "Only these employers' opportunities, as the site names them: <code>Deloitte</code>, <code>EY</code>, <code>Lloyds Banking Group</code>, <code>BAE Systems</code>.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "TargetJobs or gradireland list links",
            "type": "array",
            "description": "Lists copied from either site, read with their own filters: a list page such as <code>https://targetjobs.co.uk/graduate-jobs/london</code> or <code>https://targetjobs.co.uk/internships</code>, or the search page with its filters, such as <code>https://targetjobs.co.uk/search/jobs?search=data%20analyst&amp;opportunity_type=Internship</code>. One job's page is not taken.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only opportunities the site published in the last days. Combine with a schedule and Only new jobs for a daily feed.",
            "default": "any"
          },
          "minSalary": {
            "title": "Minimum salary (published figure)",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs whose published salary figure reaches this amount (in the job's currency). The site publishes figures without a period: graduate jobs give yearly pay, but some vacation schemes and placements give weekly pay (550, 750), which a yearly minimum leaves out. Jobs without figures are left out when this is set."
          },
          "onlyWithSalary": {
            "title": "Only jobs with published salary figures",
            "type": "boolean",
            "description": "Leave out jobs that publish no salary figure.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "deadline",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first, closing soonest first (jobs with a rolling deadline last), or most relevant to the keyword first.",
            "default": "newest"
          },
          "includeDetails": {
            "title": "Include job details",
            "type": "boolean",
            "description": "Open each job's page for the finer role type (graduate scheme), work arrangement (in person, hybrid, remote), degree requirements and subjects, benefits, every start date, the day applications open, the day the listing ends, office addresses, and the employer's type, size and sectors. Charged as job-with-details instead of job.",
            "default": true
          },
          "maxJobsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each search (each keyword, and each link) after this many jobs. 0 means every job it lists.",
            "default": 100
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run",
            "type": "boolean",
            "description": "Deliver, and charge, only jobs that an earlier run with the same searches and filters has not delivered. Made for scheduled runs.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}