{
  "openapi": "3.0.1",
  "info": {
    "title": "Y Combinator Jobs Scraper — Work at a Startup (1,000+ Jobs)",
    "description": "Scrape the whole Work at a Startup board — 1,000+ live YC jobs, not just engineering. Each posting carries parsed salary, equity, visa policy, skills, full description and the hiring company's profile (industry, website, team size, founders). Filter by YC batch, role, type or remote. No start fee.",
    "version": "0.1",
    "x-build-id": "BBHroaxOZeBmaGAyQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nomad-agent~ycombinator-was-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nomad-agent-ycombinator-was-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/nomad-agent~ycombinator-was-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nomad-agent-ycombinator-was-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/nomad-agent~ycombinator-was-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nomad-agent-ycombinator-was-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": {
          "queries": {
            "title": "Search queries",
            "type": "array",
            "description": "Search terms to fan out across. Work at a Startup returns only ~20-30 hits per term and has no pagination, so the number of terms decides how much of the board you see. Each term is fetched independently, then results are merged and deduplicated by job ID. Leave empty to use the built-in 60-term sweep, which covers every role family on the board (engineering, AI/ML, sales, marketing, design, recruiting, finance, ops) and yields ~1,050 unique jobs.",
            "items": {
              "type": "string"
            }
          },
          "includeJobDetails": {
            "title": "Enrich with detail-page data",
            "type": "boolean",
            "description": "Fetch each posting's public detail page to add full description/descriptionHtml, skills, equity, visa sponsorship, experience and the hiring company's profile (industry, website, team size, founders). Turn OFF for a faster, cheaper list-only run (id, title, company, batch, location, salary, apply URL). One extra request per returned job when ON.",
            "default": true
          },
          "titleExclude": {
            "title": "Title must NOT contain",
            "type": "array",
            "description": "Skip postings whose title contains any of these terms (case-insensitive). Applied after fetching, on top of the queries above.",
            "items": {
              "type": "string"
            }
          },
          "jobTypes": {
            "title": "Employment types",
            "type": "array",
            "description": "Keep only postings of these employment types (case-insensitive). Recognised values: \"Full-time\", \"Contract\", \"Internship\", \"Part-time\". Leave empty for all types.",
            "items": {
              "type": "string"
            }
          },
          "companyBatches": {
            "title": "YC batches",
            "type": "array",
            "description": "Keep only postings from companies in these Y Combinator batches (case-insensitive exact match, e.g. \"S23\", \"W24\"). Leave empty for all batches.",
            "items": {
              "type": "string"
            }
          },
          "roleTypes": {
            "title": "Role categories",
            "type": "array",
            "description": "Keep only postings whose Work at a Startup role category contains one of these terms (case-insensitive substring, e.g. \"machine learning\", \"frontend\", \"design\"). Leave empty for all categories.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Keep only postings whose location advertises a remote option.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "type": "integer",
            "description": "Maximum number of unique job postings to return. The run stops fanning out across search terms as soon as the cap is met, so a small cap is fast and cheap (50 jobs ≈ 7 seconds). Set to 0 for no limit — the full board, ~1,050 unique jobs in ~95 seconds.",
            "default": 50
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "Delta mode: skip postings already delivered by a previous run of this Actor (tracked by job ID in a named key-value store). Returned records carry isNew=true. Great for scheduled runs that should surface only fresh openings.",
            "default": false
          },
          "cacheTtlSeconds": {
            "title": "Cache TTL (seconds)",
            "type": "integer",
            "description": "Cache the upstream fetches (search + detail pages) in the key-value store for this many seconds; re-runs within the window skip the network calls. Set 0 to disable.",
            "default": 1800
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}