{
  "openapi": "3.0.1",
  "info": {
    "title": "Flatmates AU Scraper with Contacts & Features",
    "description": "Extract Flatmates.com.au room and rental-property listings with weekly rent, availability, locations, room details, media, and optional coordinates and public host context. Build pipeline-ready data for rental research, inventory monitoring, CRM enrichment, and analytics.",
    "version": "0.1",
    "x-build-id": "V10fTnm3dzNVVN5Dw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~flatmates-au-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-flatmates-au-property-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/fatihtahta~flatmates-au-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-flatmates-au-property-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/fatihtahta~flatmates-au-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-flatmates-au-property-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": {
          "url": {
            "title": "Add Independent Flatmates Search URL Seeds",
            "type": "array",
            "description": "Add supported Flatmates.com.au search URLs, one per line, such as https://flatmates.com.au/rooms/melbourne or its sorted search variants. Each URL is fetched as a separate seed with its existing search path and filters preserved.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Set an Australian Location (city, suburb, state, postcode, or market)",
            "type": "string",
            "description": "Optionally enter a Flatmates-supported Australian location such as Melbourne, Gold Coast, Darlinghurst, VIC, or 3053. Leave it empty with no URL to use the broad default rooms search. Location is discarded whenever URL mode is active."
          },
          "min_price": {
            "title": "Set the Minimum Weekly Rent (AUD)",
            "minimum": 0,
            "type": "integer",
            "description": "Include listings with advertised weekly rent at or above this amount in Australian dollars. Pair it with the maximum rent to create a comparable market slice for alerts, dashboards, or CRM imports."
          },
          "max_price": {
            "title": "Set the Maximum Weekly Rent (AUD)",
            "minimum": 0,
            "type": "integer",
            "description": "Include listings with advertised weekly rent at or below this amount in Australian dollars. It must be greater than or equal to the minimum weekly rent when both values are supplied."
          },
          "bills_included": {
            "title": "Require Bills to Be Included in the Advertised Rent",
            "type": "boolean",
            "description": "Enable this to restrict the query to listings that advertise bills as included. Leave it off when both inclusive and separately billed rooms are useful."
          },
          "availability_date": {
            "title": "Set the Latest Acceptable Availability Date",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Choose the latest date by which a room must be available. This is useful for move-date monitoring and time-bounded housing searches; the form stores the value in YYYY-MM-DD format."
          },
          "stay_length": {
            "title": "Choose the Required Stay Length",
            "enum": [
              "1",
              "2",
              "4",
              "6",
              "8",
              "13",
              "17",
              "26",
              "39",
              "52"
            ],
            "type": "string",
            "description": "Choose the stay duration that matching listings must support. Leave this empty to include listings regardless of their advertised stay-length requirement."
          },
          "property_type": {
            "title": "Select One or More Accommodation Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the Flatmates accommodation categories to include, such as share houses, whole properties, studios, or student accommodation. Leave this empty to search across every supported category.",
            "items": {
              "type": "string",
              "enum": [
                "share-houses",
                "whole-properties",
                "granny-flats",
                "homestays",
                "studios",
                "1-beds",
                "student-accommodation"
              ],
              "enumTitles": [
                "Share house",
                "Whole property",
                "Granny flat",
                "Homestay",
                "Studio",
                "1 bed flat",
                "Student accommodation"
              ]
            }
          },
          "women_only_household": {
            "title": "Show Only Women-Only Households",
            "type": "boolean",
            "description": "Enable this to restrict matching listings to households advertised as women-only. Leave it off to include all household compositions."
          },
          "room_type": {
            "title": "Choose a Private or Shared Room",
            "enum": [
              "private-room",
              "shared-room"
            ],
            "type": "string",
            "description": "Choose whether matching accommodation must offer a private room or a shared room. Leave this empty when either arrangement is acceptable."
          },
          "preferred_demographic": {
            "title": "Filter by the Household's Preferred Occupants",
            "enum": [
              "females",
              "males",
              "couples"
            ],
            "type": "string",
            "description": "Select the occupant group the household advertises as preferred. Leave this empty to avoid restricting results by women, men, or couples."
          },
          "furnishment": {
            "title": "Choose Furnished or Unfurnished Rooms",
            "enum": [
              "furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Restrict results to furnished or unfurnished rooms. Leave this empty when either furnishing arrangement is suitable."
          },
          "bathroom_type": {
            "title": "Choose the Required Bathroom Arrangement",
            "enum": [
              "ensuite",
              "ensuite-or-own"
            ],
            "type": "string",
            "description": "Require either an ensuite or an ensuite-or-own-bathroom arrangement. Leave this empty when shared bathroom listings are also acceptable."
          },
          "min_bedroom": {
            "title": "Set the Minimum Number of Available Bedrooms",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Choose how many bedrooms must be advertised as available. Use this for group moves or whole-property searches; leave it empty when one available room is sufficient."
          },
          "parking_type": {
            "title": "Choose the Required Parking Arrangement",
            "enum": [
              "no-parking",
              "off-street-parking",
              "on-street-parking"
            ],
            "type": "string",
            "description": "Filter for no parking, off-street parking, or on-street parking. Leave this empty when parking availability should not narrow the search."
          },
          "accepting": {
            "title": "Select Household Characteristics That Must Be Accepted",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose one or more advertised household preferences, such as students, pets, children, retirees, or LGBTQIA+ residents. Selected values narrow the query; leave this empty to avoid applying acceptance filters.",
            "items": {
              "type": "string",
              "enum": [
                "lgbt-friendly",
                "retirees",
                "students",
                "smokers",
                "backpackers",
                "children",
                "over-40",
                "pets"
              ],
              "enumTitles": [
                "LGBTQIA+",
                "Retirees",
                "Students",
                "Smokers",
                "Backpackers",
                "Children",
                "40+ years",
                "Pets"
              ]
            }
          },
          "sort_by": {
            "title": "Choose How Matching Listings Are Ordered",
            "enum": [
              "photos",
              "newest",
              "cheapest",
              "most-expensive",
              "earliest-available",
              "recently-active"
            ],
            "type": "string",
            "description": "Choose the Flatmates ordering applied to the generated search. Featured First preserves the default ordering; the other options prioritize recency, weekly rent, or availability.",
            "default": "photos"
          },
          "keyword": {
            "title": "Require Keywords in Matching Listings",
            "type": "string",
            "description": "Enter words describing required room or property features, such as air con, pool, balcony, or desk. Use focused terms to reduce irrelevant matches in monitoring, exports, and downstream review."
          },
          "enrich_data": {
            "title": "Collect Richer Public Details for Each Listing",
            "type": "boolean",
            "description": "Keep this enabled for CRM enrichment, detailed market analysis, map-ready datasets, or AI-agent review. Disable it for faster validation runs and lightweight listing monitoring that only needs search-result fields.",
            "default": true
          },
          "mcpConnectors": {
            "title": "MCP Delivery Connectors",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose user-authorized MCP connectors for optional post-run delivery of a concise listing summary and Apify output links. Leave empty to only save listings to the Apify dataset and key-value store.",
            "default": []
          },
          "limit": {
            "title": "Set the Maximum Number of Listings to Save",
            "minimum": 1,
            "type": "integer",
            "description": "Optional maximum number of property records to save. Leave this field empty to keep collecting until the selected Flatmates scope is exhausted or the run reaches its platform runtime limit."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}