{
  "openapi": "3.0.1",
  "info": {
    "title": "Redfin Agent Contact Extractor — Phones & Brokerages",
    "description": "Build a live Redfin listing-agent database for any US market. Returns one deduped row per agent with direct phone, brokerage, listing count, total list volume and areas covered. Filter by price band, property type or sold deals. Pay only for the leads you get.",
    "version": "1.0",
    "x-build-id": "Q5Cmpz1jo7Fk8uWEK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axlymxp~redfin-agent-contact-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axlymxp-redfin-agent-contact-extractor",
        "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/axlymxp~redfin-agent-contact-extractor/runs": {
      "post": {
        "operationId": "runs-sync-axlymxp-redfin-agent-contact-extractor",
        "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/axlymxp~redfin-agent-contact-extractor/run-sync": {
      "post": {
        "operationId": "run-sync-axlymxp-redfin-agent-contact-extractor",
        "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, ZIP codes, neighborhoods or counties whose listing agents you want. Examples: \"Austin, TX\", \"78704\", \"Brooklyn, NY\".",
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "Scan which listings",
            "enum": [
              "for_sale",
              "sold"
            ],
            "type": "string",
            "description": "Agents are discovered from listings. 'for_sale' finds agents with active inventory right now; 'sold' finds agents who have recently closed deals in the market.",
            "default": "for_sale"
          },
          "maxListingsToScan": {
            "title": "Listings to scan",
            "minimum": 1,
            "type": "integer",
            "description": "How many listings to read agent details from, split across your locations. More listings means more unique agents and better listing-count stats. Roughly 0.5s per listing.",
            "default": 300
          },
          "maxItems": {
            "title": "Max agent leads",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of agent rows pushed to the dataset. You are charged per agent, so this is also your cost cap.",
            "default": 100
          },
          "requirePhone": {
            "title": "Only return agents with a direct phone",
            "type": "boolean",
            "description": "Skip agents whose listings did not disclose a phone number, so every row you pay for is contactable.",
            "default": true
          },
          "minListingsPerAgent": {
            "title": "Min listings per agent",
            "minimum": 1,
            "type": "integer",
            "description": "Only return agents seen on at least this many listings in the scan. Raise it to target high-volume producers.",
            "default": 1
          },
          "excludeRedfinAgents": {
            "title": "Exclude Redfin's own agents",
            "type": "boolean",
            "description": "Filter out in-house Redfin agents and keep only third-party brokerage agents.",
            "default": false
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Only scan listings of these property types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "condo",
                "townhouse",
                "multifamily",
                "land",
                "other",
                "manufactured",
                "co-op"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Min list price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Target agents working a given price band, e.g. set 1000000 for luxury agents."
          },
          "maxPrice": {
            "title": "Max list price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum list price. For rentals this is the monthly rent."
          },
          "soldWithinDays": {
            "title": "Sold within last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Only used when scanning sold listings. Defaults to 90.",
            "default": 90
          },
          "includeListings": {
            "title": "Include each agent's listings",
            "type": "boolean",
            "description": "Adds a 'listings' array to every agent row with the individual properties they are listing (address, price, beds, baths, URL).",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. The Redfin mobile API does not require a proxy, but you can route traffic through one for higher parallelism or geo control.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}