{
  "openapi": "3.0.1",
  "info": {
    "title": "Houzz Scraper",
    "description": "[💰 $3.0 / 1K] Extract Houzz photos, professionals (designers, contractors, architects), magazine stories, and Q&A discussions. Search by keyword, filter by style/budget/size/color, scope by city, or paste Houzz URLs directly.",
    "version": "1.0",
    "x-build-id": "wnMBIzB5V65aLHa2m"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~houzz-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-houzz-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/solidcode~houzz-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-houzz-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/solidcode~houzz-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-houzz-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": {
          "startUrls": {
            "title": "Houzz URLs",
            "type": "array",
            "description": "Paste one or more Houzz URLs. Accepts photo, professional, story, and discussion pages, plus search and category listings (e.g. https://www.houzz.com/photos/modern-kitchen, https://www.houzz.com/professionals/interior-designers/c/Austin--TX). When provided, these override the keyword/filter fields below.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search Keywords",
            "type": "array",
            "description": "One keyword per line (e.g. 'modern kitchen', 'landscape architect', 'craftsman bathroom'). Each line runs as its own search and produces its own results. Ignored when Houzz URLs are provided above.",
            "items": {
              "type": "string"
            }
          },
          "queryType": {
            "title": "Search Section",
            "enum": [
              "photos",
              "professionals",
              "stories",
              "discussions"
            ],
            "type": "string",
            "description": "Which Houzz section to search. 'Photos' searches the inspiration gallery, 'Professionals' searches the designer/contractor directory, 'Stories' searches Houzz Magazine articles, and 'Discussions' searches the Q&A forum.",
            "default": "photos"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region, or 'City, State' to scope a professional search (e.g. 'Austin, TX', 'Brooklyn, NY'). Only used when Search Section is 'Professionals'."
          },
          "professionalCategory": {
            "title": "Professional Category",
            "enum": [
              "",
              "interior-designers",
              "architects-and-building-designers",
              "design-build-firms",
              "general-contractors",
              "kitchen-and-bath-designers",
              "kitchen-remodelers",
              "kitchen-and-bath-remodelers",
              "landscape-architects-and-designers",
              "landscape-contractors",
              "home-builders",
              "adu-contractors",
              "home-remodeling",
              "home-additions-and-extensions"
            ],
            "type": "string",
            "description": "Restrict a professional search to a specific category. Leave blank to use the default category (Interior Designers) — Houzz does not support browsing every category at once.",
            "default": ""
          },
          "styles": {
            "title": "Photo Style",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter photos by design style. Pick any combination. Only applied when Search Section is 'Photos'.",
            "items": {
              "type": "string",
              "enum": [
                "contemporary",
                "modern",
                "traditional",
                "transitional",
                "farmhouse",
                "industrial",
                "mediterranean",
                "scandinavian",
                "rustic",
                "craftsman",
                "midcentury",
                "coastal",
                "tropical",
                "asian",
                "eclectic",
                "shabby-chic",
                "victorian",
                "southwestern"
              ],
              "enumTitles": [
                "Contemporary",
                "Modern",
                "Traditional",
                "Transitional",
                "Farmhouse",
                "Industrial",
                "Mediterranean",
                "Scandinavian",
                "Rustic",
                "Craftsman",
                "Midcentury",
                "Coastal",
                "Tropical",
                "Asian",
                "Eclectic",
                "Shabby Chic",
                "Victorian",
                "Southwestern"
              ]
            },
            "default": []
          },
          "budgets": {
            "title": "Budget",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter photos by project budget tier as Houzz classifies them.",
            "items": {
              "type": "string",
              "enum": [
                "budget",
                "midrange",
                "highend",
                "luxury"
              ],
              "enumTitles": [
                "Budget ($)",
                "Mid-range ($$)",
                "High-end ($$$)",
                "Luxury ($$$$)"
              ]
            },
            "default": []
          },
          "sizes": {
            "title": "Room Size",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter photos by room size.",
            "items": {
              "type": "string",
              "enum": [
                "compact",
                "medium",
                "large",
                "expansive"
              ],
              "enumTitles": [
                "Compact",
                "Medium",
                "Large",
                "Expansive"
              ]
            },
            "default": []
          },
          "colors": {
            "title": "Color Palette",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter photos by dominant color.",
            "items": {
              "type": "string",
              "enum": [
                "red",
                "orange",
                "yellow",
                "green",
                "blue",
                "purple",
                "pink",
                "brown",
                "beige",
                "gray",
                "white",
                "black",
                "blackandwhite",
                "metallics"
              ],
              "enumTitles": [
                "Red",
                "Orange",
                "Yellow",
                "Green",
                "Blue",
                "Purple",
                "Pink",
                "Brown",
                "Beige",
                "Gray",
                "White",
                "Black",
                "Black & white",
                "Metallics"
              ]
            },
            "default": []
          },
          "includeContacts": {
            "title": "Include Contact Details",
            "type": "boolean",
            "description": "When enabled, fetch each professional's profile page to capture publicly visible phone, website, social links, badges, license verification, and the most recent published review (rating, body, project date, reviewer name). Adds two extra requests per professional (slower, slightly more expensive). Only applied when Search Section is 'Professionals' or you paste a professional URL.",
            "default": false
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of results to collect per URL or keyword. Set to 0 to collect everything (an internal upper limit of 50,000 still applies to prevent runaway pagination). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}