{
  "openapi": "3.0.1",
  "info": {
    "title": "InfoJobs Scraper — Spain Job Offers & Salaries, No Phones",
    "description": "Spanish job offers from InfoJobs: title, company, town and province, salary min/max, contract, working day, remote, full ad text, applications, experience and studies asked. No phones or names.",
    "version": "0.1",
    "x-build-id": "2JcLXMsoWvljkwaII"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/highbrow_fame~infojobs-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-highbrow_fame-infojobs-jobs",
        "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/highbrow_fame~infojobs-jobs/runs": {
      "post": {
        "operationId": "runs-sync-highbrow_fame-infojobs-jobs",
        "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/highbrow_fame~infojobs-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-highbrow_fame-infojobs-jobs",
        "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": {
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Search on infojobs.net with all the filters you want and paste the address of the results page (…/jobsearch/search-results/list.xhtml?keyword=… or …/ofertas-trabajo/…). One per line.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Or search here without a link: job titles or words, as on InfoJobs (camarero, enfermera, programador java). Each keyword is searched in each place below; without places, in all of Spain. The filters below apply.",
            "items": {
              "type": "string"
            }
          },
          "places": {
            "title": "Places",
            "type": "array",
            "description": "Spanish provinces or towns as InfoJobs writes them: Madrid (the province), Madrid ciudad (the city), Sevilla, Móstoles, Vizcaya/Bizkaia. Without keywords, every job in the place.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional, for keywords and places.",
            "items": {
              "type": "string",
              "enum": [
                "10",
                "20",
                "30",
                "40",
                "50",
                "60",
                "70",
                "80",
                "90",
                "100",
                "110",
                "120",
                "130",
                "140",
                "150",
                "160",
                "170",
                "180",
                "190",
                "200",
                "210"
              ],
              "enumTitles": [
                "Business administration",
                "Public administration",
                "Quality, production and R&D",
                "Purchasing, logistics and warehouse",
                "Design and graphic arts",
                "Education and training",
                "Finance and banking",
                "Engineers and technicians",
                "Real estate and construction",
                "Legal",
                "Marketing and communication",
                "Trades, arts and crafts",
                "Human resources",
                "Healthcare",
                "IT and telecommunications",
                "Tourism and hospitality",
                "Customer service",
                "Other",
                "Sales",
                "Retail",
                "Pharmaceutical"
              ]
            }
          },
          "contractTypes": {
            "title": "Contract type",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional, for keywords and places.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "8",
                "9",
                "3",
                "4",
                "6",
                "10",
                "5"
              ],
              "enumTitles": [
                "Permanent (indefinido)",
                "Fixed-term (duración determinada)",
                "Seasonal permanent (fijo discontinuo)",
                "Training (formativo)",
                "Part-time contract",
                "Relief (de relevo)",
                "Self-employed (autónomo)",
                "Other"
              ]
            }
          },
          "workdays": {
            "title": "Working day",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional, for keywords and places.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10"
              ],
              "enumTitles": [
                "Full time",
                "Part time — morning",
                "Part time — afternoon",
                "Part time — night",
                "Part time — any",
                "Intensive — morning",
                "Intensive — afternoon",
                "Intensive — night",
                "Intensive — any",
                "Any"
              ]
            }
          },
          "teleworking": {
            "title": "Remote work",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional, for keywords and places.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "3",
                "2",
                "4"
              ],
              "enumTitles": [
                "On site",
                "Hybrid",
                "Remote only",
                "Not specified"
              ]
            }
          },
          "education": {
            "title": "Minimum studies",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional, for keywords and places: jobs that ask for any of these.",
            "items": {
              "type": "string",
              "enum": [
                "10",
                "20",
                "50",
                "30",
                "35",
                "55",
                "60",
                "110",
                "120",
                "125",
                "130",
                "140",
                "143",
                "147",
                "150",
                "23",
                "27",
                "160",
                "170"
              ],
              "enumTitles": [
                "No studies",
                "Compulsory secondary (ESO)",
                "Bachillerato",
                "Vocational, intermediate (FP Grado Medio)",
                "Vocational, intermediate (Ciclo Formativo Grado Medio)",
                "Vocational, higher (FP Grado Superior)",
                "Vocational, higher (Ciclo Formativo Grado Superior)",
                "Diplomatura",
                "Technical engineering",
                "Bachelor's degree (Grado)",
                "Engineering (Superior)",
                "Licenciatura",
                "Postgraduate",
                "Master's",
                "Doctorate",
                "Arts studies (regladas)",
                "Sports studies (regladas)",
                "Other titles, certificates and licences",
                "Other courses"
              ]
            }
          },
          "minSalary": {
            "title": "Minimum salary (EUR, gross)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional, for keywords and places: only jobs that state a salary whose top reaches this amount (InfoJobs converts month and hour salaries to a year)."
          },
          "salaryPeriod": {
            "title": "Minimum salary is per",
            "enum": [
              "year",
              "month",
              "hour"
            ],
            "type": "string",
            "description": "For the minimum salary above.",
            "default": "year"
          },
          "experienceFrom": {
            "title": "Experience asked — from (years)",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "10"
            ],
            "type": "string",
            "description": "Optional, for keywords and places: jobs that ask for at least this much experience."
          },
          "experienceTo": {
            "title": "Experience asked — up to (years)",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "10"
            ],
            "type": "string",
            "description": "Optional, for keywords and places: jobs that ask for at most this much experience (None = no experience needed)."
          },
          "postedWithin": {
            "title": "Published within",
            "enum": [
              "any",
              "24h",
              "7d",
              "15d"
            ],
            "type": "string",
            "description": "For keywords and places.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "default",
              "newest",
              "relevance"
            ],
            "type": "string",
            "description": "For keywords and places. InfoJobs sorts keyword searches by relevance and the rest newest first.",
            "default": "default"
          },
          "executiveOnly": {
            "title": "Executive jobs only",
            "type": "boolean",
            "description": "For keywords and places: only InfoJobs' executive segment.",
            "default": false
          },
          "maxListingsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stops each search after this many jobs.",
            "default": 200
          },
          "includeDetails": {
            "title": "Add the job page's details",
            "type": "boolean",
            "description": "Adds the number of applications, province and postcode, category, minimum experience and studies, requirements, languages, skills, level, vacancies and benefits. One small extra request per job.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches to work on at the same time.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Every request goes through this proxy. Spanish residential IPs by default: InfoJobs turns busy datacenter IPs away as bots.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "ES"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}