{
  "openapi": "3.0.1",
  "info": {
    "title": "Emlakjet Property Scraper",
    "description": "Scrape for-sale and rental property listings from Emlakjet with prices, areas, room layout, floor, building age, coordinates, agency details, and listing metadata. Ideal for lead generation, market research, and property data pipelines in Turkey.",
    "version": "0.0",
    "x-build-id": "xcCDebMWBknQrZNEN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/seralifatih~turkish-real-estate-api-1/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-seralifatih-turkish-real-estate-api-1",
        "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/seralifatih~turkish-real-estate-api-1/runs": {
      "post": {
        "operationId": "runs-sync-seralifatih-turkish-real-estate-api-1",
        "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/seralifatih~turkish-real-estate-api-1/run-sync": {
      "post": {
        "operationId": "run-sync-seralifatih-turkish-real-estate-api-1",
        "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": {
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Emlakjet search or category result page URLs to scrape. Leave empty to use filter-based mode.",
            "items": {
              "type": "string"
            }
          },
          "listingUrls": {
            "title": "Listing URLs",
            "type": "array",
            "description": "Direct Emlakjet property detail page URLs to scrape without visiting search pages first.",
            "items": {
              "type": "string"
            }
          },
          "filters": {
            "title": "Search Filters",
            "type": "object",
            "description": "Build a search URL from validated filters. Used when Search URLs is empty.",
            "properties": {
              "listingType": {
                "title": "Listing Type",
                "type": "string",
                "description": "Listing intent to scrape: satilik for sale or kiralik for rent.",
                "enum": [
                  "satilik",
                  "kiralik"
                ],
                "default": "satilik"
              },
              "propertyType": {
                "title": "Property Type",
                "type": "string",
                "description": "Property category slug used by Emlakjet, such as daire, villa, arsa, or ofis.",
                "enum": [
                  "konut",
                  "daire",
                  "villa",
                  "mustakil-ev",
                  "arsa",
                  "isyeri",
                  "ofis",
                  "depo"
                ],
                "default": "daire"
              },
              "city": {
                "title": "City",
                "type": "string",
                "description": "Turkish province name or slug. Validated against the official list of 81 provinces.",
                "example": "istanbul"
              },
              "district": {
                "title": "District",
                "type": "string",
                "description": "Optional Turkish district name or slug. Validated against the selected province.",
                "example": "kadikoy"
              },
              "rooms": {
                "title": "Room Layout",
                "type": "string",
                "description": "Room filter such as 1+1, 2+1, or 3+1.",
                "example": "3+1"
              },
              "priceMin": {
                "title": "Min Price (TRY)",
                "type": "integer",
                "description": "Minimum asking price in Turkish lira.",
                "example": 2000000
              },
              "priceMax": {
                "title": "Max Price (TRY)",
                "type": "integer",
                "description": "Maximum asking price in Turkish lira.",
                "example": 8000000
              },
              "areaMin": {
                "title": "Min Area (m2)",
                "type": "integer",
                "description": "Minimum gross area in square meters.",
                "example": 80
              },
              "areaMax": {
                "title": "Max Area (m2)",
                "type": "integer",
                "description": "Maximum gross area in square meters.",
                "example": 200
              }
            }
          },
          "maxListings": {
            "title": "Max Listings",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of listings to scrape. Use 0 for unlimited pagination.",
            "default": 200
          },
          "scrapeDetails": {
            "title": "Scrape Detail Pages",
            "type": "boolean",
            "description": "If enabled, follow each listing to its detail page for full specs, features, agency info, and images.",
            "default": true
          },
          "proxyConfig": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Apify proxy configuration. Datacenter proxies are usually sufficient for Emlakjet.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}