{
  "openapi": "3.0.1",
  "info": {
    "title": "Italy Real Estate Market Data API - Prices, Sales, Forecasts",
    "description": "Italian real estate market data by region, province, municipality or micro-zone: listing prices and history, price forecasts, listings stock, transaction prices and volumes, and buyer and tenant demand, for sale and rent. Read only. Pay per result. Bring your own credentials.",
    "version": "0.1",
    "x-build-id": "4VMbrNbpPXe7mN6Ew"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~italy-real-estate-market-data-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-italy-real-estate-market-data-api",
        "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/nabeelbaghoor~italy-real-estate-market-data-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-italy-real-estate-market-data-api",
        "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/nabeelbaghoor~italy-real-estate-market-data-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-italy-real-estate-market-data-api",
        "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": {
          "service": {
            "title": "What to read",
            "enum": [
              "price",
              "priceHistory",
              "priceForecast",
              "ads",
              "adsHistory",
              "salesPrice",
              "salesPriceHistory",
              "salesVolume",
              "salesVolumeHistory",
              "searchData",
              "searchDataHistory",
              "zoneList",
              "subZones",
              "taxonomiesGeneral",
              "taxonomiesTime"
            ],
            "type": "string",
            "description": "One service per run. Market services answer with one record per zone for the period you set. The zone services list zone IDs, which are what the market services are asked with: start there if you do not know the ID of a municipality or micro-zone. The reference services read the request vocabularies and the months for which data exists.",
            "default": "price"
          },
          "zoneIds": {
            "title": "Zone IDs",
            "type": "array",
            "description": "One zone per line. Give a bare ID, read with the zone type below, or type:id to name the type on the line, for example reg:3 for Lombardia or com:100005 for one municipality. Used by every market service and by the zones-inside service. Get IDs from the zone services.",
            "items": {
              "type": "string"
            }
          },
          "zoneType": {
            "title": "Zone type",
            "enum": [
              "reg",
              "pro",
              "com",
              "macro",
              "micro"
            ],
            "type": "string",
            "description": "The zone type for bare IDs, and the type to list for the zones service. The provider documents region, province, municipality, macro-zone and micro-zone.",
            "default": "com"
          },
          "contract": {
            "title": "Contract",
            "enum": [
              "1",
              "2"
            ],
            "type": "string",
            "description": "Sale or rent. Required by every market service.",
            "default": "1"
          },
          "window": {
            "title": "Time window",
            "enum": [
              "1M",
              "3M",
              "6M",
              "12M"
            ],
            "type": "string",
            "description": "The length of the period each reading covers. The provider ends a quarterly period in March, June, September or December, a semiannual one in June or December, and an annual one in December, and refuses other months.",
            "default": "1M"
          },
          "year": {
            "title": "Year",
            "minimum": 2000,
            "maximum": 2100,
            "type": "integer",
            "description": "The year of the period. Use the available periods service to see which months have data, and which have transaction data.",
            "default": 2024
          },
          "month": {
            "title": "Month",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "The month the period ends in, 1 to 12, and allowed by the time window above.",
            "default": 12
          },
          "typology": {
            "title": "Property typology",
            "enum": [
              "4",
              "5",
              "7",
              "10",
              "11",
              "12",
              "13",
              "31",
              "110",
              "140"
            ],
            "type": "string",
            "description": "Restrict listing based readings to one property typology. Accepted by the listing prices, price history, price forecast, listings stock and demand services."
          },
          "cadastralTypology": {
            "title": "Cadastral category",
            "enum": [
              "A1",
              "A2",
              "A3",
              "A4",
              "A5",
              "A6",
              "A7",
              "A8",
              "A9",
              "A11"
            ],
            "type": "string",
            "description": "Restrict transaction based readings to one land registry category. Accepted by the transaction prices, transaction volumes and their history services."
          },
          "segmentation": {
            "title": "Forecast segmentation",
            "enum": [
              "not_segmented",
              "energy"
            ],
            "type": "string",
            "description": "Split the price forecast by energy class (high, medium and low) instead of one average. Accepted by the price forecast service only."
          },
          "nation": {
            "title": "Nation",
            "enum": [
              "IT"
            ],
            "type": "string",
            "description": "The provider documents Italy only.",
            "default": "IT"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many rows. A zone listing of micro-zones can return thousands of records, so this is what bounds a run.",
            "default": 500
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Pacing ceiling. The provider does not publish a rate limit, so the default is modest. A rate limit refusal is retried with backoff.",
            "default": 30
          },
          "apiKey": {
            "title": "API key (access token)",
            "type": "string",
            "description": "An access token from your own provider account, if you already have one. Tokens last four hours. Leave blank to use the DATA_API_KEY environment secret, or to have the actor sign in with the four fields below. This actor is bring-your-own-key and never ships a credential of its own."
          },
          "clientId": {
            "title": "Client ID",
            "type": "string",
            "description": "The client ID from your provider contract, used with the client secret, username and password to sign in once per run. Not needed when you paste an access token. Falls back to the DATA_API_CLIENT_ID environment secret."
          },
          "clientSecret": {
            "title": "Client secret",
            "type": "string",
            "description": "The client secret that goes with the client ID. Falls back to the DATA_API_CLIENT_SECRET environment secret."
          },
          "username": {
            "title": "Username",
            "type": "string",
            "description": "Your provider account username. Falls back to the DATA_API_USERNAME environment secret."
          },
          "password": {
            "title": "Password",
            "type": "string",
            "description": "Your provider account password. Falls back to the DATA_API_PASSWORD environment secret."
          },
          "baseUrl": {
            "title": "API base URL",
            "type": "string",
            "description": "Override the host the actor calls, for example the provider's sandbox host. Only useful for testing."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}