{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Agents by Zip Code Scraper With Market Analytics",
    "description": "Realtor.com Agents by Zip Code Scraper — Find real estate agents by ZIP code and extract profiles, agencies, ratings, reviews, specialties, locations, and contact details. Analyze agent density, ratings, market activity, and local competition for real estate insights.",
    "version": "0.1",
    "x-build-id": "pxv645x91e0AnMK5H"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~realtor-com-agents-by-zip-code-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-realtor-com-agents-by-zip-code-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/simpleapi~realtor-com-agents-by-zip-code-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-realtor-com-agents-by-zip-code-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/simpleapi~realtor-com-agents-by-zip-code-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-realtor-com-agents-by-zip-code-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": {
          "targetZipCodes": {
            "title": "📍 Target Zip Codes",
            "type": "array",
            "description": "Zip codes to scrape agents from. Example: [\"07101\", \"00501\"]. Supports bulk input for multiple locations.",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "📍 Zip Codes (legacy alias)",
            "type": "array",
            "description": "Legacy alias of targetZipCodes, accepted for backward compatibility with older input JSON. Prefer targetZipCodes above; leave empty if you already filled that field.",
            "items": {
              "type": "string"
            }
          },
          "maxAgentsPerZip": {
            "title": "📊 Max Agents Per Zip Code",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of agents to extract per zip code. Example: maxAgentsPerZip=50 stops each zip code at 50 agents. Default 10."
          },
          "maxItemsPerZipcode": {
            "title": "📊 Max Items Per Zip Code (legacy alias)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Legacy alias of maxAgentsPerZip, accepted for backward compatibility with older input JSON. Prefer maxAgentsPerZip above."
          },
          "agentSortOrder": {
            "title": "🔀 Agent Sort Order",
            "enum": [
              "RELEVANT_AGENTS",
              "RATINGS_REVIEWS",
              "MOST_SALES",
              "MOST_RECENT_ACTIVITY",
              "TESTIMONIALS_RECOMMENDATIONS"
            ],
            "type": "string",
            "description": "How to sort the agent results returned per zip code. Default RELEVANT_AGENTS."
          },
          "sortOrder": {
            "title": "🔀 Sort Order (legacy alias)",
            "enum": [
              "RELEVANT_AGENTS",
              "RATINGS_REVIEWS",
              "MOST_SALES",
              "MOST_RECENT_ACTIVITY",
              "TESTIMONIALS_RECOMMENDATIONS"
            ],
            "type": "string",
            "description": "Legacy alias of agentSortOrder, accepted for backward compatibility with older input JSON. Prefer agentSortOrder above."
          },
          "includeMarketAnalytics": {
            "title": "📈 Include Market Analytics",
            "type": "boolean",
            "description": "When on, adds averageRating, recommendationsCount, isPaid, isRealtor, sortingWeight, servicesBuyer/Seller, price-range fields, a recently-sold sample, and the derived priceRangeMidpoint / daysSinceLastSale / dataCompletenessScore / agentTypeLabel fields to every row. Default true.",
            "default": true
          },
          "minDataCompletenessScore": {
            "title": "🧹 Minimum Data Completeness Score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Skip agents whose computed dataCompletenessScore (% of tracked fields that are non-null) falls below this percentage. Only applies when Include Market Analytics is on. Set to 0 to keep every agent. Default 0.",
            "default": 0
          },
          "enableGrowthTracking": {
            "title": "📊 Enable Growth Tracking",
            "type": "boolean",
            "description": "When on, adds reviewCountDelta, soldCountDelta, previousReviewCount, previousSoldCount, and isFirstRunForAgent to every row, computed against this agent's previous run. Default true.",
            "default": true
          },
          "monitoringScopeId": {
            "title": "🏷️ Monitoring Scope ID (optional)",
            "type": "string",
            "description": "Optional label to keep separate monitoring campaigns from sharing the same growth-tracking baseline (e.g. run the same zip codes for two different clients under two different scope IDs). Leave empty to use one shared baseline per agent."
          },
          "maxRetries": {
            "title": "🔁 Max Retries Per Request",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many times to retry a failed request (per proxy tier) before giving up on that page/profile. Default 3.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "🔒 Proxy Configuration",
            "type": "object",
            "description": "Smart proxy management. Starts with no proxy by default; falls back to datacenter then residential automatically if requests are blocked."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}