{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Agent Scraper - Real Estate Agents & Sales",
    "description": "Find the real estate agents working in any US city on Zillow, busiest first: review score, career and last-12-month sales, average sale price, price range and Top Agent badge, plus their current listings when available. Filter to Top Agents or agents with recent sales.",
    "version": "0.3",
    "x-build-id": "H46QlOCPzy82Po22H"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/studioxl~zillow-agent-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-studioxl-zillow-agent-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/studioxl~zillow-agent-scraper/runs": {
      "post": {
        "operationId": "runs-sync-studioxl-zillow-agent-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/studioxl~zillow-agent-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-studioxl-zillow-agent-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": {
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "US cities or areas, for example \"Austin, TX\" or \"Chicago, IL\". Each is searched and the results are combined.",
            "items": {
              "type": "string"
            }
          },
          "agentNames": {
            "title": "Or specific agents by name",
            "type": "array",
            "description": "For example \"Matt Laricy\". Only agents whose name matches what you typed are kept.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum agents",
            "minimum": 0,
            "type": "integer",
            "description": "Your spend cap. Filters apply first, so the cap counts only agents you keep. 100 agents cost $0.30 on the Free plan. Set 0 for no cap.",
            "default": 100
          },
          "maxPagesPerLocation": {
            "title": "Directory pages per location",
            "minimum": 1,
            "type": "integer",
            "description": "Zillow lists 15 agents per page. 10 pages means up to 150 agents per location.",
            "default": 10
          },
          "topAgentsOnly": {
            "title": "Top agents only",
            "type": "boolean",
            "description": "Only agents with Zillow's Top Agent badge.",
            "default": false
          },
          "minSalesLastYear": {
            "title": "Minimum sales in the last 12 months",
            "minimum": 0,
            "type": "integer",
            "description": "Skip agents with fewer sales than this in the last 12 months, for example 10. Skipped agents aren't charged.",
            "default": 0
          },
          "includeActiveListings": {
            "title": "Homes for sale",
            "type": "boolean",
            "description": "Add the agent's current for-sale listings, with price, beds, baths, address, coordinates and brokerage, when available.",
            "default": true
          },
          "maxListingsPerAgent": {
            "title": "Maximum listings per agent",
            "minimum": 0,
            "type": "integer",
            "description": "Most for-sale listings to return per agent, for example 25. listingCount still shows the agent's full total. Higher caps make runs slower.",
            "default": 25
          },
          "includeRentals": {
            "title": "Homes for rent",
            "type": "boolean",
            "description": "Add the agent's rental listings when available. Off by default because most agents have few or none.",
            "default": false
          },
          "maxRentalsPerAgent": {
            "title": "Maximum rentals per agent",
            "minimum": 0,
            "type": "integer",
            "description": "Most rental listings to return per agent, for example 25.",
            "default": 25
          },
          "onlyAgentsWithListings": {
            "title": "Only agents with at least one listing",
            "type": "boolean",
            "description": "Drop agents with no for-sale listings. Dropped agents aren't charged.",
            "default": false
          },
          "enrichListings": {
            "title": "Add the full property record to each listing",
            "type": "boolean",
            "description": "Adds Zestimate, rent Zestimate, living area, lot size, year built, days on Zillow, price change, MLS ID, tax rate, HOA fee, photo count, description and the listing agent's phone to each for-sale listing.\n\nCharged per listing, separately from the agent row: $2.40 per 1,000 listings on the Free plan. Off by default.",
            "default": false
          },
          "respectRobotsTxt": {
            "title": "Strict mode",
            "type": "boolean",
            "description": "Leave on. If Zillow changes which pages may be read, the run stops with a clear message instead of carrying on.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel workers",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Leave at 10. Higher values don't make runs faster.",
            "default": 10
          },
          "maxRequestsPerMinute": {
            "title": "Pace per minute",
            "minimum": 10,
            "maximum": 600,
            "type": "integer",
            "description": "Leave at 300. Higher values don't make runs faster.",
            "default": 300
          },
          "proxyConfiguration": {
            "title": "Connection settings",
            "type": "object",
            "description": "Leave as is. Changing this usually returns no results.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}