{
  "openapi": "3.0.1",
  "info": {
    "title": "InfoJobs Spain Job Scraper",
    "description": "Scrape job listings from InfoJobs Spain (infojobs.net). Extract job titles, descriptions, company details, salary, location, and more. Perfect for job market analysis, recruitment research, and tracking employment opportunities in Spain.",
    "version": "1.0",
    "x-build-id": "1PQD42dxvqswSp9cf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapeai~infojobs-job-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapeai-infojobs-job-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/scrapeai~infojobs-job-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapeai-infojobs-job-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/scrapeai~infojobs-job-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapeai-infojobs-job-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": "Scraping Mode",
            "enum": [
              "search",
              "jobUrl"
            ],
            "type": "string",
            "description": "Search by keyword or scrape specific job URLs",
            "default": "search"
          },
          "keywords": {
            "title": "Job Keywords",
            "type": "string",
            "description": "Job title or keywords in Spanish or English (e.g. 'desarrollador Java', 'marketing digital', 'enfermera')"
          },
          "province": {
            "title": "Province / City",
            "type": "string",
            "description": "Province or city in Spain (e.g. 'Madrid', 'Barcelona', 'Valencia', 'Sevilla'). Leave empty for all Spain."
          },
          "contractType": {
            "title": "Contract Type",
            "enum": [
              "",
              "1",
              "2",
              "19",
              "13"
            ],
            "type": "string",
            "description": "Filter by contract type",
            "default": ""
          },
          "workDay": {
            "title": "Work Day",
            "enum": [
              "",
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "Filter by work schedule type",
            "default": ""
          },
          "experience": {
            "title": "Experience Level",
            "enum": [
              "",
              "0",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Minimum years of experience required",
            "default": ""
          },
          "salaryMin": {
            "title": "Minimum Salary (EUR/year)",
            "minimum": 0,
            "type": "integer",
            "description": "Filter by minimum annual salary in EUR"
          },
          "salaryMax": {
            "title": "Maximum Salary (EUR/year)",
            "minimum": 0,
            "type": "integer",
            "description": "Filter by maximum annual salary in EUR"
          },
          "datePosted": {
            "title": "Posted In Last N Days",
            "type": "integer",
            "description": "Show only jobs posted in the last N days (0 = any date)",
            "default": 0
          },
          "telework": {
            "title": "Remote Work Policy",
            "enum": [
              "",
              "remote",
              "hybrid",
              "onsite"
            ],
            "type": "string",
            "description": "Filter by remote/hybrid work options",
            "default": ""
          },
          "category": {
            "title": "Job Category",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Filter by job category",
            "default": ""
          },
          "subcategory": {
            "title": "Job Subcategory",
            "type": "string",
            "description": "Filter by specific subcategory (e.g. Programming, Data Science)"
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "relevance",
              "recent",
              "salary"
            ],
            "type": "string",
            "description": "Order results by relevance or posting date",
            "default": "relevance"
          },
          "startUrls": {
            "title": "Job URLs",
            "type": "array",
            "description": "Direct InfoJobs job listing URLs. Used when mode is 'jobUrl'.",
            "items": {
              "type": "string"
            }
          },
          "scrapeDetails": {
            "title": "Scrape Full Detail Pages",
            "type": "boolean",
            "description": "If enabled, visits each job detail page for deep live data (full description, requirements, experience, education)",
            "default": false
          },
          "maxJobs": {
            "title": "Maximum Jobs",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of job listings to extract",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Spanish residential proxy recommended for best results."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}