{
  "openapi": "3.0.1",
  "info": {
    "title": "Jobs.ie Scraper",
    "description": "Scrape job listings from Jobs.ie (Ireland) by keyword, location, contract type, and salary. Get titles, employers, locations, salaries, full descriptions, and incremental change monitoring. Export as JSON, CSV, or Excel.",
    "version": "1.0",
    "x-build-id": "OIPYE5qC00vYw0ybC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~jobs-ie-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-jobs-ie-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/parsebird~jobs-ie-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-jobs-ie-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/parsebird~jobs-ie-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-jobs-ie-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": "Public Jobs.ie search URLs (for example `https://www.jobs.ie/jobs/software-developer/in-dublin`) or single-job URLs (`https://www.jobs.ie/job/.../...jobNNNNNN`). When set, these take precedence over the keyword and filters below.",
            "items": {
              "type": "string"
            }
          },
          "query": {
            "title": "Search keyword",
            "type": "string",
            "description": "Job title, role, or skill to search for on Jobs.ie, for example `software developer`, `accountant`, or `warehouse operative`. Required unless Start URLs is set."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, county, or province in Ireland, for example `Dublin`, `Cork`, `County Galway`, or `Munster`."
          },
          "jobType": {
            "title": "Contract type",
            "enum": [
              "any",
              "permanent",
              "contract",
              "temporary",
              "part-time",
              "work-from-home"
            ],
            "type": "string",
            "description": "Restrict results to one contract type.",
            "default": "any"
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "date",
              "salary_desc",
              "salary_asc"
            ],
            "type": "string",
            "description": "Order results are returned in.",
            "default": "relevance"
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "0",
              "1",
              "3",
              "7",
              "14"
            ],
            "type": "string",
            "description": "Only return jobs posted within this window.",
            "default": "0"
          },
          "companyType": {
            "title": "Advertiser type",
            "enum": [
              "any",
              "agency",
              "direct"
            ],
            "type": "string",
            "description": "Filter by who posted the job.",
            "default": "any"
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum salary to filter by, in euro. Combine with the salary period below (for example 40000 per year, or 20 per hour)."
          },
          "salaryPeriod": {
            "title": "Salary period",
            "enum": [
              "annual",
              "daily",
              "hourly"
            ],
            "type": "string",
            "description": "The period the minimum salary applies to.",
            "default": "annual"
          },
          "radius": {
            "title": "Search radius (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Search radius around the location in kilometres. Only applies when a location is set. 0 uses the Jobs.ie default."
          },
          "includeDetails": {
            "title": "Fetch full job descriptions",
            "type": "boolean",
            "description": "Open each job page to add the full description (HTML and text), employment type, industry, geo-coordinates, and valid-through date. Slower and more requests — leave off for a fast listing-only run.",
            "default": false
          },
          "compact": {
            "title": "Compact output",
            "type": "boolean",
            "description": "Return only core fields (title, company, location, salary, URL, dates, change type) — ideal for alerts, LLMs, and MCP data sources.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of jobs to return. This is the number of billed rows. Start small and raise it after checking the search.",
            "default": 50
          },
          "maxPagesPerSearch": {
            "title": "Max search pages",
            "minimum": 1,
            "type": "integer",
            "description": "Safety limit on how many result pages to page through per search (25 jobs per page).",
            "default": 40
          },
          "incrementalMode": {
            "title": "Incremental / monitoring mode",
            "type": "boolean",
            "description": "Compare this run against previous runs with the same state key and return only jobs that are new, updated, or reappeared. The first run records a baseline.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "A stable name that separates one watchlist or schedule from another.",
            "default": "default"
          },
          "emitUnchanged": {
            "title": "Include unchanged jobs",
            "type": "boolean",
            "description": "Also return jobs whose tracked content did not change since the last run.",
            "default": false
          },
          "emitExpired": {
            "title": "Include expired jobs",
            "type": "boolean",
            "description": "Also return a record for jobs that were present before but have now disappeared from the search.",
            "default": false
          },
          "skipReposts": {
            "title": "Skip detected reposts",
            "type": "boolean",
            "description": "Drop new listings that match the tracked content of a previously expired job.",
            "default": false
          },
          "notificationWebhookUrl": {
            "title": "Notification webhook URL",
            "type": "string",
            "description": "Optional HTTPS endpoint that receives a compact JSON summary after a monitoring run."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Jobs.ie rate-limits by IP and blocks most datacenter ranges, so Irish residential routing is preset. Change it only for an account-specific setup.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "IE"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}