{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Agent Leads Finder",
    "description": "Find real estate agent leads on Zillow by ZIP, city, state, or profile URL. Get email, phone, website, brokerage, license, reviews, sales stats, and full past sales and listings. Export as JSON, CSV, or Excel.",
    "version": "1.0",
    "x-build-id": "Y30yGobPiIMff2L9J"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~zillow-agent-leads-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-zillow-agent-leads-finder",
        "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/parsebird~zillow-agent-leads-finder/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-zillow-agent-leads-finder",
        "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/parsebird~zillow-agent-leads-finder/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-zillow-agent-leads-finder",
        "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": "Enter ZIP codes or cities, such as 78701 or Austin, TX. Include the state with a city name.",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "Whole states",
            "type": "array",
            "description": "Pick states to walk city by city. Agents with a business address in another state are left out. Set Max agents to control the size and cost of the run.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "DC",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY"
              ],
              "enumTitles": [
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "District of Columbia",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "West Virginia",
                "Wisconsin",
                "Wyoming"
              ]
            }
          },
          "startUrls": {
            "title": "Zillow URLs",
            "type": "array",
            "description": "Paste agent directory or agent profile URLs, such as https://www.zillow.com/professionals/real-estate-agent-reviews/99501/ or https://www.zillow.com/profile/Michael-Kayem. Filters already in a pasted URL are kept; the search filters below apply to Locations and Whole states only.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max agents",
            "minimum": 0,
            "type": "integer",
            "description": "Set the maximum number of agents to save across the whole run. Set 0 for no limit.",
            "default": 20
          },
          "enrichEmails": {
            "title": "Find contact emails on agent websites",
            "type": "boolean",
            "description": "Visit each agent's own website to look for a contact email, saved as contactEmail. Billed only when a new address is found: lookups that find nothing, and addresses identical to the profile email, are free. The email shown on the Zillow profile is always included in the email field at no extra charge.",
            "default": false
          },
          "getPastSales": {
            "title": "Get full past sales",
            "type": "boolean",
            "description": "Save the agent's full sold history in pastSalesHistory, billed per past deal. Without this, the profile's few most recent sales are still included.",
            "default": false
          },
          "getActiveListings": {
            "title": "Get all for-sale listings",
            "type": "boolean",
            "description": "Save every active for-sale listing in activeListingsHistory, billed per listing.",
            "default": false
          },
          "getRentalListings": {
            "title": "Get all rental listings",
            "type": "boolean",
            "description": "Save every active rental listing in rentalListingsHistory, billed per listing.",
            "default": false
          },
          "maxCataloguePerAgent": {
            "title": "Max past sales or listings per agent",
            "minimum": 0,
            "type": "integer",
            "description": "Cap each of the three lists above for each agent, to keep runs fast and costs predictable. Raise it for longer histories, or set 0 for no limit.",
            "default": 20
          },
          "agentName": {
            "title": "Agent name",
            "type": "string",
            "description": "Enter a first or last name. Zillow matches whole names, so 'john' finds John but 'jo' does not."
          },
          "topAgentsOnly": {
            "title": "Top Agents only",
            "type": "boolean",
            "description": "Search only agents carrying Zillow's Top Agent badge.",
            "default": false
          },
          "helpsBuyers": {
            "title": "Helps buyers",
            "type": "boolean",
            "description": "Search only agents Zillow lists as helping with buying.",
            "default": false
          },
          "helpsSellers": {
            "title": "Helps sellers",
            "type": "boolean",
            "description": "Search only agents Zillow lists as helping with selling.",
            "default": false
          },
          "specialties": {
            "title": "Specialties",
            "type": "array",
            "description": "Pick specialties. An agent must match all of them.",
            "items": {
              "type": "string",
              "enum": [
                "first-time-home-buyers",
                "investment-properties",
                "rentals",
                "military-or-veterans",
                "luxury-homes",
                "new-construction",
                "property-management",
                "senior-communities",
                "relocation",
                "foreclosure",
                "lot-or-land",
                "vacation-short-term-rentals"
              ],
              "enumTitles": [
                "First Time Homebuyers",
                "Investment Properties",
                "Rentals",
                "Military/Veterans",
                "Luxury Homes",
                "New Construction",
                "Property Management",
                "Senior Communities",
                "Relocation",
                "Foreclosure",
                "Lot/Land",
                "Vacation / Short-term Rentals"
              ]
            }
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "Pick languages the agent speaks.",
            "items": {
              "type": "string",
              "enum": [
                "american-sign-language",
                "arabic",
                "bengali",
                "cantonese",
                "farsi",
                "french",
                "german",
                "greek",
                "haitian-creole",
                "hebrew",
                "hindi",
                "hungarian",
                "italian",
                "japanese",
                "korean",
                "mandarin",
                "polish",
                "portuguese",
                "russian",
                "spanish",
                "filipino",
                "thai",
                "turkish",
                "ukrainian",
                "vietnamese"
              ],
              "enumTitles": [
                "American Sign Language (ASL)",
                "Arabic",
                "Bengali",
                "Cantonese",
                "Farsi",
                "French",
                "German",
                "Greek",
                "Haitian Creole",
                "Hebrew",
                "Hindi",
                "Hungarian",
                "Italian",
                "Japanese",
                "Korean",
                "Mandarin",
                "Polish",
                "Portuguese",
                "Russian",
                "Spanish",
                "Tagalog (Filipino)",
                "Thai",
                "Turkish",
                "Ukrainian",
                "Vietnamese"
              ]
            }
          },
          "requireEmail": {
            "title": "Only agents with an email",
            "type": "boolean",
            "description": "Save only agents whose Zillow profile shows an email. Others are skipped and not billed.",
            "default": false
          },
          "requirePhone": {
            "title": "Only agents with a phone",
            "type": "boolean",
            "description": "Save only agents whose Zillow profile shows a phone number. Others are skipped and not billed.",
            "default": false
          },
          "minRating": {
            "title": "Minimum rating",
            "type": "string",
            "description": "Enter a minimum average rating from 1 to 5, such as 4.5. Agents with no reviews are skipped when this is set."
          },
          "minReviews": {
            "title": "Minimum reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the minimum number of reviews."
          },
          "splitLargeSearches": {
            "title": "Split large searches",
            "type": "boolean",
            "description": "Zillow shows at most 25 pages per search. Keep this on to run extra searches by specialty and language when a location has more agents than that. Applies to Locations and directory URLs.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Set how many agents to process at the same time.",
            "default": 10
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Set how many times to retry a failed page, each time from a new IP address.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}