{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Agents & Market Scraper",
    "description": "Search real estate agents on Zillow with full profiles, reviews, sales stats, and active listings. Get market trends (median prices, inventory, YoY changes) and mortgage rates across programs, loan types, and states. All data types in a single run.",
    "version": "1.0",
    "x-build-id": "kzoTDCvH1a8a1zFvU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jdtpnjtp~zillow-agents-market-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jdtpnjtp-zillow-agents-market-intelligence",
        "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/jdtpnjtp~zillow-agents-market-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-jdtpnjtp-zillow-agents-market-intelligence",
        "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/jdtpnjtp~zillow-agents-market-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-jdtpnjtp-zillow-agents-market-intelligence",
        "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": {
          "urls": {
            "title": "Agent Profile URLs",
            "type": "array",
            "description": "Zillow agent profile URLs. Screen name is auto-extracted from the URL (e.g. https://www.zillow.com/profile/SCREEN-NAME/).",
            "items": {
              "type": "string"
            }
          },
          "screenNames": {
            "title": "Agent Screen Names",
            "type": "array",
            "description": "Agent screen names directly (e.g. 'agentzillow', 'REMAX-EDGE')",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, ZIP, or neighborhood to search for agents (e.g. 'New York, NY', '90210')"
          },
          "agentName": {
            "title": "Agent Name",
            "type": "string",
            "description": "Filter by agent name"
          },
          "isTopAgent": {
            "title": "Top Agents Only",
            "type": "boolean",
            "description": "Only return Zillow Top Agents"
          },
          "isBuying": {
            "title": "Buyer Agents",
            "type": "boolean",
            "description": "Filter for buyer's agents"
          },
          "isSelling": {
            "title": "Seller Agents",
            "type": "boolean",
            "description": "Filter for seller's agents"
          },
          "specialties": {
            "title": "Specialties",
            "type": "string",
            "description": "Comma-separated specialties (e.g. 'luxury-homes, rentals')"
          },
          "languages": {
            "title": "Languages",
            "type": "string",
            "description": "Comma-separated languages (e.g. 'russian, spanish')"
          },
          "priceMin": {
            "title": "Min Price Range",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price range for agent filter"
          },
          "priceMax": {
            "title": "Max Price Range",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price range for agent filter"
          },
          "maxPages": {
            "title": "Max Pages",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum pages of search results to scrape (20 agents/page)",
            "default": 5
          },
          "includeReviews": {
            "title": "Include Reviews",
            "type": "boolean",
            "description": "Fetch agent reviews (+$0.001/page)",
            "default": true
          },
          "includeListings": {
            "title": "Include Listings",
            "type": "boolean",
            "description": "Fetch agent listings (+$0.001/page)",
            "default": true
          },
          "listingType": {
            "title": "Listing Type",
            "enum": [
              "sale",
              "rent",
              "sold"
            ],
            "type": "string",
            "description": "Type of listings to fetch",
            "default": "sale"
          },
          "reviewSort": {
            "title": "Review Sort",
            "enum": [
              "newest",
              "rating_high",
              "rating_low"
            ],
            "type": "string",
            "description": "Sort order for reviews",
            "default": "newest"
          },
          "reviewFilter": {
            "title": "Review Filter",
            "enum": [
              "all",
              "buying",
              "selling",
              "buy_and_sell",
              "connected",
              "renting",
              "no_response"
            ],
            "type": "string",
            "description": "Filter reviews by type",
            "default": "all"
          },
          "maxReviewPages": {
            "title": "Max Review Pages",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum pages of reviews per agent (10 reviews/page)",
            "default": 5
          },
          "maxListingPages": {
            "title": "Max Listing Pages",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum pages of listings per agent",
            "default": 5
          },
          "includeTeamListings": {
            "title": "Include Team Listings",
            "type": "boolean",
            "description": "Include listings from team members",
            "default": true
          },
          "marketLocations": {
            "title": "Market Locations",
            "type": "array",
            "description": "Locations for market trends data (e.g. 'New York, NY', '90210')",
            "items": {
              "type": "string"
            }
          },
          "marketRegionIds": {
            "title": "Market Region IDs",
            "type": "array",
            "description": "Zillow region IDs for market data (alternative to locations)",
            "items": {
              "type": "string"
            }
          },
          "mortgagePrograms": {
            "title": "Mortgage Programs",
            "type": "array",
            "description": "Mortgage programs: fixed_30, fixed_20, fixed_15, fixed_10, arm_3, arm_5, arm_7",
            "items": {
              "type": "string"
            }
          },
          "mortgageLoanTypes": {
            "title": "Loan Types",
            "type": "array",
            "description": "Loan types: conventional, fha, va, usda, jumbo",
            "items": {
              "type": "string"
            }
          },
          "mortgageCreditScores": {
            "title": "Credit Scores",
            "type": "array",
            "description": "Credit score tiers: low, high, very_high",
            "items": {
              "type": "string"
            }
          },
          "mortgageStates": {
            "title": "States",
            "type": "array",
            "description": "States for mortgage rates (2-letter codes or 'US' for national)",
            "items": {
              "type": "string"
            }
          },
          "includeMortgageHistory": {
            "title": "Include Mortgage History",
            "type": "boolean",
            "description": "Fetch 30-day mortgage rate history (+$0.002/combo)",
            "default": false
          },
          "apiBaseUrl": {
            "title": "API Base URL",
            "type": "string",
            "description": "API base URL (for development/staging only)",
            "default": "https://api.zillow-pulse.co"
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum parallel API requests (1-10)",
            "default": 5
          },
          "requestTimeout": {
            "title": "Request Timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Timeout per API request in seconds",
            "default": 30
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}