{
  "openapi": "3.0.1",
  "info": {
    "title": "Serbian Real Estate Scraper | Nekretnine.rs",
    "description": "Scrape apartments, houses, rentals, land, prices, images, and detailed real estate listings from Nekretnine.rs with advanced filters for property type, location, price, rooms, and more. Export structured JSON data for market analysis, lead generation, and property tracking.",
    "version": "0.0",
    "x-build-id": "U9YBsv9UHu6U7TWKA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/true.false.maybe~nekretnine-rs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-true.false.maybe-nekretnine-rs-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/true.false.maybe~nekretnine-rs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-true.false.maybe-nekretnine-rs-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/true.false.maybe~nekretnine-rs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-true.false.maybe-nekretnine-rs-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",
        "required": [
          "startPage"
        ],
        "properties": {
          "city": {
            "title": "City",
            "type": "string",
            "description": "City to scrape real estate listings from (e.g. Belgrade, Novi Sad).",
            "default": "Belgrade"
          },
          "subCategory": {
            "title": "Property Type (Tip nekretnine)",
            "enum": [
              "apartments",
              "houses",
              "daily-rentals",
              "cottages-and-cabins",
              "construction-land",
              "agricultural-land",
              "commercial-spaces",
              "hospitality-properties",
              "sports-facilities",
              "industrial-properties",
              "other-property-types"
            ],
            "type": "string",
            "description": "Type of real estate to scrape.",
            "default": "apartments"
          },
          "maxResults": {
            "title": "Maximum number of results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of results you want to scrape. Leave empty for unlimited.",
            "default": 20
          },
          "scrapeImages": {
            "title": "Add-on: Scrape Property Images ($)",
            "type": "boolean",
            "description": "Scrape all images from each property listing. \n⚠️ With this add-on enabled there are additional charges.",
            "default": false
          },
          "scrapeCompany": {
            "title": "Add-on: Scrape Advertising Company ($)",
            "type": "boolean",
            "description": "Scrape the company advertising the property, including contact information, address, etc. \n⚠️ With this add-on enabled there are additional charges.",
            "default": false
          },
          "typeOfListing": {
            "title": "Listing Type",
            "enum": [
              "all",
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Type of listing (sale or rent).",
            "default": "sale"
          },
          "startPage": {
            "title": "Start page of scraping",
            "minimum": 1,
            "type": "integer",
            "description": "You can offset the start page of scraping to avoid duplication.",
            "default": 1
          },
          "minPrice": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum property price in euros."
          },
          "maxPrice": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum property price in euros."
          },
          "sqMeterMin": {
            "title": "Minimum Size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum property size in square meters."
          },
          "sqMeterMax": {
            "title": "Maximum Size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum property size in square meters."
          },
          "noOfRoomsMin": {
            "title": "Minimum Number of Rooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of rooms filter."
          },
          "noOfRoomsMax": {
            "title": "Maximum Number of Rooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of rooms filter."
          },
          "onlyNewBuildings": {
            "title": "Only Newly Built Properties",
            "type": "boolean",
            "description": "Include only newly built properties.",
            "default": false
          },
          "onlyPicture": {
            "title": "Only Listings With Pictures",
            "type": "boolean",
            "description": "Show only properties that include pictures.",
            "default": false
          },
          "only3DTour": {
            "title": "Only Listings With 3D Tour",
            "type": "boolean",
            "description": "Show only properties that include a 3D tour.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}