{
  "openapi": "3.0.1",
  "info": {
    "title": "Acres99 Properties and Details Scraper",
    "description": "Permission-gated 99acres property listing scraper. Written authorization is required for automated retrieval and reuse; default runs make zero source requests.",
    "version": "1.0",
    "x-build-id": "uTcWTg1XaClXOvbVy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/realestateapi~acres99-properties-and-details-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-realestateapi-acres99-properties-and-details-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/realestateapi~acres99-properties-and-details-scraper/runs": {
      "post": {
        "operationId": "runs-sync-realestateapi-acres99-properties-and-details-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/realestateapi~acres99-properties-and-details-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-realestateapi-acres99-properties-and-details-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": {
          "authorizationConfirmed": {
            "title": "Current written authorization confirmed",
            "type": "boolean",
            "description": "Set true only when current written authorization explicitly permits automated retrieval and the intended reuse for 99acres. This attestation does not grant permission. Defaults to false, which makes zero source requests.",
            "default": false
          },
          "city": {
            "title": "City",
            "maxLength": 100,
            "type": "string",
            "description": "Indian city used to construct a public search URL when startUrls is empty.",
            "default": "Bangalore"
          },
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "rent",
              "buy",
              "pg",
              "commercial"
            ],
            "type": "string",
            "description": "Public listing mode.",
            "default": "rent"
          },
          "localities": {
            "title": "Localities",
            "maxItems": 20,
            "type": "array",
            "description": "Optional locality names used for local filtering and URL construction.",
            "items": {
              "type": "string",
              "maxLength": 100
            },
            "default": []
          },
          "bhk": {
            "title": "BHK values",
            "maxItems": 10,
            "type": "array",
            "description": "Optional bedroom counts. The filter is ignored for PG searches.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "propertyType": {
            "title": "Property types",
            "maxItems": 10,
            "type": "array",
            "description": "Optional property type labels such as apartment, villa, or plot.",
            "items": {
              "type": "string",
              "maxLength": 80
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum price (INR)",
            "minimum": 0,
            "type": "number",
            "description": "Optional lower price bound applied to normalized INR prices."
          },
          "maxPrice": {
            "title": "Maximum price (INR)",
            "minimum": 0,
            "type": "number",
            "description": "Optional upper price bound applied to normalized INR prices."
          },
          "minArea": {
            "title": "Minimum area (sq ft)",
            "minimum": 0,
            "type": "number",
            "description": "Optional lower bound for a public square-foot area value."
          },
          "maxArea": {
            "title": "Maximum area (sq ft)",
            "minimum": 0,
            "type": "number",
            "description": "Optional upper bound for a public square-foot area value."
          },
          "furnishing": {
            "title": "Furnishing",
            "maxItems": 5,
            "type": "array",
            "description": "Optional furnishing labels such as furnished or semi-furnished.",
            "items": {
              "type": "string",
              "maxLength": 40
            },
            "default": []
          },
          "availability": {
            "title": "Availability",
            "enum": [
              "any",
              "ready",
              "under-construction"
            ],
            "type": "string",
            "description": "Optional buy listing availability filter.",
            "default": "any"
          },
          "tenantType": {
            "title": "Tenant types",
            "maxItems": 5,
            "type": "array",
            "description": "Optional rent tenant preference labels.",
            "items": {
              "type": "string",
              "maxLength": 40
            },
            "default": []
          },
          "startUrls": {
            "title": "Public 99acres search URLs",
            "maxItems": 20,
            "type": "array",
            "description": "Optional public 99acres search, project, or listing URLs. These take precedence over city construction.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "Absolute HTTPS 99acres URL.",
                  "pattern": "^https://(?:www\\.)?99acres\\.com(?:/|$)"
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": true
            },
            "default": []
          },
          "maxResults": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum unique public listing records to emit.",
            "default": 15
          },
          "maxPages": {
            "title": "Maximum pages",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum pagination pages for each search URL.",
            "default": 3
          },
          "requestDelayMs": {
            "title": "Request delay (ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Delay between bounded public page requests.",
            "default": 500
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}