{
  "openapi": "3.0.1",
  "info": {
    "title": "InfoJobs Jobs Scraper",
    "description": "Scrape InfoJobs.net jobs in Spain by keyword and province: title, company, salary as numbers, contract type, working hours, remote policy, full description and apply link. All InfoJobs filters and alerts.",
    "version": "0.1",
    "x-build-id": "J9FKJvBSdE2WhisZn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/robertosan16~infojobs-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-robertosan16-infojobs-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/robertosan16~infojobs-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-robertosan16-infojobs-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/robertosan16~infojobs-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-robertosan16-infojobs-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": {
          "searchQueries": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What to search, in Spanish or English, for example <code>python</code>, <code>enfermera</code> or <code>camarero</code>. Each line is a separate search with the filters below. You can also paste links of searches from infojobs.net.",
            "items": {
              "type": "string"
            }
          },
          "provinces": {
            "title": "Provinces",
            "type": "array",
            "description": "Leave empty for all of Spain.",
            "items": {
              "type": "string",
              "enum": [
                "28",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10",
                "11",
                "12",
                "13",
                "14",
                "15",
                "16",
                "17",
                "18",
                "19",
                "21",
                "22",
                "23",
                "24",
                "25",
                "26",
                "27",
                "29",
                "20",
                "30",
                "31",
                "32",
                "33",
                "34",
                "35",
                "36",
                "37",
                "38",
                "39",
                "40",
                "41",
                "46",
                "42",
                "43",
                "44",
                "45",
                "47",
                "48",
                "49",
                "50",
                "51",
                "52",
                "53"
              ],
              "enumTitles": [
                "A Coruña",
                "Álava/Araba",
                "Albacete",
                "Alicante/Alacant",
                "Almería",
                "Asturias",
                "Ávila",
                "Badajoz",
                "Barcelona",
                "Burgos",
                "Cáceres",
                "Cádiz",
                "Cantabria",
                "Castellón/Castelló",
                "Ceuta",
                "Ciudad Real",
                "Córdoba",
                "Cuenca",
                "Girona",
                "Granada",
                "Guadalajara",
                "Guipúzcoa/Gipuzkoa",
                "Huelva",
                "Huesca",
                "Islas Baleares/Illes Balears",
                "Jaén",
                "La Rioja",
                "Las Palmas",
                "León",
                "Lleida",
                "Lugo",
                "Madrid",
                "Málaga",
                "Melilla",
                "Murcia",
                "Navarra",
                "Ourense",
                "Palencia",
                "Pontevedra",
                "Salamanca",
                "Santa Cruz de Tenerife",
                "Segovia",
                "Sevilla",
                "Soria",
                "Tarragona",
                "Teruel",
                "Toledo",
                "Valencia/València",
                "Valladolid",
                "Vizcaya/Bizkaia",
                "Zamora",
                "Zaragoza"
              ]
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Job categories as on InfoJobs. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "10",
                "170",
                "50",
                "60",
                "80",
                "70",
                "140",
                "130",
                "150",
                "100",
                "110",
                "180",
                "210",
                "20",
                "40",
                "30",
                "90",
                "200",
                "190",
                "160",
                "120"
              ],
              "enumTitles": [
                "Business administration",
                "Customer service",
                "Design and graphic arts",
                "Education and training",
                "Engineers and technicians",
                "Finance and banking",
                "Healthcare",
                "Human resources",
                "IT and telecoms",
                "Legal",
                "Marketing and communication",
                "Other",
                "Pharmaceutical",
                "Public administration",
                "Purchasing, logistics and warehouse",
                "Quality, production and R&D",
                "Real estate and construction",
                "Retail",
                "Sales",
                "Tourism and hospitality",
                "Trades, arts and crafts"
              ]
            }
          },
          "teleworking": {
            "title": "Remote policy",
            "type": "array",
            "description": "On-site, hybrid or remote only. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3"
              ],
              "enumTitles": [
                "On-site",
                "Remote only",
                "Hybrid"
              ]
            }
          },
          "contractTypes": {
            "title": "Contract type",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "3",
                "4",
                "5",
                "6",
                "8",
                "9",
                "10"
              ],
              "enumTitles": [
                "Permanent",
                "Training",
                "Part-time contract",
                "Other",
                "Relief (de relevo)",
                "Fixed-term",
                "Seasonal permanent (fijo discontinuo)",
                "Self-employed"
              ]
            }
          },
          "workdays": {
            "title": "Working hours",
            "type": "array",
            "description": "Full day, intensive (continuous) or part-time days. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10"
              ],
              "enumTitles": [
                "Full day",
                "Part-time, morning",
                "Part-time, afternoon",
                "Part-time, night",
                "Part-time, any time",
                "Intensive, morning",
                "Intensive, afternoon",
                "Intensive, night",
                "Intensive, any time",
                "Any"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted in the last days",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs posted in the last N days: 1 means today and yesterday. Leave empty or 0 for any date."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "PUBLICATION_DATE",
              "RELEVANCE"
            ],
            "type": "string",
            "description": "Newest first suits job alerts. Links you paste keep their own order.",
            "default": "PUBLICATION_DATE"
          },
          "excludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Skip jobs whose title contains any of these, for example <code>intern</code> or <code>senior</code>. Common word endings are included.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title must contain",
            "type": "array",
            "description": "Keep only jobs whose title contains any of these words or phrases. InfoJobs searches descriptions too, so this makes results stricter. Add <code>*</code> for any ending: <code>data*</code>.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs that state a pay range or rate.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new jobs since the last run",
            "type": "boolean",
            "description": "For scheduled runs: save only jobs that were not seen in earlier runs of the same saved task. The first run saves all current jobs and remembers them. Jobs that did not match your filters are remembered too.",
            "default": false
          },
          "includeDescription": {
            "title": "Include job descriptions",
            "type": "boolean",
            "description": "Save the full job description as plain text and HTML. Turn off for smaller results.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum jobs in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after saving this many jobs. Leave empty or 0 for no limit. The example is kept small so the first run takes seconds."
          },
          "maxItemsPerCompany": {
            "title": "Maximum jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Save at most this many jobs from each search. Leave empty or 0 for no limit."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The Actor connects directly, which is fastest. If InfoJobs starts limiting requests, it switches to Apify Proxy automatically. Turn on a proxy here only to use it from the start.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}