{
  "openapi": "3.0.1",
  "info": {
    "title": "Rent Data API - Rent Estimates, Comps, Market Rent Stats",
    "description": "Get US rent estimates for any address: mean, median and percentile rents, the comparable rental listings behind them, rent history at an exact address, and bounded area rent statistics with census, HUD fair market rent and labor market data. Rank and screen rental markets by metric.",
    "version": "0.1",
    "x-build-id": "Yx1tsUbcGZZfMpsSs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~rent-data-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-rent-data-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-data-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-rent-data-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-data-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-rent-data-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": [
              "rentSummary",
              "rentComps",
              "addressRents",
              "batchSummary",
              "areaSearch",
              "areaFacts",
              "rankings",
              "screener",
              "metricCatalogue",
              "account"
            ],
            "type": "string",
            "description": "Rent summary prices one address, coordinate pair or area. Rent comps adds the individual listings behind that price. Address rents reads listings recorded at one exact address. Batch summary prices up to a thousand addresses in one job. Area search resolves place names to area slugs and costs no credits. Area facts reads one area in full. Rankings order areas by a metric and screener finds areas matching a whole profile. Metric catalogue and account cost nothing and tell you what your plan can do.",
            "default": "rentSummary"
          },
          "targets": {
            "title": "Addresses, coordinates or area slugs",
            "type": "array",
            "description": "One subject per line for rent summary, rent comps, address rents and batch summary. A street address including city and state, a \"latitude,longitude\" pair, or one of the provider's area slugs. An area slug answers with unfiltered whole-area numbers and ignores the bedroom filter, which is a different question from pricing one address.",
            "items": {
              "type": "string"
            }
          },
          "address": {
            "title": "Address",
            "type": "string",
            "description": "A single street address, used when the list above is empty. Include the city and state for a reliable geocode."
          },
          "latitude": {
            "title": "Latitude",
            "type": "string",
            "description": "Decimal latitude for a point search, between -90 and 90. Must be paired with a longitude, and is ignored when an address or an area slug is set."
          },
          "longitude": {
            "title": "Longitude",
            "type": "string",
            "description": "Decimal longitude for a point search, between -180 and 180. Must be paired with a latitude."
          },
          "areaSlug": {
            "title": "Area slug",
            "type": "string",
            "description": "One of the provider's bounded area identifiers, from area search mode. Setting this makes the provider ignore the address, the coordinates and the bedroom count, and answer with unfiltered numbers for the whole area."
          },
          "bedrooms": {
            "title": "Bedrooms",
            "enum": [
              "",
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6"
            ],
            "type": "string",
            "description": "Bedroom count to price, where 0 means a studio. Ignored on an area slug search, because the provider returns unfiltered whole-area numbers there.",
            "default": ""
          },
          "baths": {
            "title": "Bathrooms",
            "enum": [
              "",
              "1",
              "1.5",
              "1.5+"
            ],
            "type": "string",
            "description": "Bathroom filter. Leave blank to include every bath count.",
            "default": ""
          },
          "buildingType": {
            "title": "Property type",
            "enum": [
              "",
              "apartment",
              "house"
            ],
            "type": "string",
            "description": "Limit the comparable listings to apartments or to houses. Leave blank for both.",
            "default": ""
          },
          "lookBackDays": {
            "title": "Days of listing history",
            "minimum": 90,
            "maximum": 1460,
            "type": "integer",
            "description": "How far back the comparable listings may reach, between 90 and 1460 days. The provider defaults to 365. A longer window finds more comps in thin markets and ages the estimate."
          },
          "includeAreaFacts": {
            "title": "Include government facts",
            "type": "boolean",
            "description": "Emit the curated census, HUD and labour statistics that ride along with a rent summary at no extra credit, one row per fact. Each row names the geographic level the number came from, because the provider falls back to the narrowest containing area that publishes it.",
            "default": false
          },
          "maxListingAgeDays": {
            "title": "Listing history window",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Address rents mode only: days of listing history to include. The provider defaults to 30."
          },
          "placeNames": {
            "title": "Place names or census codes",
            "type": "array",
            "description": "Area search mode: one place name or census code per line, for example \"hyde park cincinnati\", \"Austin TX\" or \"45208\". Codes are sent as census identifiers rather than as free text, because a code searched as a name matches nothing.",
            "items": {
              "type": "string"
            }
          },
          "areaSlugs": {
            "title": "Area slugs",
            "type": "array",
            "description": "Area facts mode: one area slug per line. Area search mode finds them at no cost.",
            "items": {
              "type": "string"
            }
          },
          "areaType": {
            "title": "Kind of area",
            "enum": [
              "state",
              "metro",
              "cbsa",
              "county",
              "place",
              "city",
              "zcta",
              "zip",
              "neighborhood",
              "school_district"
            ],
            "type": "string",
            "description": "Which kind of area to rank, screen or disambiguate a census code to. City is an alias for place, ZIP for ZCTA, and CBSA for metro, which covers both metropolitan and micropolitan areas.",
            "default": "metro"
          },
          "metric": {
            "title": "Metric to rank by",
            "type": "string",
            "description": "Rankings mode: one metric key, for example acs.median_household_income. Metric catalogue mode lists every key with an entitled flag, and a metric your account is not entitled to is refused rather than returned empty."
          },
          "withinSlug": {
            "title": "Rank within this area",
            "type": "string",
            "description": "Optional parent area slug to scope a ranking or a screen to. Leave blank to rank across the whole country."
          },
          "order": {
            "title": "Sort direction",
            "enum": [
              "",
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Leave blank to use each metric's natural direction, which sorts income high to low and poverty low to high.",
            "default": ""
          },
          "screenerFilters": {
            "title": "Screener constraints",
            "type": "array",
            "description": "Screener mode: one to six constraints, one per line, written as \"acs.median_household_income 75000-125000\", \"acs.effective_property_tax_rate_pct <= 0.75\" or \"acs.median_gross_rent >= 1200\". A range typed backwards is corrected rather than sent, because the provider answers it with an empty result and no explanation.",
            "items": {
              "type": "string"
            }
          },
          "sortMetric": {
            "title": "Screener sort metric",
            "type": "string",
            "description": "Which of the constrained metrics to order the matches by. Defaults to the first constraint."
          },
          "maxResults": {
            "title": "Maximum rows",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows. Each row is one charged result, so this is the ceiling on what a run can cost.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "How fast to call the provider. Per-key rate limits depend on your tier, and a 429 is honoured with the wait the provider publishes.",
            "default": 60
          },
          "baseUrl": {
            "title": "API base URL",
            "type": "string",
            "description": "Only set this if the provider has given you a different host. Leave blank for the standard one."
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own rent data API key. Generate one in the API settings of your account; API access needs an active Pro subscription with API access switched on. A pasted \"Bearer \" prefix is stripped. Leave blank to use the DATA_API_KEY environment secret instead."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}