{
  "openapi": "3.0.1",
  "info": {
    "title": "Real Estate Agent & Agency Lead Scraper - Realtor Emails",
    "description": "Returns real estate agents, brokers and agencies for any city with the emails and phone numbers their websites publish: one row per agent or agency with primary email, all emails with their source, phone, address, rating, agent or agency label and lead score. No login, no API key.",
    "version": "1.0",
    "x-build-id": "iLt9E3BbCVnJOM6Xa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/benthepythondev~real-estate-agent-lead-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-benthepythondev-real-estate-agent-lead-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/benthepythondev~real-estate-agent-lead-scraper/runs": {
      "post": {
        "operationId": "runs-sync-benthepythondev-real-estate-agent-lead-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/benthepythondev~real-estate-agent-lead-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-benthepythondev-real-estate-agent-lead-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": {
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "What to search for on Google Maps, for example \"real estate agents\", \"real estate agency\", \"realtor\", \"Immobilienmakler\" or \"property management\". Searched in the location below."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, district, state or country to search in, for example \"Austin, TX\", \"Berlin, Germany\" or \"London, UK\". The Actor reads past Google's list of about 200 places and keeps to the location's boundary."
          },
          "queries": {
            "title": "More search queries",
            "type": "array",
            "description": "Several search queries for one run. Each query is searched in each location, and an agent found by two searches is saved once.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "More locations",
            "type": "array",
            "description": "Several locations for one run, for example a list of cities. Each query is searched in each of them.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum leads per search",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Agents and agencies to save for each search (each query in each location), up to 2,000. Every lead's website is read for contact details, about a hundred leads a minute.",
            "default": 10
          },
          "requireEmail": {
            "title": "Only leads with an email",
            "type": "boolean",
            "description": "Saves only leads whose website publishes at least one email address. Leads without one are not charged. The run reads at most 1,000 places per search, or ten per lead asked for if that is more.",
            "default": false
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "websites"
            ],
            "type": "string",
            "description": "\"search\" finds agents and agencies on Google Maps. \"websites\" skips Google Maps and reads the contact details of the agency websites you list.",
            "default": "search"
          },
          "websites": {
            "title": "Agency websites",
            "type": "array",
            "description": "Agency or agent websites or domains to read contact details from without Google Maps, up to 5,000. Used when no query is given, or in \"websites\" mode.",
            "items": {
              "type": "string"
            }
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Save only leads with at least this star rating. Filtered leads are not charged."
          },
          "minReviews": {
            "title": "Minimum number of reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Save only leads with at least this many reviews. Filtered leads are not charged."
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language of the Google Maps categories, as a language code: en, de, fr, es, it.",
            "default": "en"
          },
          "countryCode": {
            "title": "Country of the visitor",
            "type": "string",
            "description": "Two-letter country code Google is told the visitor is in. It decides the format of addresses and of the phone number Google shows.",
            "default": "us"
          },
          "onlyNew": {
            "title": "Only leads not delivered before",
            "type": "boolean",
            "description": "Skips every agent or agency an earlier run with the same monitor name saved. Use it to work through a large market over several runs or to get new agencies on a schedule. Skipped leads are not charged.",
            "default": false
          },
          "monitorId": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the memory used by \"only leads not delivered before\"."
          },
          "debugMode": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Logs every Google Maps request with its size and time. For support.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}