{
  "openapi": "3.0.1",
  "info": {
    "title": "Rent Estimate API - Property Value, Rent Comps and Listings",
    "description": "Get rent and value estimates with comparables for any US address, search 150M+ property records with owner and tax data, pull for-sale and rental listings with agent contacts, and read zip code market statistics for median price, median rent and days on market.",
    "version": "0.1",
    "x-build-id": "ecYz1l2XfwlAwHu7l"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~rent-estimate-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-rent-estimate-api",
        "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/nabeelbaghoor~rent-estimate-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-rent-estimate-api",
        "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/nabeelbaghoor~rent-estimate-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-rent-estimate-api",
        "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": {
          "mode": {
            "title": "What to do",
            "enum": [
              "propertyRecords",
              "valueEstimate",
              "rentEstimate",
              "saleListings",
              "rentalListings",
              "marketStatistics",
              "randomProperties"
            ],
            "type": "string",
            "description": "Property records searches the nationwide record set. Value estimate and rent estimate each take a list of addresses and return the estimate with its range and comparables. Sale listings and rental listings search what is on the market now. Market statistics returns one row per zip code.",
            "default": "propertyRecords"
          },
          "addresses": {
            "title": "Property addresses",
            "type": "array",
            "description": "Value estimate and rent estimate modes. One address per line, written as Street, City, State, Zip. The provider matches on that format, so a partial address returns fewer matches.",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "Zip codes",
            "type": "array",
            "description": "Market statistics mode. One five digit US zip code per line. Each one returns a row with the sale and rental sides side by side.",
            "items": {
              "type": "string"
            }
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Search modes. The city to search, used together with the state, for example Austin."
          },
          "state": {
            "title": "State",
            "type": "string",
            "description": "Search modes. The two letter state code, for example TX. A state on its own is a valid nationwide-scale search."
          },
          "zipCode": {
            "title": "ZIP code",
            "type": "string",
            "description": "Search modes. A five digit ZIP code. On its own this is usually the most precise way to search an area."
          },
          "address": {
            "title": "Address",
            "type": "string",
            "description": "Search modes. A single full address to look up, written as Street, City, State, Zip. Combined with a radius it becomes the centre of an area search instead."
          },
          "latitude": {
            "title": "Latitude",
            "type": "string",
            "description": "Search modes. The centre of a circular area search. Give a longitude and a radius with it."
          },
          "longitude": {
            "title": "Longitude",
            "type": "string",
            "description": "Search modes. The centre of a circular area search. Give a latitude and a radius with it."
          },
          "radius": {
            "title": "Radius in miles",
            "type": "string",
            "description": "Search modes. How far from the centre point or address to search, in miles."
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "Single Family",
              "Condo",
              "Townhouse",
              "Manufactured",
              "Multi-Family",
              "Apartment",
              "Land"
            ],
            "type": "string",
            "description": "Keeps only properties of this type. Land is indexed for property records and sale listings but not for rentals or rent estimates."
          },
          "bedrooms": {
            "title": "Bedrooms",
            "type": "string",
            "description": "An exact count such as 3, or a range such as 3-5. In estimate modes this describes the subject property rather than filtering."
          },
          "bathrooms": {
            "title": "Bathrooms",
            "type": "string",
            "description": "An exact count such as 2, or a range such as 2-3. Half baths count as 0.5."
          },
          "squareFootage": {
            "title": "Square footage",
            "type": "string",
            "description": "An exact size such as 1600, or a range such as 1200-2000."
          },
          "lotSize": {
            "title": "Lot size",
            "type": "string",
            "description": "Search modes. Lot size in square feet, as an exact value or a range such as 5000-20000."
          },
          "yearBuilt": {
            "title": "Year built",
            "type": "string",
            "description": "An exact year such as 1998, or a range such as 1990-2010."
          },
          "saleDateRange": {
            "title": "Sold within the last N days",
            "type": "string",
            "description": "Property records mode. Keeps only properties whose last recorded sale falls within this many days, for example 365."
          },
          "listingStatus": {
            "title": "Listing status",
            "enum": [
              "Active",
              "Inactive"
            ],
            "type": "string",
            "description": "Listing modes. Active returns what is on the market now. Inactive returns listings that have since been removed, which is how to study recent market history.",
            "default": "Active"
          },
          "price": {
            "title": "Listing price",
            "type": "string",
            "description": "Listing modes. An exact price, or a range such as 250000-500000. On rental listings this is the monthly rent."
          },
          "daysOld": {
            "title": "Listed within the last N days",
            "type": "string",
            "description": "Listing modes. Keeps only listings first listed within this many days, for example 7 for the past week."
          },
          "maxRadius": {
            "title": "Comparable search radius in miles",
            "minimum": 1,
            "type": "integer",
            "description": "Estimate modes. How far out to look for comparable properties. Leave empty to let the provider widen the search as needed."
          },
          "compDaysOld": {
            "title": "Comparable age in days",
            "minimum": 1,
            "type": "integer",
            "description": "Estimate modes. Ignores comparable sales or listings older than this many days. A tighter window tracks a fast moving market more closely but finds fewer comparables."
          },
          "compCount": {
            "title": "Number of comparables",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Estimate modes. How many comparable properties to return with each estimate. The provider defaults to 5."
          },
          "lookupSubjectAttributes": {
            "title": "Look up the subject property's own attributes",
            "type": "boolean",
            "description": "Estimate modes. Has the provider fill in the subject property's beds, baths and square footage from its own records before valuing it. Turn this off only if you want the estimate to use exactly the attributes you supplied and nothing else.",
            "default": true
          },
          "marketDataType": {
            "title": "Market data to return",
            "enum": [
              "All",
              "Sale",
              "Rental"
            ],
            "type": "string",
            "description": "Market statistics mode. All returns both the sale and rental sides. Pick one side to keep the rows narrower.",
            "default": "All"
          },
          "historyRange": {
            "title": "Months of history",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Market statistics mode. How many months of historical statistics to include with each zip code. The provider defaults to 6."
          },
          "maxResults": {
            "title": "Maximum rows",
            "minimum": 1,
            "type": "integer",
            "description": "The most rows this run will save and charge for. This is the spending control on both sides.",
            "default": 1000
          },
          "pageSize": {
            "title": "Results per request",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Search modes. How many rows to ask for at a time, up to the provider's ceiling of 500. The provider bills per request rather than per row, so a wider page is genuinely cheaper.",
            "default": 500
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 1200,
            "type": "integer",
            "description": "How fast to call the provider. The provider's hard ceiling is 20 requests per second on every plan, which is 1200 per minute.",
            "default": 300
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own API key for the property data provider, taken from your account dashboard. This actor is bring your own key: it never uses anyone else's credentials, and the key is stored as a secret."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}