{
  "openapi": "3.0.1",
  "info": {
    "title": "Yad2 Real Estate Scraper - Israel Property Listings",
    "description": "Scrape yad2.co.il: apartments for sale and for rent across Israel, plus commercial space. Price, rooms, square meters, floor, GPS, neighbourhood, agency and photos, in Hebrew and English.",
    "version": "1.0",
    "x-build-id": "IxviLXK69D3UQfQa5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~yad2-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-yad2-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/sian.agency~yad2-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-yad2-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/sian.agency~yad2-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-yad2-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": {
          "operation": {
            "title": "🎯 What do you want to scrape?",
            "enum": [
              "search"
            ],
            "type": "string",
            "description": "One operation. Listing Search walks a deal type — for sale, for rent or commercial — across a region, a city, or a Yad2 search URL you paste, and returns one row per listing.",
            "default": "search"
          },
          "dealType": {
            "title": "🏷️ What to search",
            "enum": [
              "forsale",
              "rent",
              "commercial"
            ],
            "type": "string",
            "description": "Which Yad2 board to walk. For sale returns asking prices, for rent returns monthly rent, commercial covers offices, shops, clinics, warehouses and industrial space. Ignored when you paste your own Yad2 URLs below.",
            "default": "forsale"
          },
          "region": {
            "title": "🗺️ Region",
            "enum": [
              "all",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7"
            ],
            "type": "string",
            "description": "Yad2 splits the country into seven regions and every search must name one. Pick a region here, or fill the city box below and the region is worked out from the city for you. All of Israel walks the seven regions one after another.",
            "default": "3"
          },
          "city": {
            "title": "🏙️ City or town",
            "type": "string",
            "description": "Narrow the region to one place. Type it in Hebrew (תל אביב, ירושלים, חיפה, באר שבע, רמת גן) or in English (Tel Aviv, Jerusalem, Haifa, Netanya) - English names are translated first, then matched against Yad2's own live place list, so the region is always the right one for that city. A numeric Yad2 city code works too. Leave empty for the whole region.",
            "default": ""
          },
          "searchUrls": {
            "title": "🌐 Yad2 search URLs",
            "type": "array",
            "description": "Paste Yad2 search pages instead of filling the fields above, for example https://www.yad2.co.il/realestate/forsale/tel-aviv-area?city=5000&price=3000000-5000000. Every filter already in the address bar is carried over - price, rooms, size, floor, property type, parking, elevator, safe room. Build the search you want in your browser and paste it.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "🔢 Max listings",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many listings. Each request returns 40, so the run stops at the first page that crosses your limit.",
            "default": 100
          },
          "propertyType": {
            "title": "🏗️ Property type",
            "enum": [
              "",
              "1,3,6,7,51",
              "5,39",
              "1",
              "3",
              "6",
              "7",
              "51",
              "5",
              "39",
              "11",
              "33",
              "32",
              "44",
              "30",
              "45",
              "25",
              "50",
              "12",
              "13",
              "14",
              "16",
              "19",
              "20",
              "35",
              "38",
              "59",
              "60"
            ],
            "type": "string",
            "description": "Keep only this kind of property. The first three options are shortcuts that cover several types at once. The residential types apply to the for-sale and for-rent boards; the ones marked commercial board only return rows when the deal type above is commercial space.",
            "default": ""
          },
          "listedBy": {
            "title": "👤 Listed by",
            "enum": [
              "any",
              "private",
              "agency"
            ],
            "type": "string",
            "description": "Yad2 marks every listing as posted by a private owner or by an estate agency. Private only is the buyer's filter that skips brokerage fees. Agencies only turns the run into an agency list, because those rows carry the agency name and logo.",
            "default": "any"
          },
          "minPrice": {
            "title": "💵 Min price (₪)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include, in shekels. Sale prices are the full asking price, rental prices are per month. 0 means no lower bound.",
            "default": 0
          },
          "maxPrice": {
            "title": "💰 Max price (₪)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to include, in shekels. 0 means no upper bound.",
            "default": 0
          },
          "minRooms": {
            "title": "🚪 Min rooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Fewest rooms to include. Israeli listings count rooms the local way - the living room counts, so a 3 room apartment is two bedrooms plus a lounge. 0 means no lower bound.",
            "default": 0
          },
          "maxRooms": {
            "title": "🚪 Max rooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Most rooms to include. 0 means no upper bound.",
            "default": 0
          },
          "minSquareMeters": {
            "title": "📐 Min size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest floor area to include, in square meters. 0 means no lower bound.",
            "default": 0
          },
          "maxSquareMeters": {
            "title": "📐 Max size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Largest floor area to include, in square meters. 0 means no upper bound.",
            "default": 0
          },
          "minFloor": {
            "title": "🏢 Min floor",
            "minimum": 0,
            "maximum": 80,
            "type": "integer",
            "description": "Lowest floor to include. Ground floor is 0 on Yad2. 0 means no lower bound.",
            "default": 0
          },
          "maxFloor": {
            "title": "🏢 Max floor",
            "minimum": 0,
            "maximum": 80,
            "type": "integer",
            "description": "Highest floor to include. 0 means no upper bound.",
            "default": 0
          },
          "hasParking": {
            "title": "🅿️ Has parking (חניה)",
            "type": "boolean",
            "description": "Keep only listings with a parking space. Parking is scarce in the Tel Aviv area and is the filter that moves prices most.",
            "default": false
          },
          "hasElevator": {
            "title": "🛗 Has elevator (מעלית)",
            "type": "boolean",
            "description": "Keep only listings in a building with a lift.",
            "default": false
          },
          "hasBalcony": {
            "title": "🌤️ Has balcony (מרפסת)",
            "type": "boolean",
            "description": "Keep only listings with a balcony or terrace.",
            "default": false
          },
          "hasSafeRoom": {
            "title": "🛡️ Has safe room (ממ\"ד)",
            "type": "boolean",
            "description": "Keep only listings with a mamad, the reinforced safe room built into Israeli homes since 1993. Yad2 records it as its own flag rather than as free text, and it is the feature Israeli buyers filter on hardest.",
            "default": false
          },
          "isRenovated": {
            "title": "🛠️ Renovated (משופץ)",
            "type": "boolean",
            "description": "Keep only listings the seller has marked as renovated.",
            "default": false
          },
          "isFurnished": {
            "title": "🛋️ Furnished (מרוהט)",
            "type": "boolean",
            "description": "Keep only furnished listings. Most useful on the rental board.",
            "default": false
          },
          "onlyWithPhotos": {
            "title": "🖼️ Only listings with photos",
            "type": "boolean",
            "description": "Skip listings with no photo. Useful when the output feeds a portal, a map or a client-facing report.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}