{
  "openapi": "3.0.1",
  "info": {
    "title": "Immobiliare.it Scraper: Italy Homes and Agencies",
    "description": "Export Immobiliare.it homes, rentals and auctions from any comune, zona, region or radius in Italy, pasted links, annunci or agenzie, no login. Rows: price, superficie, locali, piano, address, photos, planimetrie, agency phones; add spese condominiali, classe energetica. Pay per ad, Excel or API.",
    "version": "0.1",
    "x-build-id": "nYbyYbQSXQgFYZWBH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~immobiliare-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-immobiliare-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/automation_craft~immobiliare-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-immobiliare-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/automation_craft~immobiliare-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-immobiliare-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": {
          "locations": {
            "title": "Places (comuni, provinces, regions, zones)",
            "type": "array",
            "description": "Places as Immobiliare.it writes them: a comune (\"Milano\", \"Bologna\", \"San Giovanni (PC)\" with its province code when several share the name), a province (\"provincia di Milano\", or its code in capitals: \"MI\"), a region (\"Lombardia\"), the whole country (\"Italia\") or a zone of a city (\"Navigli, Milano\"). Codes from the candidates of a free row also work (\"comune:8042\", \"provincia:MI\", \"regione:lom\", \"zona:10057\"). A name matching several places, or none, is a free row listing the candidates.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Immobiliare.it links (searches, ads, agencies)",
            "type": "array",
            "description": "Links copied from immobiliare.it: a search (/vendita-case/milano/?prezzoMassimo=300000, with its filters, order and page), an ad (/annunci/<number>/), an agency (/agenzie-immobiliari/<number>/) or an agency directory (/agenzie-immobiliari/<city>/), or a remote text or CSV file of links (at most 10 files a run, 10,000 links a file). A search link keeps its own settings; each setting you give below replaces the same setting of the link. A link the Actor cannot send as the site means it is a free row.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingIds": {
            "title": "Ad numbers",
            "type": "array",
            "description": "Immobiliare.it ad numbers (the digits of an /annunci/ link, such as \"49720693\") or ad links. Each ad is delivered as one row (with its full record when Listing details is on); an ad that is gone is a free row.",
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Agencies (their listings)",
            "type": "array",
            "description": "Immobiliare.it agencies whose own listings to read: an agency link (\"https://www.immobiliare.it/agenzie-immobiliari/42693/...\") or the agency number alone. Every ad of the agency is one Listing row. Filter settings do not apply to agencies.",
            "items": {
              "type": "string"
            }
          },
          "agencyProfiles": {
            "title": "Agency profiles",
            "type": "array",
            "description": "Agencies to deliver as one row each with their full profile: an agency link (\"https://www.immobiliare.it/agenzie-immobiliari/42693/...\") or the agency number. Each is charged as one Agency and one Agency profile; an agency that does not exist is a free row.",
            "items": {
              "type": "string"
            }
          },
          "agencyDirectoryPlaces": {
            "title": "Agency directory places",
            "type": "array",
            "description": "Places whose agencies to list, written like \"Places\" (\"Milano\", \"Navigli, Milano\", \"provincia di Lecce\"). Each agency Immobiliare.it lists for the place is one Agency row (name, logo, years on the site, plan, featured ads); turn on Agency profile for its address, phones, website, opening hours and listing counts. The site lists at most 100 agencies a place: a city that reaches 100 says so, and its zones list their own.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Radius search: latitude",
            "type": "number",
            "description": "Centre of a radius search (a point in Italy, such as 45.4642). Give latitude, longitude and radius together."
          },
          "longitude": {
            "title": "Radius search: longitude",
            "type": "number",
            "description": "Centre of a radius search (such as 9.19)."
          },
          "radiusKm": {
            "title": "Radius search: radius in km",
            "type": "number",
            "description": "Radius around the centre, 0.1 to 100 km. Every ad delivered lies inside the circle by its own coordinates; the search is read as the map cells that cover the circle."
          },
          "contract": {
            "title": "Contract",
            "enum": [
              "sale",
              "rent",
              "auction"
            ],
            "type": "string",
            "description": "For sale (default), for rent, or auctions (ads for sale at auction). Set, it replaces a search link's own."
          },
          "category": {
            "title": "Category",
            "enum": [
              "homes",
              "newBuilds",
              "rooms",
              "buildings",
              "storage",
              "garages",
              "offices",
              "land",
              "sheds",
              "shops"
            ],
            "type": "string",
            "description": "The kind of property (default homes; rooms are for rent only, new builds for sale only). Set, it replaces a search link's own and drops the link's property type."
          },
          "typologies": {
            "title": "Property types",
            "type": "array",
            "description": "Types inside the category: for homes apartment, penthouse, detachedHouse, farmhouse, villa, terracedHouse, loft; for new builds apartment, penthouse, villa, loft, shop, office, garage, shed, storage. Several types are joined with OR.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "penthouse",
                "detachedHouse",
                "farmhouse",
                "villa",
                "terracedHouse",
                "loft",
                "shop",
                "office",
                "garage",
                "shed",
                "storage"
              ],
              "enumTitles": [
                "Apartment (appartamento)",
                "Penthouse or attic (attico, mansarda)",
                "Detached house (casa indipendente)",
                "Farmhouse (rustico, casale)",
                "Villa",
                "Terraced house (villetta a schiera)",
                "Loft",
                "Shop (new builds)",
                "Office (new builds)",
                "Garage (new builds)",
                "Industrial shed (new builds)",
                "Storage (new builds)"
              ]
            }
          },
          "priceMin": {
            "title": "Price from (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price in euros (a monthly rent for rentals)."
          },
          "priceMax": {
            "title": "Price up to (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price in euros (a monthly rent for rentals). A new build project shows the price of its cheapest unit."
          },
          "surfaceMin": {
            "title": "Surface from (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest surface in square metres."
          },
          "surfaceMax": {
            "title": "Surface up to (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Largest surface in square metres."
          },
          "roomsMin": {
            "title": "Rooms from (locali)",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest rooms, 1 to 5 (homes and new builds)."
          },
          "roomsMax": {
            "title": "Rooms up to (locali)",
            "minimum": 0,
            "type": "integer",
            "description": "Most rooms, 1 to 5; 5 means 5 or more (homes and new builds)."
          },
          "bedroomsMin": {
            "title": "Bedrooms from",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest bedrooms (homes and new builds)."
          },
          "bedroomsMax": {
            "title": "Bedrooms up to",
            "minimum": 0,
            "type": "integer",
            "description": "Most bedrooms (homes and new builds)."
          },
          "bathrooms": {
            "title": "Bathrooms",
            "enum": [
              "1",
              "2",
              "3",
              "4+"
            ],
            "type": "string",
            "description": "Number of bathrooms (homes and new builds)."
          },
          "floorBands": {
            "title": "Floor",
            "type": "array",
            "description": "Floor bands, joined with OR (homes, new builds, rooms).",
            "items": {
              "type": "string",
              "enum": [
                "ground",
                "intermediate",
                "top"
              ],
              "enumTitles": [
                "Ground floor",
                "Intermediate floors",
                "Top floor"
              ]
            }
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "new",
              "renovated",
              "good",
              "toRenovate"
            ],
            "type": "string",
            "description": "Condition of the property (homes, buildings)."
          },
          "energyRating": {
            "title": "Energy rating",
            "enum": [
              "high",
              "mediumOrBetter",
              "lowOrBetter"
            ],
            "type": "string",
            "description": "Energy efficiency band as Immobiliare.it offers it (homes, buildings)."
          },
          "ownershipType": {
            "title": "Ownership",
            "enum": [
              "full",
              "bare",
              "partial",
              "usufruct",
              "timeshare",
              "landLease"
            ],
            "type": "string",
            "description": "Kind of ownership sold (homes for sale)."
          },
          "investmentOnly": {
            "title": "Rented out, as an investment",
            "type": "boolean",
            "description": "Only properties sold with a tenant (immobile a reddito; homes and offices for sale)."
          },
          "garageTypes": {
            "title": "Garage or parking",
            "type": "array",
            "description": "Garage or parking included, joined with OR (homes).",
            "items": {
              "type": "string",
              "enum": [
                "singleGarage",
                "doubleGarage",
                "parkingSpace"
              ],
              "enumTitles": [
                "Single garage",
                "Double garage",
                "Parking space"
              ]
            }
          },
          "gardenTypes": {
            "title": "Garden",
            "type": "array",
            "description": "Garden, joined with OR (homes).",
            "items": {
              "type": "string",
              "enum": [
                "private",
                "shared"
              ],
              "enumTitles": [
                "Private garden",
                "Shared garden"
              ]
            }
          },
          "heatingTypes": {
            "title": "Heating and air conditioning",
            "type": "array",
            "description": "Heating or air conditioning, joined with OR (homes).",
            "items": {
              "type": "string",
              "enum": [
                "autonomous",
                "central",
                "airConditioning"
              ],
              "enumTitles": [
                "Autonomous heating",
                "Central heating",
                "Air conditioning"
              ]
            }
          },
          "terrace": {
            "title": "Terrace",
            "type": "boolean",
            "description": "Only properties with a terrace (homes, rooms). Set to false to drop this filter from a pasted link."
          },
          "balcony": {
            "title": "Balcony",
            "type": "boolean",
            "description": "Only properties with a balcony (homes, rooms). Set to false to drop this filter from a pasted link."
          },
          "lift": {
            "title": "Lift",
            "type": "boolean",
            "description": "Only properties with a lift (homes). Set to false to drop this filter from a pasted link."
          },
          "cellar": {
            "title": "Cellar",
            "type": "boolean",
            "description": "Only properties with a cellar (homes). Set to false to drop this filter from a pasted link."
          },
          "pool": {
            "title": "Pool",
            "type": "boolean",
            "description": "Only properties with a pool (homes). Set to false to drop this filter from a pasted link."
          },
          "furnished": {
            "title": "Furnished",
            "type": "boolean",
            "description": "Only furnished properties (homes). Set to false to drop this filter from a pasted link."
          },
          "virtualTourOnly": {
            "title": "Virtual tour",
            "type": "boolean",
            "description": "Only ads with a virtual tour (homes, buildings, garages). Set to false to drop this filter from a pasted link."
          },
          "excludeAuctions": {
            "title": "Leave out auctions",
            "type": "boolean",
            "description": "Leave out ads sold at auction (sales). Set to false to drop this filter from a pasted link."
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Words the ad must contain, as the site's own keyword filter reads them (such as \"terrazzo\" or \"attico\")."
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "any",
              "private",
              "agency"
            ],
            "type": "string",
            "description": "Private sellers only, or agencies only. Read in the site's own private first (or agencies first) order, so it does not go with Sort or a search link's own order. Set to Any, it drops a link's private sellers switch."
          },
          "roomTypes": {
            "title": "Room type (rooms for rent)",
            "type": "array",
            "description": "Room or bed in a single, double, triple or shared room, joined with OR (category rooms).",
            "items": {
              "type": "string",
              "enum": [
                "single",
                "double",
                "triple",
                "shared"
              ]
            }
          },
          "roommatesGender": {
            "title": "Flatmates (rooms for rent)",
            "enum": [
              "male",
              "female",
              "mixed"
            ],
            "type": "string",
            "description": "Who lives in the flat (category rooms)."
          },
          "roommatesOccupation": {
            "title": "Flatmates are (rooms for rent)",
            "enum": [
              "students",
              "workers",
              "mixed"
            ],
            "type": "string",
            "description": "Occupation of the flatmates (category rooms)."
          },
          "petsAllowed": {
            "title": "Pets allowed (rooms for rent)",
            "type": "boolean",
            "description": "Only rooms where pets are allowed (category rooms)."
          },
          "smokersAllowed": {
            "title": "Smokers allowed (rooms for rent)",
            "type": "boolean",
            "description": "Only rooms where smoking is allowed (category rooms)."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "newest",
              "relevance",
              "oldest",
              "priceLow",
              "priceHigh",
              "biggest",
              "smallest",
              "mostRooms",
              "fewestRooms",
              "highestFloor",
              "lowestFloor",
              "biggestPriceCut",
              "pricePerSqmLow",
              "pricePerSqmHigh"
            ],
            "type": "string",
            "description": "Order of the results (default newest first: Immobiliare.it orders by publication day, paid placements first within a day). A search link keeps its own order unless you set one here."
          },
          "maxItems": {
            "title": "Max rows per run",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many paid rows (listings and agencies) in the whole run. Leave empty for no cap."
          },
          "maxItemsPerSearch": {
            "title": "Max rows per search",
            "minimum": 1,
            "type": "integer",
            "description": "Stop each search, agency or directory place after this many rows."
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "Stop each search or agency after this many pages of 20 ads."
          },
          "skipItems": {
            "title": "Skip results",
            "minimum": 0,
            "type": "integer",
            "description": "Results of each search to skip before the first row (free), to continue where an earlier run stopped: the coverage row of an incomplete search gives the number as resumeSkipItems. It replaces a pasted link's page number."
          },
          "includeDetails": {
            "title": "Listing details (full ad record)",
            "type": "boolean",
            "description": "Add the ad's full record to each row: description, all facts (floor, building floors, kitchen, heating, year built, availability, parking), condominium and heating costs, deposit, energy class with kWh/m², surface breakdown, price per m², mortgage estimate, videos, virtual tour, documents and every unit of a new build project. Charged per row as Listing details; a row whose record could not be read is not charged for it."
          },
          "includeAgencyProfile": {
            "title": "Agency profile",
            "type": "boolean",
            "description": "Add the agency's profile to its rows, once per agency per run: address, phones, website, opening hours, years on the site, association, listings and sold counts, description. Charged once per agency as Agency profile; a profile that could not be read, or that the run's unpaid work allowance could not pay for, is not charged and the row says why."
          },
          "includeRawRecord": {
            "title": "Raw app record",
            "type": "boolean",
            "description": "Also deliver the Immobiliare.it app's own JSON of each ad in the field \"raw\" (no extra charge). On every ad, private sellers' ads included."
          },
          "photosWithoutWatermark": {
            "title": "Photos without the Immobiliare.it watermark",
            "type": "boolean",
            "description": "Give each photo link on the image host's unmarked copy (the same file without the portal's watermark; an advertiser's own mark stays). Off by default: the links are the ones the app serves."
          },
          "includePersonalData": {
            "title": "Include personal data",
            "type": "boolean",
            "description": "All public data is always delivered and this setting has no effect (kept so saved inputs keep working)."
          },
          "language": {
            "title": "Language of the record's labels",
            "enum": [
              "it",
              "es",
              "pt",
              "el",
              "de",
              "fr"
            ],
            "type": "string",
            "description": "Language of the labels and fact values Immobiliare.it writes in records (default Italian). Ad texts stay as the advertiser wrote them."
          },
          "outputFields": {
            "title": "Output fields",
            "type": "array",
            "description": "Keep only these fields of each row (dotted paths such as \"price\", \"address.city\"); \"type\", \"id\" and the search keys always stay. Leave empty for every field.",
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The Actor reads Immobiliare.it through Apify's Italian residential proxy (at most three addresses a run). You may give up to three proxy links of your own instead."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}