{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Phone Number Scraper with Host Listing Leads Finder",
    "description": "Airbnb Phone Number Scraper collects host phone data to support rental market research and outreach. Filter by location or property type to analyze markets and connect with relevant hosts at scale.",
    "version": "0.1",
    "x-build-id": "CpqEFBO0SX8o45aQl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~airbnb-phone-number-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-airbnb-phone-number-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~airbnb-phone-number-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-airbnb-phone-number-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~airbnb-phone-number-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-airbnb-phone-number-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": {
          "searchTerms": {
            "title": "🔍 Search terms",
            "type": "array",
            "description": "Keywords used to discover Airbnb results via Google. Combined with the location keyword into a site:airbnb.com dork. Example: [\"beach villa\", \"cabin\"].",
            "items": {
              "type": "string"
            }
          },
          "locationKeyword": {
            "title": "📍 Location keyword",
            "type": "string",
            "description": "Optional location added to every query to narrow discovery to a city / region / neighborhood. Example: locationKeyword=\"Lisbon\" + searchTerm=\"loft\" → site:airbnb.com \"Lisbon\" \"loft\". Leave empty for no location narrowing."
          },
          "resultTypeFilter": {
            "title": "🏷️ Result type filter",
            "enum": [
              "any",
              "listings",
              "profiles",
              "experiences"
            ],
            "type": "string",
            "description": "Keep only results of a given kind. 'any' returns everything; 'listings' keeps only /rooms/ pages; 'profiles' keeps only host /users/ pages; 'experiences' keeps only /experiences/ pages. Default is 'any'.",
            "default": "any"
          },
          "maxResults": {
            "title": "🎯 Max results per term",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of listing results to collect per search term. Scraping of a term stops once this limit is reached. Example: maxResults=50. Default is 20."
          },
          "marketCountry": {
            "title": "🌍 Target market / locale (optional)",
            "enum": [
              "Australia (+61)",
              "Austria (+43)",
              "Belgium (+32)",
              "Brazil (+55)",
              "Canada (+1)",
              "Croatia (+385)",
              "Czech Republic (+420)",
              "Denmark (+45)",
              "France (+33)",
              "Germany (+49)",
              "Greece (+30)",
              "India (+91)",
              "Indonesia (+62)",
              "Ireland (+353)",
              "Italy (+39)",
              "Japan (+81)",
              "Mexico (+52)",
              "Netherlands (+31)",
              "New Zealand (+64)",
              "Norway (+47)",
              "Poland (+48)",
              "Portugal (+351)",
              "Spain (+34)",
              "Sweden (+46)",
              "Switzerland (+41)",
              "Thailand (+66)",
              "Turkey (+90)",
              "United Arab Emirates (+971)",
              "United Kingdom (+44)",
              "United States (+1)"
            ],
            "type": "string",
            "description": "Country whose name and dial code are attached to every discovered result as market/locale context. Purely informational for listing discovery — leave it as-is if you don't need a market tag on the output. Accepts the legacy 'country' key for backward compatibility."
          },
          "searchPlatform": {
            "title": "🏨 Search platform",
            "enum": [
              "Airbnb"
            ],
            "type": "string",
            "description": "Which site the search terms are scoped to. Every term is turned into a site:<domain> Google dork against this platform. Currently tuned for Airbnb via google.com. (Accepts the phone base's legacy 'platform' field as a fallback.)"
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Proxy settings. This Actor enforces the GOOGLE_SERP proxy group required to fetch Google search pages."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}