{
  "openapi": "3.0.1",
  "info": {
    "title": "Wellfound Jobs & Startup Company Profile Scraper",
    "description": "Wellfound Jobs Scraper extracts job listings from Wellfound, including job titles, company names, locations, salary ranges, skills, employment types, job descriptions, and application URLs. Ideal for recruitment, job market research, salary analysis, and hiring insights.",
    "version": "0.5",
    "x-build-id": "LeCyvKEQayMrgWhEI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~wellfound-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-wellfound-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/scrapier~wellfound-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-wellfound-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/scrapier~wellfound-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-wellfound-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": {
          "startUrls": {
            "title": "🔗 Wellfound URLs",
            "type": "array",
            "description": "Paste Wellfound search/listing URLs (e.g. https://wellfound.com/location/new-york, https://wellfound.com/role/r/data-scientist) or individual job pages. Overrides the search builder below. Every listing page yields both job rows and company profiles.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "hiringLocation": {
            "title": "📍 Hiring market",
            "type": "string",
            "description": "City or region whose hiring startups you want profiled — e.g. \"New York\", \"San Francisco\", \"London\". Builds https://wellfound.com/location/<slug>. Default is New York.",
            "default": "New York"
          },
          "roleKeyword": {
            "title": "🧑‍💻 Role or tech keyword",
            "type": "string",
            "description": "Narrow the companies to those hiring for a role or stack — e.g. \"machine learning\", \"golang\", \"product designer\". Combined with the hiring market. Leave blank to profile every startup hiring in that market.",
            "default": ""
          },
          "startupName": {
            "title": "🏢 Single startup (optional)",
            "type": "string",
            "description": "Profile one company only. The scraper searches Wellfound for it and keeps the cards whose company name loosely matches. Example: startupName=\"Brex\".",
            "default": ""
          },
          "listingPages": {
            "title": "📄 Listing pages per URL",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many result pages to walk per starting URL. Page 1 of a location page carries ~50 jobs across ~20 distinct startups, so 2 pages ≈ 40 company profiles. Default is 1.",
            "default": 1
          },
          "maxItems": {
            "title": "🎯 Max job rows",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on JOB rows across the whole run — the billed, top-level items. Company rows are children and are never counted against this cap or charged. 0 = no cap. Example: maxItems=25 → up to 25 job rows plus however many companies those 25 jobs belong to.",
            "default": 0
          },
          "includeCompanyRows": {
            "title": "🗂️ Emit company profile rows",
            "type": "boolean",
            "description": "Adds one row per hiring startup (type=\"company\", isChild=true) with its size band, tagline, badge signals and openRolesInRun, and mirrors the same rows into a separate company dataset. Turn off for a jobs-only feed. Default is on.",
            "default": true
          },
          "employmentType": {
            "title": "💼 Employment type",
            "enum": [
              "",
              "FULLTIME",
              "PARTTIME",
              "CONTRACTOR",
              "INTERN"
            ],
            "type": "string",
            "description": "Keep only jobs of this type when deciding which companies count as hiring. Leave as Any to profile every hiring startup.",
            "default": ""
          },
          "postedWithin": {
            "title": "📅 Posted within",
            "enum": [
              "all",
              "today",
              "3days",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Keep only jobs posted inside this window — useful for finding startups that are hiring right now rather than months ago.",
            "default": "all"
          },
          "fetchJobDescriptions": {
            "title": "📝 Full job descriptions",
            "type": "boolean",
            "description": "Wellfound already ships the description inside the listing payload, so this only opens a job page for the rare card that arrives without one. Default is on.",
            "default": true
          },
          "proxyGeoCountry": {
            "title": "🌍 Proxy exit country",
            "enum": [
              "Afghanistan",
              "Albania",
              "Algeria",
              "American Samoa",
              "Andorra",
              "Angola",
              "Anguilla",
              "Antarctica",
              "Antigua and Barbuda",
              "Argentina",
              "Armenia",
              "Aruba",
              "Australia",
              "Austria",
              "Azerbaijan",
              "Bahamas",
              "Bahrain",
              "Bangladesh",
              "Barbados",
              "Belarus",
              "Belgium",
              "Belize",
              "Benin",
              "Bermuda",
              "Bhutan",
              "Bolivia, Plurinational State of",
              "Bonaire, Sint Eustatius and Saba",
              "Bosnia and Herzegovina",
              "Botswana",
              "Bouvet Island",
              "Brazil",
              "British Indian Ocean Territory",
              "Brunei Darussalam",
              "Bulgaria",
              "Burkina Faso",
              "Burundi",
              "Cabo Verde",
              "Cambodia",
              "Cameroon",
              "Canada",
              "Cayman Islands",
              "Central African Republic",
              "Chad",
              "Chile",
              "China",
              "Christmas Island",
              "Cocos (Keeling) Islands",
              "Colombia",
              "Comoros",
              "Congo",
              "Congo, The Democratic Republic of the",
              "Cook Islands",
              "Costa Rica",
              "Croatia",
              "Cuba",
              "Curaçao",
              "Cyprus",
              "Czechia",
              "Côte d'Ivoire",
              "Denmark",
              "Djibouti",
              "Dominica",
              "Dominican Republic",
              "Ecuador",
              "Egypt",
              "El Salvador",
              "Equatorial Guinea",
              "Eritrea",
              "Estonia",
              "Eswatini",
              "Ethiopia",
              "Falkland Islands (Malvinas)",
              "Faroe Islands",
              "Fiji",
              "Finland",
              "France",
              "French Guiana",
              "French Polynesia",
              "French Southern Territories",
              "Gabon",
              "Gambia",
              "Georgia",
              "Germany",
              "Ghana",
              "Gibraltar",
              "Greece",
              "Greenland",
              "Grenada",
              "Guadeloupe",
              "Guam",
              "Guatemala",
              "Guernsey",
              "Guinea",
              "Guinea-Bissau",
              "Guyana",
              "Haiti",
              "Heard Island and McDonald Islands",
              "Holy See (Vatican City State)",
              "Honduras",
              "Hong Kong",
              "Hungary",
              "Iceland",
              "India",
              "Indonesia",
              "Iran, Islamic Republic of",
              "Iraq",
              "Ireland",
              "Isle of Man",
              "Israel",
              "Italy",
              "Jamaica",
              "Japan",
              "Jersey",
              "Jordan",
              "Kazakhstan",
              "Kenya",
              "Kiribati",
              "Korea, Democratic People's Republic of",
              "Korea, Republic of",
              "Kuwait",
              "Kyrgyzstan",
              "Lao People's Democratic Republic",
              "Latvia",
              "Lebanon",
              "Lesotho",
              "Liberia",
              "Libya",
              "Liechtenstein",
              "Lithuania",
              "Luxembourg",
              "Macao",
              "Madagascar",
              "Malawi",
              "Malaysia",
              "Maldives",
              "Mali",
              "Malta",
              "Marshall Islands",
              "Martinique",
              "Mauritania",
              "Mauritius",
              "Mayotte",
              "Mexico",
              "Micronesia, Federated States of",
              "Moldova, Republic of",
              "Monaco",
              "Mongolia",
              "Montenegro",
              "Montserrat",
              "Morocco",
              "Mozambique",
              "Myanmar",
              "Namibia",
              "Nauru",
              "Nepal",
              "Netherlands",
              "New Caledonia",
              "New Zealand",
              "Nicaragua",
              "Niger",
              "Nigeria",
              "Niue",
              "Norfolk Island",
              "North Macedonia",
              "Northern Mariana Islands",
              "Norway",
              "Oman",
              "Pakistan",
              "Palau",
              "Palestine, State of",
              "Panama",
              "Papua New Guinea",
              "Paraguay",
              "Peru",
              "Philippines",
              "Pitcairn",
              "Poland",
              "Portugal",
              "Puerto Rico",
              "Qatar",
              "Romania",
              "Russian Federation",
              "Rwanda",
              "Réunion",
              "Saint Barthélemy",
              "Saint Helena, Ascension and Tristan da Cunha",
              "Saint Kitts and Nevis",
              "Saint Lucia",
              "Saint Martin (French part)",
              "Saint Pierre and Miquelon",
              "Saint Vincent and the Grenadines",
              "Samoa",
              "San Marino",
              "Sao Tome and Principe",
              "Saudi Arabia",
              "Senegal",
              "Serbia",
              "Seychelles",
              "Sierra Leone",
              "Singapore",
              "Sint Maarten (Dutch part)",
              "Slovakia",
              "Slovenia",
              "Solomon Islands",
              "Somalia",
              "South Africa",
              "South Georgia and the South Sandwich Islands",
              "South Sudan",
              "Spain",
              "Sri Lanka",
              "Sudan",
              "Suriname",
              "Svalbard and Jan Mayen",
              "Sweden",
              "Switzerland",
              "Syrian Arab Republic",
              "Taiwan, Province of China",
              "Tajikistan",
              "Tanzania, United Republic of",
              "Thailand",
              "Timor-Leste",
              "Togo",
              "Tokelau",
              "Tonga",
              "Trinidad and Tobago",
              "Tunisia",
              "Turkmenistan",
              "Turks and Caicos Islands",
              "Tuvalu",
              "Türkiye",
              "Uganda",
              "Ukraine",
              "United Arab Emirates",
              "United Kingdom",
              "United States",
              "United States Minor Outlying Islands",
              "Uruguay",
              "Uzbekistan",
              "Vanuatu",
              "Venezuela, Bolivarian Republic of",
              "Viet Nam",
              "Virgin Islands, British",
              "Virgin Islands, U.S.",
              "Wallis and Futuna",
              "Western Sahara",
              "Yemen",
              "Zambia",
              "Zimbabwe",
              "Åland Islands"
            ],
            "type": "string",
            "description": "Country the proxy exit nodes should appear to be in. This geo-targets the PROXY only — it does not filter which companies or jobs are returned. Use 📍 Hiring market for that.",
            "default": "United States"
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy",
            "type": "object",
            "description": "Leave off to start without a proxy; the actor escalates to datacenter and then residential sticky sessions automatically when Wellfound serves an anti-bot stub.",
            "default": {
              "useApifyProxy": false
            }
          },
          "requestDelay": {
            "title": "⏱️ Delay between pages (seconds)",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "Pause before each page load, plus a small random jitter. Raising it to 3–5 makes long multi-page runs noticeably less likely to trip rate limiting. Default is 1.",
            "default": 1
          },
          "headless": {
            "title": "🖥️ Headless browser",
            "type": "boolean",
            "description": "Run the stealth browser without a visible window. Leave on unless you are debugging locally.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}