{
  "openapi": "3.0.1",
  "info": {
    "title": "Peerlist Scraper — Launches, Upvoters, Profiles & Jobs",
    "description": "Scrape Peerlist with no login: Launchpad launches by week with rank, upvotes, product website and launch analytics, every upvoter and comment, maker and developer profiles with website, socials and skills, and the Peerlist job board with salary and skills.",
    "version": "0.0",
    "x-build-id": "kkE3yrM0USMp8p5ef"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~peerlist-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-peerlist-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/memo23~peerlist-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-peerlist-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/memo23~peerlist-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-peerlist-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": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "launches",
              "profiles",
              "jobs"
            ],
            "type": "string",
            "description": "Launches: product launches from Peerlist Launchpad, by week or by link. Profiles: people by handle or link. Jobs: the Peerlist job board, with filters.",
            "default": "launches"
          },
          "launchUrls": {
            "title": "Launch, week or maker links",
            "type": "array",
            "description": "Any mix of launch pages (`https://peerlist.io/pvkarty/project/ext-watch`), Launchpad weeks (`https://peerlist.io/launchpad/2026/week/42`) and maker profiles (`https://peerlist.io/manuarora` returns every product that maker launched). Leave empty to read recent weeks.",
            "items": {
              "type": "string"
            }
          },
          "recentWeeks": {
            "title": "Recent weeks to read",
            "minimum": 1,
            "maximum": 520,
            "type": "integer",
            "description": "Used when no links or weeks are given. 1 reads the current week (still in progress), 2 adds last week, and so on. Each week has a few hundred launches.",
            "default": 1
          },
          "launchpadWeeks": {
            "title": "Specific Launchpad weeks",
            "type": "array",
            "description": "Weeks as `2026-W42`, `2026/42` or a Launchpad week link. Weeks run Monday to Sunday (ISO weeks).",
            "items": {
              "type": "string"
            }
          },
          "maxLaunchesPerWeek": {
            "title": "Max launches per week",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Launches come in rank order, so 20 keeps the week's top 20. 0 reads the whole week.",
            "default": 0
          },
          "minUpvotes": {
            "title": "Min upvotes",
            "minimum": 0,
            "type": "integer",
            "description": "Skip launches with fewer upvotes. 0 keeps all.",
            "default": 0
          },
          "includeLaunchDetails": {
            "title": "Product website, description and tags",
            "type": "boolean",
            "description": "Read each launch page for the product's own website, full description, tech tags and the Idea / Execution / Design rating split. Off is faster but leaves those fields empty.",
            "default": true
          },
          "includeAnalytics": {
            "title": "Page views and demo clicks",
            "type": "boolean",
            "description": "Page views, demo-link clicks and shares per day of the launch week.",
            "default": true
          },
          "includeMakerProfile": {
            "title": "Maker's website, socials and skills",
            "type": "boolean",
            "description": "Add the maker's personal website, social links (X, LinkedIn, GitHub, ...), skills, years of experience and followers to each launch row. Included in the launch price.",
            "default": false
          },
          "includeUpvoters": {
            "title": "Upvoters",
            "type": "boolean",
            "description": "One extra row per person who upvoted each launch: name, handle, headline, profile link, verified badge, upvote time and weight.",
            "default": false
          },
          "upvoterProfiles": {
            "title": "Upvoters' websites, socials and skills",
            "type": "boolean",
            "description": "Open each upvoter's profile and add their website, social links, skills and experience. Billed as a profile row instead of an upvoter row.",
            "default": false
          },
          "includeComments": {
            "title": "Comments",
            "type": "boolean",
            "description": "One extra row per comment and reply on each launch, with the author, likes and time.",
            "default": false
          },
          "profiles": {
            "title": "Profile links or handles",
            "type": "array",
            "description": "`https://peerlist.io/manuarora`, `@manuarora` or `manuarora`. Each returns name, headline, website, social links, GitHub, skills, experience, followers and launched projects.",
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "Job links",
            "type": "array",
            "description": "Specific Peerlist job pages (`https://peerlist.io/company/notion/careers/.../job...`). When given, the filters below are not used.",
            "items": {
              "type": "string"
            }
          },
          "jobRoles": {
            "title": "Roles",
            "type": "array",
            "description": "Peerlist's role names, for example `Software Engineer`, `Product Designer`, `Backend Engineer`, `Full-Stack Engineer`, `AI Engineer`, `UI/UX Designer`, `Machine Learning Engineer`, `Frontend Engineer`.",
            "items": {
              "type": "string"
            }
          },
          "jobSkills": {
            "title": "Skills",
            "type": "array",
            "description": "For example `React`, `Python`, `Go`, `Figma`. A job matches when it lists any of them.",
            "items": {
              "type": "string"
            }
          },
          "jobTypes": {
            "title": "Job types",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Full-time",
                "Part-time",
                "Internship",
                "Freelance",
                "Other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Internship",
                "Freelance",
                "Other"
              ]
            }
          },
          "jobCountries": {
            "title": "Countries",
            "type": "array",
            "description": "Full country names: `United States`, `India`, `United Kingdom`, `Canada`. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "jobWorkplace": {
            "title": "Workplace",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "in-office"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "In office"
              ]
            }
          },
          "jobPostedWithinDays": {
            "title": "Posted in the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "0 reads the whole board, back to the oldest job still listed.",
            "default": 0
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap on all rows together (launches, upvoters, comments, profiles, jobs). Free-plan runs return up to 100.",
            "default": 1000
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Peerlist refuses requests from cloud servers, so runs always go through a proxy. Apify datacenter proxy works and is the default; switch to residential only if Peerlist starts refusing it.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}