{
  "openapi": "3.0.1",
  "info": {
    "title": "Imot.bg Bulgaria Real Estate Scraper",
    "description": "[💰 $3.0 / 1K] Extract Bulgarian real estate from imot.bg — apartments, houses, land & commercial, for sale or rent, with price, area, rooms, location, photos, descriptions & agency contacts. Search by city & type or paste imot.bg URLs.",
    "version": "1.0",
    "x-build-id": "lTUL37i5SKO5nLiDy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~imot-bg-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-imot-bg-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/solidcode~imot-bg-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-imot-bg-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/solidcode~imot-bg-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-imot-bg-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": {
          "listingType": {
            "title": "For Sale or For Rent",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Choose whether to collect listings that are for sale or for rent. Ignored when Start URLs are provided.",
            "default": "sale"
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "any",
              "apartment",
              "house",
              "land",
              "commercial",
              "garage"
            ],
            "type": "string",
            "description": "Filter by property category. Choose 'Any' to include all types. Ignored when Start URLs are provided.",
            "default": "any"
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City to search in Bulgaria, e.g. 'Sofia', 'Plovdiv', 'Varna', 'Burgas', 'Ruse'. Leave empty to search the whole country. Ignored when Start URLs are provided."
          },
          "priceMin": {
            "title": "Minimum Price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep listings at or above this price, in euros. For rentals this is the monthly rent. Listings shown as 'by request' (no numeric price) are kept, so a very narrow price band can still return some by-request listings, and may stop scanning early after several pages with nothing in range. Leave empty for no minimum."
          },
          "priceMax": {
            "title": "Maximum Price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep listings at or below this price, in euros. For rentals this is the monthly rent. Listings shown as 'by request' (no numeric price) are kept, so a very narrow price band can still return some by-request listings, and may stop scanning early after several pages with nothing in range. Leave empty for no maximum."
          },
          "rooms": {
            "title": "Number of Rooms",
            "uniqueItems": true,
            "type": "array",
            "description": "Number of rooms to include. Rooms applies to apartments only — it is ignored when Property Type is Houses, Land, Commercial, or Garages (those searches are unaffected by this filter). Leave empty for any size.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5+"
              ],
              "enumTitles": [
                "1 room (studio)",
                "2 rooms",
                "3 rooms",
                "4 rooms",
                "5+ rooms"
              ]
            },
            "default": []
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Power-user input. Paste imot.bg search-result URLs (build a filtered search on imot.bg and copy the address bar) or individual listing URLs. When provided, these override the For Sale/Rent, Property Type, City, and Filter settings above — any filters you set on the imot.bg site are preserved this way.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Include Full Listing Details",
            "type": "boolean",
            "description": "Open each listing's own page to add the full description, the complete photo set, construction type, heating, floor, year built, and the agency or private-seller contact details. Turn off (the default) for faster, cheaper runs that still return everything on the search card — price, area, rooms, location, a thumbnail, and the title. Slower when on: it makes one extra request per listing.",
            "default": false
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of listings to collect across all searches and URLs. Set 0 for unlimited (an internal upper limit of 50,000 rows per run still applies to prevent runaway pagination). Results are collected in full pages, so the final page may overshoot this cap by a few records.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}