{
  "openapi": "3.0.1",
  "info": {
    "title": "Wellfound Jobs Scraper (AngelList)",
    "description": "Scrape Wellfound (AngelList) startup jobs by role, city or remote. Each row has the full description in Markdown, salary and equity, company size, tagline and badges, locations and the exact posting time. Filter by job type, seniority, salary or company. $0.085 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "cAMuWOAidxQ0mPdQ5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~wellfound-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-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/dami_studio~wellfound-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-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/dami_studio~wellfound-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-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": {
          "roleSlugs": {
            "title": "Role slugs",
            "type": "array",
            "description": "Wellfound role slugs, for example software-engineer, product-manager, data-scientist. Plain phrases are slugified, and wellfound.com/role/{slug} URLs are accepted.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search phrases",
            "type": "array",
            "description": "Alias for role slugs. 'Data Scientist' becomes data-scientist.",
            "items": {
              "type": "string"
            }
          },
          "locationSlugs": {
            "title": "Location slugs",
            "type": "array",
            "description": "Optional Wellfound location slugs, for example san-francisco, new-york, london. Each role is crawled once per location using wellfound.com/role/l/{role}/{location}. Write the city the way Wellfound's own addresses do: a slug it has no page for, such as nyc or remote, comes back as one uncharged row and no jobs.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Use Wellfound's remote role pages (wellfound.com/role/r/{role}) and keep only listings flagged remote. Ignored when location slugs are supplied. A role with no remote page on Wellfound comes back as one uncharged row.",
            "default": false
          },
          "jobTypes": {
            "title": "Job types",
            "type": "array",
            "description": "Keep only these Wellfound job types. Observed values: full-time, part-time, contract, internship, cofounder.",
            "items": {
              "type": "string"
            }
          },
          "locationFilters": {
            "title": "Location contains",
            "type": "array",
            "description": "Keep only jobs whose location or accepted remote location contains one of these strings. Case-insensitive substring match.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keyword contains",
            "type": "array",
            "description": "Keep only jobs whose title, company or description contains one of these strings. Case-insensitive substring match.",
            "items": {
              "type": "string"
            }
          },
          "seniorOnly": {
            "title": "Senior roles only",
            "type": "boolean",
            "description": "Keep only jobs whose title says Senior, Sr, Staff, Principal, Lead or Head of, or that ask for at least 5 years of experience. Wellfound states the years on only some jobs, which is why the title counts too. Jobs left out are not charged.",
            "default": false
          },
          "minSalaryUsd": {
            "title": "Minimum salary (US dollars a year)",
            "minimum": 1,
            "maximum": 5000000,
            "type": "integer",
            "description": "Keep only jobs whose salary is posted in US dollars and starts at this amount or more, for example 150000. A $140k to $180k job is left out at 150000. Jobs paid in another currency, or with no salary shown, are left out too. Jobs left out are not charged."
          },
          "excludeCompanies": {
            "title": "Leave out these companies",
            "maxItems": 200,
            "type": "array",
            "description": "Company names, Wellfound company slugs such as keeper-tax, or wellfound.com/company/{slug} addresses. Their jobs are left out and not charged.",
            "items": {
              "type": "string"
            }
          },
          "includeCompanies": {
            "title": "Only these companies (paid option)",
            "maxItems": 200,
            "type": "array",
            "description": "Company names, Wellfound company slugs or wellfound.com/company/{slug} addresses. Only their jobs come back. Every other job this filter checks and leaves out is billed as a checked job; see the Pricing tab.",
            "items": {
              "type": "string"
            }
          },
          "minEquityPercent": {
            "title": "Minimum equity, % (paid option)",
            "minimum": 0.001,
            "maximum": 100,
            "type": "number",
            "description": "Only jobs whose posted equity range starts at this percentage or more, for example 0.1. Jobs that show no equity are left out. Each job this filter checks and leaves out is billed as a checked job; see the Pricing tab."
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum unique job rows to return and charge for.",
            "default": 100
          },
          "maxPagesPerSource": {
            "title": "Maximum pages per role",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Listing pages to walk for each role (or role and location pair). Each page carries roughly 40 to 49 jobs.",
            "default": 5
          },
          "maxRetries": {
            "title": "Attempts per page",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "How many times each listing page is tried before it is given up on.",
            "default": 6
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum duration of each network request.",
            "default": 25
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Leave this empty for a normal run. Supply proxyUrls to use your own servers, and they are used exactly as given."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}