{
  "openapi": "3.0.1",
  "info": {
    "title": "Houzz Scraper | Photos, Products, Pros & Ideas",
    "description": "Extract public Houzz photos, products and reviews, professional profiles, projects, discussions and idea galleries. Paste Houzz URLs or IDs and export structured results to JSON, CSV or Excel. No login required.",
    "version": "0.1",
    "x-build-id": "ArnfEnr7fsyWdDvWu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datascraperes~houzz-content-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datascraperes-houzz-content-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/datascraperes~houzz-content-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datascraperes-houzz-content-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/datascraperes~houzz-content-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datascraperes-houzz-content-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": {
          "houzzUrls": {
            "title": "Houzz URLs",
            "maxItems": 500,
            "type": "array",
            "description": "Paste supported houzz.com photo category, photo, professional, product, discussion or numeric ideabook URLs. Different types can be mixed. Category URLs select the category only, not extra style or location filters. For IDs or usernames, use Advanced: IDs and usernames.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            }
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Total delivered records across all targets, including related projects, reviews, answers and comments. Categories are processed first; the run stops when this limit is reached.",
            "default": 300
          },
          "includeProfessionalProjects": {
            "title": "Include professional projects",
            "type": "boolean",
            "description": "Return the public project list for every professional target.",
            "default": true
          },
          "includeProjectDetails": {
            "title": "Include project details",
            "type": "boolean",
            "description": "Fetch the full public project record, including description, year started and photo IDs, for every project found. Only applies when Include professional projects is enabled.",
            "default": false
          },
          "includeProductReviews": {
            "title": "Include product review summaries",
            "type": "boolean",
            "description": "Return the public review summary and latest reviews for every product target.",
            "default": true
          },
          "includeAnswers": {
            "title": "Include discussion answers",
            "type": "boolean",
            "description": "Return the public answers for every discussion target.",
            "default": true
          },
          "includeComments": {
            "title": "Include public comments",
            "type": "boolean",
            "description": "Return public comments for photo targets and idea gallery targets.",
            "default": false
          },
          "maxPhotosPerTopic": {
            "title": "Maximum photos per category",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of distinct photos collected from each photo category.",
            "default": 40
          },
          "maxProjectsPerProfessional": {
            "title": "Maximum projects per professional",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of public projects returned for each professional target.",
            "default": 20
          },
          "photoTopics": {
            "title": "Photo categories",
            "maxItems": 50,
            "type": "array",
            "description": "Houzz photo category URLs or numeric topic IDs. Copy a category URL from Houzz, for example https://www.houzz.com/photos/kitchen-ideas-and-designs-phbr0-bp~t_709, or enter the topic ID 709. The Actor reads the ID from the URL and browses that category.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            }
          },
          "photoIds": {
            "title": "Photo IDs or URLs",
            "maxItems": 500,
            "type": "array",
            "description": "Specific Houzz photos to collect. Paste photo URLs or numeric photo IDs. A URL such as https://www.houzz.com/photos/example-phvw-vp~160172880 resolves to photo ID 160172880.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            }
          },
          "professionalIds": {
            "title": "Professional IDs or URLs",
            "maxItems": 200,
            "type": "array",
            "description": "Houzz professional profile URLs or numeric user IDs. A URL such as https://www.houzz.com/professionals/kitchen-and-bath-remodelers/example-pfvwus-pf~1006662065 resolves to professional ID 1006662065.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            }
          },
          "professionalUsernames": {
            "title": "Professional usernames",
            "maxItems": 200,
            "type": "array",
            "description": "Houzz profile usernames such as designit. Use this when a profile URL does not expose a numeric professional ID.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            }
          },
          "productIds": {
            "title": "Product IDs or URLs",
            "maxItems": 200,
            "type": "array",
            "description": "Houzz product URLs or numeric product IDs. A URL such as https://www.houzz.com/products/example-prvw-vr~200622379 resolves to product ID 200622379.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            }
          },
          "questionIds": {
            "title": "Discussion IDs or URLs",
            "maxItems": 200,
            "type": "array",
            "description": "Houzz discussion URLs or numeric question IDs. A URL such as https://www.houzz.com/discussions/layout-advice-6621384 resolves to discussion ID 6621384.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            }
          },
          "galleryIds": {
            "title": "Idea gallery IDs",
            "maxItems": 100,
            "type": "array",
            "description": "Numeric Houzz idea gallery IDs. The Actor returns the gallery items and, optionally, its public comments.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}