{
  "openapi": "3.0.1",
  "info": {
    "title": "Y Combinator Jobs Scraper - YC Startup Jobs & New Postings",
    "description": "Job postings at Y Combinator startups from ycombinator.com/jobs pages: title, company, batch, location, salary, equity, experience, visa and apply link. Read role, location or company job pages, or monitor them and get only new postings.",
    "version": "0.1",
    "x-build-id": "dXDzwwIFQaRVduzZN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~yc-startup-jobs-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-yc-startup-jobs-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/neverempty~yc-startup-jobs-monitor/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-yc-startup-jobs-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/neverempty~yc-startup-jobs-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-yc-startup-jobs-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": {
          "roles": {
            "title": "Roles",
            "type": "array",
            "description": "Role pages to read, as the slug used on ycombinator.com/jobs/role/<slug>. On 2026-10-05 the site listed these roles: software-engineer, designer, product-manager, recruiting-hr, sales-manager, marketing, support, operations, science. One per line. Each role page carries a limited set of postings (39 on the software-engineer page and 25 on the designer page on 2026-10-05), not every open job. A role the site does not list comes back as a \"no-such-page\" row that is not charged.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Location pages to read, as the slug used on ycombinator.com/jobs/location/<slug>: remote, san-francisco, new-york, los-angeles, seattle, boston, austin, chicago, india. One per line. Each location page carries a limited set of postings (35 on the remote page and 50 on the boston page on 2026-10-05). A location the site has no page for comes back as a \"no-such-page\" row that is not charged.",
            "items": {
              "type": "string"
            }
          },
          "combineRolesAndLocations": {
            "title": "Read role + location pages instead",
            "type": "boolean",
            "description": "When both Roles and Locations are filled in: off reads each role page and each location page separately. On reads one page per pair instead (ycombinator.com/jobs/role/<role>/<location>, for example software-engineer + remote) and does not read the separate role and location pages.",
            "default": false
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Companies whose jobs page is read (ycombinator.com/companies/<slug>/jobs): the company slug (stripe) or its Y Combinator page address (https://www.ycombinator.com/companies/stripe). One per line. Roles, Locations and Companies together: at most 200 pages per run. A slug with no company comes back as a \"no-such-company\" row and a company with no open posting as a \"no-jobs-on-page\" row; these rows are free (in monitoring mode, a page that was read and compared is still charged its monitoring check).",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Keep only postings whose location text on the page contains \"Remote\" (for example \"New York, NY, US / Remote (US)\"). Postings with no location do not match.",
            "default": false
          },
          "visaSponsorshipOnly": {
            "title": "Visa sponsorship only",
            "type": "boolean",
            "description": "Keep only postings whose visa field on the page is \"Will sponsor\". The other values seen on 2026-10-05 are \"US citizen/visa only\" and \"US citizenship/visa not required\".",
            "default": false
          },
          "withSalaryOnly": {
            "title": "With a salary range only",
            "type": "boolean",
            "description": "Keep only postings that show a salary range on the page. The range is returned as written (\"$120K - $180K\", \"€75 - €95 EUR\"), not converted.",
            "default": false
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep only postings where at least one of these words appears in the job title, company name, company one-liner, role, role specialty or skills. Not case-sensitive. One per line.",
            "items": {
              "type": "string"
            }
          },
          "maxJobs": {
            "title": "Maximum jobs to return",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "With monitoring off, the run stops when this many job rows have been returned; pages after that are not read. Not applied in monitoring mode, where every new posting on the pages you gave is returned.",
            "default": 200
          },
          "monitoringMode": {
            "title": "Monitoring mode: return only new postings",
            "type": "boolean",
            "description": "Remembers job ids between runs. The first time a page is read with a given set of filters, the postings on it are only remembered: nothing is returned and nothing is charged for that page. On later runs each page read and compared is charged one monitoring check (page-checked), and only postings whose id has not been seen before are returned (job-returned). \"New\" means new on the pages you watch: a company's jobs page lists all of its open postings, while a role or location page shows a limited selection, so an older posting that enters that selection is also returned once (see postedAgo). A posting that did not match your filters when first seen is remembered and not returned later. Job ids are remembered per set of filters. Do not run two schedules with the same filters at the same moment.",
            "default": false
          },
          "resetMonitoringState": {
            "title": "Forget the remembered jobs and start over",
            "type": "boolean",
            "description": "Clears everything remembered for this Actor on your account (for every set of filters) before this run reads anything, so with monitoring on every page is a first read again: its postings are remembered and nothing is returned. Use it for one run and turn it off again.",
            "default": false
          },
          "useProxy": {
            "title": "Retry once through a residential proxy when the site answers 403 or 429",
            "type": "boolean",
            "description": "Requests go directly to www.ycombinator.com, one at a time with a pause between them. If it answers HTTP 403 or 429, the request is sent one more time through an Apify residential proxy, at most three times in a run; if it is refused again the run stops sending requests and says what it did not read. Turn this off to never use a proxy.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}