{
  "description": "Scrape public Handshake jobs by keyword, role, city, or URL, plus public employer profiles with industry, size and reviews.",
  "properties": {
    "companyFilter": {
      "default": "",
      "description": "Keep jobs whose employer name contains this text.",
      "editor": "textfield",
      "prefill": "",
      "title": "Company contains",
      "type": "string"
    },
    "employerQuery": {
      "default": "",
      "description": "Keep employers whose name contains this text (mode=employers).",
      "editor": "textfield",
      "prefill": "",
      "title": "Employer contains",
      "type": "string"
    },
    "employmentType": {
      "default": "any",
      "description": "Full-time or part-time filter.",
      "editor": "select",
      "enum": [
        "any",
        "full-time",
        "part-time"
      ],
      "enumTitles": [
        "Any employment type",
        "Full-time",
        "Part-time"
      ],
      "prefill": "any",
      "title": "Employment type",
      "type": "string"
    },
    "includeDescriptions": {
      "default": true,
      "description": "Add the full job description as HTML and plain text.",
      "prefill": false,
      "title": "Include job descriptions",
      "type": "boolean"
    },
    "includeProfiles": {
      "default": true,
      "description": "Fetch about, industry, size, ownership, address and reviews for each employer (mode=employers).",
      "prefill": true,
      "title": "Include employer profiles",
      "type": "boolean"
    },
    "includeReviews": {
      "default": true,
      "description": "Add recent public review cards to employer profiles (mode=employers).",
      "prefill": true,
      "title": "Include employer reviews",
      "type": "boolean"
    },
    "internshipRole": {
      "default": "any",
      "description": "Internship role category from the public /internships/ pages (implies internshipsOnly; mode=searchJobs).",
      "editor": "select",
      "enum": [
        "any",
        "accounting",
        "architecture",
        "business",
        "computer-science",
        "construction-management",
        "consulting",
        "cybersecurity",
        "data-science",
        "electrical-engineering",
        "engineering",
        "finance",
        "graphic-design",
        "human-resources",
        "information-technology",
        "interior-design",
        "legal",
        "marketing",
        "mechanical-engineering",
        "project-management",
        "psychology",
        "public-health",
        "real-estate",
        "sports",
        "supply-chain"
      ],
      "enumTitles": [
        "Any internship role",
        "Accounting",
        "Architecture",
        "Business",
        "Computer Science",
        "Construction Management",
        "Consulting",
        "Cybersecurity",
        "Data Science",
        "Electrical Engineering",
        "Engineering",
        "Finance",
        "Graphic Design",
        "HR",
        "IT",
        "Interior Design",
        "Legal",
        "Marketing",
        "Mechanical Engineering",
        "Project Management",
        "Psychology",
        "Public Health",
        "Real Estate",
        "Sports",
        "Supply Chain"
      ],
      "prefill": "any",
      "title": "Internship role",
      "type": "string"
    },
    "internshipsOnly": {
      "default": false,
      "description": "Keep jobs whose title or description mentions an internship or co-op.",
      "prefill": false,
      "title": "Internships & co-ops only",
      "type": "boolean"
    },
    "jobIds": {
      "default": [],
      "description": "Handshake numeric job IDs (mode=byJobUrls).",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Job IDs",
      "type": "array"
    },
    "jobRole": {
      "default": "any",
      "description": "Handshake role category used for discovery (mode=searchJobs/bySearchUrls).",
      "editor": "select",
      "enum": [
        "any",
        "accounting",
        "administrative-support",
        "business-consulting",
        "childcare",
        "civil-engineering",
        "clinical-research-coordinator",
        "construction-management",
        "customer-service",
        "customer-success",
        "data-analytics",
        "early-career-programs",
        "education-administration",
        "electrical-engineering",
        "engineering",
        "facilities-maintenance",
        "finance",
        "food-service",
        "graphic-design",
        "healthcare-management",
        "higher-education-faculty",
        "home-health",
        "human-resources",
        "insurance",
        "legal",
        "marketing",
        "mechanical-engineering",
        "medical",
        "medical-assistant",
        "medical-lab",
        "medical-scribe",
        "mental-health-counseling",
        "nurse-practitioner",
        "nursing",
        "operations",
        "pharmacist",
        "pharmacy",
        "physician",
        "physician-assistant",
        "product-management",
        "psychiatric-technician",
        "public-health",
        "public-policy",
        "real-estate",
        "registered-nurse",
        "religious-work",
        "retail",
        "sales",
        "science-research",
        "security-public-safety",
        "social-work",
        "software-engineering",
        "special-education",
        "sports-recreation",
        "student-research",
        "supply-chain",
        "teaching",
        "teaching-assistants",
        "therapy-rehab",
        "translation",
        "travel",
        "tutoring",
        "web-it"
      ],
      "enumTitles": [
        "Any role",
        "Accounting",
        "Administrative Support",
        "Business and Consulting",
        "Childcare",
        "Civil Engineering",
        "Clinical Research Coordinator",
        "Construction Management",
        "Customer Service",
        "Customer Success",
        "Data Analytics",
        "Early Career Programs",
        "Education Administration and Student Support",
        "Electrical Engineering",
        "Engineering",
        "Facilities and Maintenance",
        "Finance",
        "Food Service",
        "Graphic Design",
        "Healthcare Management",
        "Higher Education Faculty",
        "Home Health",
        "Human Resources",
        "Insurance",
        "Legal",
        "Marketing",
        "Mechanical Engineering",
        "Medical",
        "Medical Assistant",
        "Medical Lab and Diagnostics",
        "Medical Scribe",
        "Mental Health and Counseling",
        "Nurse Practitioner",
        "Nursing",
        "Operations",
        "Pharmacist",
        "Pharmacy",
        "Physician",
        "Physician Assistant",
        "Product Management",
        "Psychiatric Technician",
        "Public Health",
        "Public Policy",
        "Real Estate",
        "Registered Nurse",
        "Religious Work",
        "Retail",
        "Sales",
        "Science Research",
        "Security and Public Safety",
        "Social Work",
        "Software Engineering",
        "Special Education",
        "Sports and Recreation",
        "Research Assistant and Student Research",
        "Supply Chain",
        "Teaching",
        "Teaching Assistants",
        "Therapy and Rehabilitation",
        "Translation and Interpretation",
        "Travel",
        "Tutoring",
        "Web and IT"
      ],
      "prefill": "software-engineering",
      "title": "Role",
      "type": "string"
    },
    "jobUrls": {
      "default": [],
      "description": "Public Handshake job or share-preview URLs (mode=byJobUrls).",
      "editor": "requestListSources",
      "items": {
        "properties": {
          "url": {
            "description": "Public URL",
            "title": "URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "prefill": [],
      "title": "Job URLs",
      "type": "array"
    },
    "location": {
      "default": "any",
      "description": "City with a published Handshake jobs page (mode=searchJobs/bySearchUrls).",
      "editor": "select",
      "enum": [
        "any",
        "akron-oh",
        "albany-ny",
        "anchorage-ak",
        "atlanta-ga",
        "augusta-ga",
        "austin-tx",
        "bakersfield-ca",
        "baltimore-md",
        "baton-rouge-la",
        "bend-or",
        "birmingham-al",
        "boise-id",
        "boston-ma",
        "buffalo-ny",
        "chapel-hill-nc",
        "charleston-sc",
        "charlotte-nc",
        "chattanooga-tn",
        "chicago-il",
        "cincinnati-oh",
        "cleveland-oh",
        "colorado-springs-co",
        "columbus-oh",
        "corvallis-or",
        "dallas-tx",
        "dayton-oh",
        "denver-co",
        "detroit-mi",
        "fairbanks-ak",
        "fort-worth-tx",
        "fresno-ca",
        "grand-rapids-mi",
        "green-bay-wi",
        "greenville-sc",
        "greenwood-sc",
        "harrisburg-pa",
        "hartford-ct",
        "houston-tx",
        "indianapolis-in",
        "irvine-ca",
        "jacksonville-fl",
        "kansas-city-mo",
        "killeen-tx",
        "knoxville-tn",
        "las-vegas-nv",
        "los-angeles-ca",
        "louisville-ky",
        "memphis-tn",
        "miami-fl",
        "milwaukee-wi",
        "minneapolis-mn",
        "monterey-ca",
        "naperville-il",
        "nashville-tn",
        "new-orleans-la",
        "new-york-ny",
        "newark-de",
        "odessa-tx",
        "oklahoma-city-ok",
        "omaha-ne",
        "orlando-fl",
        "philadelphia-pa",
        "phoenix-az",
        "pittsburgh-pa",
        "portland-me",
        "portland-or",
        "providence-ri",
        "provo-ut",
        "raleigh-nc",
        "reno-nv",
        "richmond-va",
        "riverside-ca",
        "rochester-ny",
        "sacramento-ca",
        "salt-lake-city-ut",
        "san-antonio-tx",
        "san-diego-ca",
        "san-francisco-ca",
        "san-jose-ca",
        "sarasota-fl",
        "savannah-ga",
        "seattle-wa",
        "st-louis-mo",
        "statesboro-ga",
        "stony-brook-ny",
        "tacoma-wa",
        "tampa-fl",
        "toledo-oh",
        "traverse-city-mi",
        "tucson-az",
        "virginia-beach-va",
        "washington-dc",
        "west-palm-beach-fl",
        "worcester-ma"
      ],
      "enumTitles": [
        "Any city",
        "Akron, OH",
        "Albany, NY",
        "Anchorage, AK",
        "Atlanta, GA",
        "Augusta, GA",
        "Austin, TX",
        "Bakersfield, CA",
        "Baltimore, MD",
        "Baton Rouge, LA",
        "Bend, OR",
        "Birmingham, AL",
        "Boise, ID",
        "Boston, MA",
        "Buffalo, NY",
        "Chapel Hill, NC",
        "Charleston, SC",
        "Charlotte, NC",
        "Chattanooga, TN",
        "Chicago, IL",
        "Cincinnati, OH",
        "Cleveland, OH",
        "Colorado Springs, CO",
        "Columbus, OH",
        "Corvallis, OR",
        "Dallas, TX",
        "Dayton, OH",
        "Denver, CO",
        "Detroit, MI",
        "Fairbanks, AK",
        "Fort Worth, TX",
        "Fresno, CA",
        "Grand Rapids, MI",
        "Green Bay, WI",
        "Greenville, SC",
        "Greenwood, SC",
        "Harrisburg, PA",
        "Hartford, CT",
        "Houston, TX",
        "Indianapolis, IN",
        "Irvine, CA",
        "Jacksonville, FL",
        "Kansas City, MO",
        "Killeen, TX",
        "Knoxville, TN",
        "Las Vegas, NV",
        "Los Angeles, CA",
        "Louisville, KY",
        "Memphis, TN",
        "Miami, FL",
        "Milwaukee, WI",
        "Minneapolis, MN",
        "Monterey, CA",
        "Naperville, IL",
        "Nashville, TN",
        "New Orleans, LA",
        "New York, NY",
        "Newark, DE",
        "Odessa, TX",
        "Oklahoma City, OK",
        "Omaha, NE",
        "Orlando, FL",
        "Philadelphia, PA",
        "Phoenix, AZ",
        "Pittsburgh, PA",
        "Portland, ME",
        "Portland, OR",
        "Providence, RI",
        "Provo, UT",
        "Raleigh, NC",
        "Reno, NV",
        "Richmond, VA",
        "Riverside, CA",
        "Rochester, NY",
        "Sacramento, CA",
        "Salt Lake City, UT",
        "San Antonio, TX",
        "San Diego, CA",
        "San Francisco, CA",
        "San Jose, CA",
        "Sarasota, FL",
        "Savannah, GA",
        "Seattle, WA",
        "St Louis, MO",
        "Statesboro, GA",
        "Stony Brook, NY",
        "Tacoma, WA",
        "Tampa, FL",
        "Toledo, OH",
        "Traverse City, MI",
        "Tucson, AZ",
        "Virginia Beach, VA",
        "Washington, DC",
        "West Palm Beach, FL",
        "Worcester, MA"
      ],
      "prefill": "any",
      "title": "City",
      "type": "string"
    },
    "maxEmployers": {
      "default": 100,
      "description": "Maximum employer records to return (mode=employers).",
      "maximum": 50000,
      "minimum": 1,
      "prefill": 1,
      "title": "Max employers",
      "type": "integer"
    },
    "maxItems": {
      "default": 50,
      "description": "Maximum job records to return.",
      "maximum": 1000,
      "minimum": 1,
      "prefill": 1,
      "title": "Max jobs",
      "type": "integer"
    },
    "maxReviewsPerEmployer": {
      "default": 5,
      "description": "Maximum recent public reviews to keep per employer profile (mode=employers, includeReviews=true).",
      "maximum": 100,
      "minimum": 1,
      "prefill": 1,
      "title": "Max reviews per employer",
      "type": "integer"
    },
    "minSalary": {
      "description": "Keep jobs whose published maximum pay is at least this amount. Compare with the pay period selected below.",
      "maximum": 1000000,
      "minimum": 0,
      "title": "Minimum salary",
      "type": "integer"
    },
    "mode": {
      "default": "searchJobs",
      "description": "What to scrape.",
      "editor": "select",
      "enum": [
        "searchJobs",
        "byJobUrls",
        "bySearchUrls",
        "bySitemap",
        "employers",
        "internships",
        "companyListings"
      ],
      "enumTitles": [
        "Search public jobs",
        "Look up job URLs or IDs",
        "Scrape find-jobs search URLs",
        "Scan the public jobs sitemap",
        "Scrape employer showcase",
        "Legacy: internships (maps to searchJobs + internshipsOnly)",
        "Legacy: company listings (maps to employers)"
      ],
      "prefill": "searchJobs",
      "title": "Mode",
      "type": "string"
    },
    "onlyNewJobs": {
      "default": false,
      "description": "Return only job IDs not seen in previous runs (mode=searchJobs/bySearchUrls/bySitemap).",
      "prefill": false,
      "title": "Only new jobs",
      "type": "boolean"
    },
    "postedWithinDays": {
      "description": "Keep jobs posted in the last N days (1-365). Leave empty for any date.",
      "maximum": 365,
      "minimum": 1,
      "title": "Posted within days",
      "type": "integer"
    },
    "resetMonitoringState": {
      "default": false,
      "description": "Clear the saved seen-job list before this run.",
      "prefill": false,
      "title": "Reset seen-job state",
      "type": "boolean"
    },
    "salaryPeriod": {
      "default": "any",
      "description": "Restrict to jobs with pay published per year, month or hour.",
      "editor": "select",
      "enum": [
        "any",
        "year",
        "month",
        "hour"
      ],
      "enumTitles": [
        "Any pay period",
        "Per year",
        "Per month",
        "Per hour"
      ],
      "prefill": "any",
      "title": "Pay period",
      "type": "string"
    },
    "searchQuery": {
      "default": "",
      "description": "Words matched against job titles and descriptions (mode=searchJobs/bySearchUrls). Leave empty to browse.",
      "editor": "textfield",
      "prefill": "",
      "title": "Keyword",
      "type": "string"
    },
    "searchUrls": {
      "default": [],
      "description": "Public joinhandshake.com/find-jobs/ or /internships/ listing URLs (mode=bySearchUrls).",
      "editor": "requestListSources",
      "items": {
        "properties": {
          "url": {
            "description": "Public URL",
            "title": "URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "prefill": [],
      "title": "Search URLs",
      "type": "array"
    },
    "workplace": {
      "default": "any",
      "description": "Remote, hybrid or on-site filter.",
      "editor": "select",
      "enum": [
        "any",
        "remote",
        "hybrid",
        "on-site"
      ],
      "enumTitles": [
        "Any workplace",
        "Remote only",
        "Hybrid only",
        "On-site only"
      ],
      "prefill": "any",
      "title": "Workplace",
      "type": "string"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Handshake Campus Jobs & Employer Showcase Input",
  "type": "object"
}
