{
  "openapi": "3.0.1",
  "info": {
    "title": "Indeed Flex Shift Monitor: US & UK Pay Rates and Shift Alerts",
    "description": "Pull live shift listings from Indeed Flex US and UK with real hourly pay ranges (min, max, currency, unit), role, sector, city, employment type, and shift pattern. Get JSON or CSV output, filter by role/sector/city, and turn on monitor mode for new-shift alerts. $0.00088/listing.",
    "version": "0.1",
    "x-build-id": "TazNXnZIdowCeoW1I"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~indeed-flex-shift-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-indeed-flex-shift-monitor",
        "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/getascraper~indeed-flex-shift-monitor/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-indeed-flex-shift-monitor",
        "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/getascraper~indeed-flex-shift-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-indeed-flex-shift-monitor",
        "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": {
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Which Indeed Flex site(s) to read shift listings from. US reads indeedflex.com, UK reads indeedflex.co.uk. Leave both selected to combine listings from both countries into one dataset.",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "UK"
              ],
              "enumTitles": [
                "United States (indeedflex.com)",
                "United Kingdom (indeedflex.co.uk)"
              ]
            },
            "default": [
              "US",
              "UK"
            ]
          },
          "jobRole": {
            "title": "Job roles",
            "type": "array",
            "description": "Only return listings for these job roles, for example Warehouse Operative or Barista. Available roles differ by country and are matched by name at runtime against each site's own role list. Leave empty to return every role.",
            "items": {
              "type": "string",
              "enum": [
                "Assembler",
                "Warehouse Operative",
                "Picker Packer",
                "Warehouse Clerk",
                "Forklift Driver",
                "Machine Operator",
                "Material Handler",
                "Loader / Crew",
                "Industrial General Labor",
                "Industrial Team Lead",
                "Repair Technician",
                "FM General Labor",
                "Merchandiser",
                "Retail Sales Associate",
                "Sales Assistant",
                "Cashier",
                "Stocktaker",
                "Replenishment Assistant",
                "Online Order Assistant",
                "Host",
                "Server",
                "Waiting Staff",
                "Bartender",
                "Bar Back",
                "Barista",
                "Busser",
                "Line Cook",
                "Prep Cook",
                "Sous Chef",
                "Lead Chef",
                "Head Chef",
                "Chef de Partie",
                "Commis Chef",
                "Kitchen Hand",
                "Kitchen Porter",
                "Dishwasher",
                "Catering Assistant",
                "Food Prep Assistant",
                "Food Production Operative",
                "Event Staff",
                "Festival Staff",
                "Steward",
                "Concession Stand Worker",
                "Hospitality Team lead",
                "Hospitality General Labor",
                "Hotel Receptionist",
                "Housekeeper",
                "Housekeeping",
                "Porter",
                "Facilities Porter",
                "Cleaner",
                "Cleaning Supervisor",
                "Recycling Operative",
                "Facilities Manager",
                "FM Team Leader",
                "Security Officer",
                "Front Desk Attendant",
                "Call Centre Agent",
                "Customer Service Representative",
                "Administrative Assistant",
                "Administrator",
                "Data Entry Specialist",
                "Human Resources Generalist",
                "Lead Generation Specialist",
                "Brand Ambassador",
                "Brand Activator",
                "AI Headset Tester",
                "Care Assistant",
                "Support Worker",
                "Home Delivery Driver",
                "Delivery Driver",
                "Loader/Driver",
                "General Staff"
              ],
              "enumTitles": [
                "Assembler",
                "Warehouse Operative",
                "Picker Packer",
                "Warehouse Clerk",
                "Forklift Driver",
                "Machine Operator",
                "Material Handler",
                "Loader / Crew",
                "Industrial General Labor",
                "Industrial Team Lead",
                "Repair Technician",
                "FM General Labor",
                "Merchandiser",
                "Retail Sales Associate",
                "Sales Assistant",
                "Cashier",
                "Stocktaker",
                "Replenishment Assistant",
                "Online Order Assistant",
                "Host",
                "Server",
                "Waiting Staff",
                "Bartender",
                "Bar Back",
                "Barista",
                "Busser",
                "Line Cook",
                "Prep Cook",
                "Sous Chef",
                "Lead Chef",
                "Head Chef",
                "Chef de Partie",
                "Commis Chef",
                "Kitchen Hand",
                "Kitchen Porter",
                "Dishwasher",
                "Catering Assistant",
                "Food Prep Assistant",
                "Food Production Operative",
                "Event Staff",
                "Festival Staff",
                "Steward",
                "Concession Stand Worker",
                "Hospitality Team Lead",
                "Hospitality General Labor",
                "Hotel Receptionist",
                "Housekeeper",
                "Housekeeping",
                "Porter",
                "Facilities Porter",
                "Cleaner",
                "Cleaning Supervisor",
                "Recycling Operative",
                "Facilities Manager",
                "FM Team Leader",
                "Security Officer",
                "Front Desk Attendant",
                "Call Centre Agent",
                "Customer Service Representative",
                "Administrative Assistant",
                "Administrator",
                "Data Entry Specialist",
                "Human Resources Generalist",
                "Lead Generation Specialist",
                "Brand Ambassador",
                "Brand Activator",
                "AI Headset Tester",
                "Care Assistant",
                "Support Worker",
                "Home Delivery Driver",
                "Delivery Driver",
                "Loader/Driver",
                "General Staff"
              ]
            },
            "default": []
          },
          "sector": {
            "title": "Sectors",
            "type": "array",
            "description": "Only return listings in these business sectors. Sector names are shared across both countries, though the underlying site categories differ slightly (Clerical and Internal are US-only, Healthcare and Business Support are UK-only). Leave empty to return every sector.",
            "items": {
              "type": "string",
              "enum": [
                "Hospitality",
                "Industrial",
                "Retail",
                "Facilities Management",
                "Clerical",
                "Internal",
                "Healthcare",
                "Business Support"
              ],
              "enumTitles": [
                "Hospitality",
                "Industrial",
                "Retail",
                "Facilities Management",
                "Clerical (US)",
                "Internal (US)",
                "Healthcare (UK)",
                "Business Support (UK)"
              ]
            },
            "default": []
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Only return listings in this city, matched case-insensitively against the city name shown on the site, for example Dallas or Edinburgh. Leave empty to return listings from every city.",
            "default": ""
          },
          "includeJsonLdDetails": {
            "title": "Fetch structured pay, address, and employment details",
            "type": "boolean",
            "description": "Fetch each listing's own detail page and read its structured JobPosting data for a real pay range (min, max, currency, per hour or per year), full address (city, region, postal code), employment type, and whether the employer accepts direct applications. This is data no listings feed exposes on its own. Turn off to skip the extra per-listing fetch and return only title, role, sector, city, date posted, and the listing URL, which is faster for a quick census of what is posted.",
            "default": true
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of shift listings to return in this run, combined across all selected countries.",
            "default": 25
          },
          "incrementalMonitorMode": {
            "title": "Incremental monitor mode",
            "type": "boolean",
            "description": "Only return listings that are new or have changed pay, role, or shift details since your last run with the same monitor state name. Pair with an Apify schedule to get alerted as new shifts are posted. Indeed Flex fully refreshes its listings once a day, so a new appearance reliably means the shift was newly posted or reposted since your last run.",
            "default": false
          },
          "monitorStateName": {
            "title": "Monitor state name",
            "type": "string",
            "description": "Name for this run's incremental state, used only when incremental monitor mode is on. Use different names to track separate filter configurations independently.",
            "default": "default"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}