{
  "openapi": "3.0.1",
  "info": {
    "title": "Gumroad Scraper - Products, Prices, Ratings & Creators",
    "description": "Scrape Gumroad products by keyword, category, creator or URL: price in the seller's own currency, rating average and 1-5 star breakdown, product type, creator reputation and full description. No login, no browser. US$ 4 per 1,000 products; filtered-out rows are free.",
    "version": "0.1",
    "x-build-id": "cx2z8T1XkE6pFG614"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~gumroad-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-gumroad-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/scrapewise~gumroad-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-gumroad-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/scrapewise~gumroad-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-gumroad-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": [
              "search",
              "category",
              "creator",
              "product"
            ],
            "type": "string",
            "description": "What the run does. If you leave it on 'search' but fill another field, the Actor uses the field you filled: product URLs win, then creators, then categories.",
            "default": "search"
          },
          "searchQuery": {
            "title": "Keyword",
            "type": "string",
            "description": "Keyword for 'search' mode, the same box as gumroad.com/discover. Example: notion template."
          },
          "searchQueries": {
            "title": "More keywords",
            "type": "array",
            "description": "Extra keywords for 'search' mode. Each keyword returns up to 'Max products per source'; duplicates across keywords are removed and charged once.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "For 'category' mode: the category slug as it appears in the URL, such as business-and-money, design, software-development, self-improvement. A full URL like https://gumroad.com/business-and-money also works.",
            "items": {
              "type": "string"
            }
          },
          "creators": {
            "title": "Creators",
            "type": "array",
            "description": "For 'creator' mode: the creator subdomain (productivesetups), the full domain (productivesetups.gumroad.com) or the profile URL. Returns the products on their public storefront.",
            "items": {
              "type": "string"
            }
          },
          "productUrls": {
            "title": "Product URLs",
            "type": "array",
            "description": "For 'product' mode: product URLs such as https://creator.gumroad.com/l/permalink. A bare permalink also works. These always come with description, star breakdown and creator reputation.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "best_sellers",
              "hot_and_new",
              "most_reviewed",
              "price_asc",
              "price_desc",
              "newest"
            ],
            "type": "string",
            "description": "Order of the results in 'search' and 'category' modes, the same options Gumroad offers on the page.",
            "default": "relevance"
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Keeps only products rated at or above this many stars. Leave empty for all."
          },
          "minPrice": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include, in whole dollars. 0 keeps free products. Note: Gumroad treats 'pay what you want' products as starting at zero, so they match any minimum and can come back showing 0. Use the isPayWhatYouWant field in the output to tell them apart."
          },
          "maxPrice": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to include, in whole dollars. Same caveat as 'Minimum price' for 'pay what you want' products."
          },
          "tags": {
            "title": "Tags",
            "type": "array",
            "description": "Keeps only products carrying these Gumroad tags, such as notion, productivity, planner. Applied by Gumroad itself. The tags available for a search show up in its own results, so start broad and narrow down.",
            "items": {
              "type": "string"
            }
          },
          "fileTypes": {
            "title": "File types",
            "type": "array",
            "description": "Keeps only products delivering these file types: pdf, zip, mp4, png, json, txt, docx, link. Applied by Gumroad itself.",
            "items": {
              "type": "string"
            }
          },
          "nativeTypes": {
            "title": "Product types",
            "type": "array",
            "description": "Keeps only these product types, as Gumroad labels them: digital, course, ebook, membership, bundle, physical, coffee, newsletter, podcast, audiobook, physical_good. Applied after download, so it costs requests but never charges you for the rows it drops.",
            "items": {
              "type": "string"
            }
          },
          "freeOnly": {
            "title": "Free products only",
            "type": "boolean",
            "description": "Keeps only products priced at zero. Gumroad's own free filter was tested and is ignored by the site, so this one is applied here, after download.",
            "default": false
          },
          "payWhatYouWantOnly": {
            "title": "Pay-what-you-want only",
            "type": "boolean",
            "description": "Keeps only products where the buyer names the price.",
            "default": false
          },
          "sellerVerifiedOnly": {
            "title": "Verified creators only",
            "type": "boolean",
            "description": "Keeps only products from creators Gumroad marks as verified.",
            "default": false
          },
          "includeDetails": {
            "title": "Open each product page",
            "type": "boolean",
            "description": "Adds the full description, the 1-to-5 star breakdown, every cover image and the creator's reputation (average, number of ratings, how many products they sell). Costs one extra request per product, so it is slower.",
            "default": true
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard limit for the whole run. This is what you pay for: US$ 4 per 1,000 products delivered.",
            "default": 50
          },
          "maxItemsPerSource": {
            "title": "Max products per source",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Limit per keyword, category or creator, so one busy source does not eat the whole run. Defaults to 'Max products'."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy is the default and works for Gumroad. Blocked requests are retried on a new IP.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}