{
  "openapi": "3.0.1",
  "info": {
    "title": "Aqarmap Scraper with Contacts & Description",
    "description": "Extract Aqarmap property listings across Egypt with rich property detail, contact data, pricing, media, developers, and flexible market filters. Built for enterprise-grade Egypt real estate intelligence, lead enrichment, inventory monitoring, and automated analytics pipelines.",
    "version": "0.1",
    "x-build-id": "t2qbpqKf4CotOgRha"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~aqarmap-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-aqarmap-property-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/fatihtahta~aqarmap-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-aqarmap-property-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/fatihtahta~aqarmap-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-aqarmap-property-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": {
          "deal_type": {
            "title": "Choose Deal Type",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Choose whether to collect properties listed for sale or properties listed for rent. Keeping sale and rental runs separate makes monitoring, pricing analysis, and downstream comparison cleaner.",
            "default": "buy"
          },
          "language": {
            "title": "Choose Result Language",
            "enum": [
              "english",
              "arabic"
            ],
            "type": "string",
            "description": "Select whether Aqarmap pages should be requested in English or Arabic. Use one language consistently for recurring workflows when downstream comparison matters.",
            "default": "english"
          },
          "property_type": {
            "title": "Choose Property Category",
            "enum": [
              "property-type",
              "apartment",
              "furnished-apartment",
              "chalet",
              "villa",
              "land-or-farm",
              "building",
              "commercial",
              "administrative",
              "medical",
              "land-or-commercial"
            ],
            "type": "string",
            "description": "Choose the property family to include. Keep the default for broad discovery across supported property types, or choose a category such as apartments, villas, chalets, or commercial listings for cleaner segmentation.",
            "default": "property-type"
          },
          "location": {
            "title": "Set Optional Market Location",
            "type": "string",
            "description": "Enter an Aqarmap market phrase such as great cairo, new cairo, or sheikh zayed to focus the run on a territory. Leave empty for a broader category search across Aqarmap."
          },
          "keyword": {
            "title": "Add Keyword Search Text",
            "type": "string",
            "description": "Optional free-text term for project names, features, neighborhoods, or other search intent. Use it when a phrase should narrow the result set beyond category and location filters."
          },
          "min_price": {
            "title": "Set Minimum Price",
            "minimum": 1,
            "type": "integer",
            "description": "Optional lower price bound in EGP. Use it to remove listings below the target budget, investment, or qualification range."
          },
          "max_price": {
            "title": "Set Maximum Price",
            "minimum": 1,
            "type": "integer",
            "description": "Optional upper price bound in EGP. Use it to keep exports focused on a practical affordability, acquisition, or monitoring band."
          },
          "min_area": {
            "title": "Set Minimum Area",
            "minimum": 10,
            "type": "integer",
            "description": "Optional minimum unit size in square meters. Use it with maximum area when comparing similarly sized properties."
          },
          "max_area": {
            "title": "Set Maximum Area",
            "minimum": 10,
            "maximum": 5000,
            "type": "integer",
            "description": "Optional maximum unit size in square meters. Use it to keep results within a practical size band for valuation, monitoring, or ETL imports."
          },
          "amenities": {
            "title": "Select Required Amenities",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional amenities that listings should include. More selected amenities usually produce a narrower, more targeted dataset for lead review, inventory refreshes, or compound-focused analysis.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "security",
                "elevator",
                "maid_room",
                "water_meter",
                "pets_allowed",
                "landline_phone",
                "swimming_pool",
                "private_garden",
                "kids_play_area",
                "air_conditioning",
                "covered_parking",
                "electricity_meter",
                "natural_gas_meter",
                "kitchen_appliances"
              ],
              "enumTitles": [
                "Balcony",
                "Security",
                "Elevator",
                "Maid Room",
                "Water Meter",
                "Pets Allowed",
                "Landline Phone",
                "Swimming Pool",
                "Private Garden",
                "Kids Play Area",
                "Air Conditioning",
                "Covered Parking",
                "Electricity Meter",
                "Natural Gas Meter",
                "Kitchen Appliances"
              ]
            },
            "default": []
          },
          "inside_compound": {
            "title": "Require Inside Compound",
            "type": "boolean",
            "description": "Enable this when the run should focus on listings inside compounds for community comparisons, premium inventory review, or compound-level monitoring.",
            "default": false
          },
          "enrich_data": {
            "title": "Collect Richer Listing Details",
            "type": "boolean",
            "description": "Enable this for more complete property listing records, including richer descriptions, photos, features, contact values, and related party details when available. Turn it off for faster validation runs when standard listing fields are enough.",
            "default": true
          },
          "limit": {
            "title": "Set Maximum Records",
            "minimum": 1,
            "type": "integer",
            "description": "Choose the maximum number of property listing records to save. Start with a small value for validation, then increase it once the selected filters and output shape match your workflow."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}