{
  "openapi": "3.0.1",
  "info": {
    "title": "LoopNet Commercial Broker Leads with Emails",
    "description": "Build targeted commercial real estate datasets from loopnet.com. Extract broker, company, title, location, office phone for outreach, research, and opportunity discovery.",
    "version": "0.0",
    "x-build-id": "UMUzmlbfsAjzbKxWb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lead.gen.labs~loopnet-commercial-broker-leads-with-emails/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lead.gen.labs-loopnet-commercial-broker-leads-with-emails",
        "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/lead.gen.labs~loopnet-commercial-broker-leads-with-emails/runs": {
      "post": {
        "operationId": "runs-sync-lead.gen.labs-loopnet-commercial-broker-leads-with-emails",
        "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/lead.gen.labs~loopnet-commercial-broker-leads-with-emails/run-sync": {
      "post": {
        "operationId": "run-sync-lead.gen.labs-loopnet-commercial-broker-leads-with-emails",
        "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",
        "required": [
          "states",
          "max_profiles"
        ],
        "properties": {
          "states": {
            "title": "USA States",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more USA states to collect LoopNet commercial broker leads from. The state list is based on LoopNet's commercial real estate sale sitemap.",
            "items": {
              "type": "string",
              "enum": [
                "alabama",
                "alaska",
                "arizona",
                "arkansas",
                "california",
                "colorado",
                "connecticut",
                "delaware",
                "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"
              ],
              "enumTitles": [
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "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"
              ]
            },
            "default": [
              "alabama"
            ]
          },
          "max_profiles": {
            "title": "Maximum Profiles",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of broker profiles to save across all selected states.",
            "default": 100
          },
          "max_directory_pages_per_state": {
            "title": "Maximum Directory Pages per State",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum LoopNet broker directory/city pages to fetch per selected state before falling back to profile sitemap scanning.",
            "default": 25
          },
          "max_profile_sitemaps": {
            "title": "Maximum Profile Sitemap Files",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Maximum LoopNet broker profile sitemap files to scan as a fallback or supplement.",
            "default": 3
          },
          "max_profile_urls_from_sitemaps": {
            "title": "Maximum Profile URLs from Sitemaps",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "Maximum broker profile URLs to inspect from XML sitemaps. Profiles are filtered to the selected states after fetching.",
            "default": 2000
          },
          "enrich_websites": {
            "title": "Enrich Company Websites",
            "type": "boolean",
            "description": "Visit broker/company websites found on profiles to extract public emails and social links.",
            "default": true
          },
          "max_website_pages": {
            "title": "Maximum Website Pages per Broker",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum external company website pages to fetch per saved broker when enrichment is enabled.",
            "default": 3
          },
          "extract_emails": {
            "title": "Extract Public Emails",
            "type": "boolean",
            "description": "Extract distinct public email addresses from LoopNet profile pages and external company websites.",
            "default": true
          },
          "request_delay_millis": {
            "title": "Request Delay",
            "minimum": 0,
            "maximum": 30000,
            "type": "integer",
            "description": "Delay between requests in milliseconds.",
            "default": 750
          },
          "custom_proxy_url": {
            "title": "Custom Proxy URL",
            "type": "string",
            "description": "Optional proxy URL. Strongly recommended if LoopNet returns Access Denied for broker directory or profile pages.",
            "default": ""
          },
          "use_camoufox_browser": {
            "title": "Use Camoufox Browser Fallback",
            "type": "boolean",
            "description": "Retry LoopNet broker directory and profile pages with Camoufox when HTTP requests return Access Denied or 403.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}