{
  "openapi": "3.0.1",
  "info": {
    "title": "Product Hunt Launches Feed",
    "description": "Every Product Hunt launch of the days you pick, one row each, with maker names, the product's website and company domain, X and LinkedIn links, votes, rank, and topics. Filter by topic, keyword, or votes, and get only new launches on a schedule. Clay ready.",
    "version": "0.1",
    "x-build-id": "UaLgwCpdjldnEEtgN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mambalabs~product-hunt-launches-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mambalabs-product-hunt-launches-feed",
        "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/mambalabs~product-hunt-launches-feed/runs": {
      "post": {
        "operationId": "runs-sync-mambalabs-product-hunt-launches-feed",
        "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/mambalabs~product-hunt-launches-feed/run-sync": {
      "post": {
        "operationId": "run-sync-mambalabs-product-hunt-launches-feed",
        "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": {
          "days_back": {
            "title": "Days back",
            "type": "string",
            "description": "Read the daily launch lists of the last N full days, in Product Hunt's day (Pacific time). 1 means yesterday. Up to 31. Ignored when Dates is set. A whole number; text such as \"3\" is accepted.",
            "default": "1"
          },
          "dates": {
            "title": "Dates",
            "type": "array",
            "description": "Specific launch days as YYYY-MM-DD, in Product Hunt's day (Pacific time), up to 31. When set, Days back is ignored.",
            "items": {
              "type": "string"
            }
          },
          "include_today": {
            "title": "Include today",
            "type": "string",
            "description": "Also read today's list, which is still filling. Ranks and votes on today's launches move during the day. true or false; yes, no, 1, and 0 are accepted.",
            "default": "false"
          },
          "topics": {
            "title": "Topics",
            "type": "array",
            "description": "Keep only launches tagged with any of these Product Hunt topics, by name or slug, for example Artificial Intelligence, developer-tools, SaaS. Empty: every topic.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep only launches whose name, tagline, or topics contain any of these words, for example sales, crm. Empty: no keyword filter.",
            "items": {
              "type": "string"
            }
          },
          "min_votes": {
            "title": "Minimum votes",
            "type": "string",
            "description": "Keep only launches with at least this many votes. 0 keeps all. A whole number; text such as \"3\" is accepted.",
            "default": "0"
          },
          "max_launches": {
            "title": "Max launches",
            "type": "string",
            "description": "At most this many launch rows per run, across all days. Up to 2,000. A whole number; text such as \"3\" is accepted.",
            "default": "100"
          },
          "open_product_pages": {
            "title": "Open product pages",
            "type": "string",
            "description": "On: each launch's Product Hunt product page is read for the website, company domain, maker names with their headlines, maker profile links, X and LinkedIn links, reviews, rating, and followers. Off: the rows carry only what the daily list shows (name, tagline, rank, votes, comments, topics), at the same price. true or false; yes, no, 1, and 0 are accepted.",
            "default": "true"
          },
          "only_new": {
            "title": "Only new launches",
            "type": "string",
            "description": "Skip launches an earlier run with the same State key already returned. Skipped launches are free. Use it on a schedule. true or false; yes, no, 1, and 0 are accepted.",
            "default": "false"
          },
          "state_key": {
            "title": "State key",
            "type": "string",
            "description": "Name for the only new launches memory, for example ai-launches-daily. Runs with the same key share it."
          },
          "product_hunt_token": {
            "title": "Product Hunt developer token (optional)",
            "type": "string",
            "description": "Optional. Your own Product Hunt API developer token, from https://www.producthunt.com/v2/oauth/applications. With it, the daily lists are read from the official Product Hunt API instead of the public pages, and Include unfeatured launches can be used. It is your token, used only on your run, and never stored or logged."
          },
          "include_unfeatured": {
            "title": "Include unfeatured launches",
            "type": "string",
            "description": "Needs your Product Hunt token. Also return launches of the day that Product Hunt did not feature. The public daily pages list featured launches only. true or false; yes, no, 1, and 0 are accepted.",
            "default": "false"
          },
          "max_charge_usd": {
            "title": "Max charge per run (USD)",
            "type": "string",
            "description": "Optional. The run stops before a charge that would take it past this amount, and keeps every row already delivered."
          },
          "source_tag": {
            "title": "Source tag",
            "type": "string",
            "description": "Internal attribution tag. Leave empty."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}