{
  "openapi": "3.0.1",
  "info": {
    "title": "NeighborhoodScout Scraper: US Home Values, Crime & Schools",
    "description": "Scrape NeighborhoodScout area market data for US states, cities, neighborhoods and schools: median home value, rent, appreciation, demographics, crime rates and school ratings. 93 fields, public pages only, no login. Export CSV, Excel, JSON or XML.",
    "version": "0.1",
    "x-build-id": "9ieO7GuTqJMW1xAsx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~neighborhoodscout-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-neighborhoodscout-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/recordsdata~neighborhoodscout-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-neighborhoodscout-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/recordsdata~neighborhoodscout-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-neighborhoodscout-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": {
          "locations": {
            "title": "Places by name",
            "type": "array",
            "description": "One place per line, for example \"Worcester, MA\" (city), \"Shrewsbury Street, Worcester, MA\" (neighborhood) or \"MA\" (state). Capitals and accents do not matter. A place the site does not have returns one free error row.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Or paste NeighborhoodScout links",
            "type": "array",
            "description": "Pages you already have, for example neighborhoodscout.com/ma/worcester or neighborhoodscout.com/ma/worcester/shrewsbury-street. A neighborhood or school link returns that one row; a state or city link follows Record types below. Zip code pages are not supported.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "states": {
            "title": "Or scan whole states",
            "type": "array",
            "description": "Pick states to scan completely, for example Massachusetts. You get every city, neighborhood or school of the state, depending on Record types below. Leave empty if you named places above.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "DC",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY"
              ],
              "enumTitles": [
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "District of Columbia",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "West Virginia",
                "Wisconsin",
                "Wyoming"
              ]
            },
            "default": []
          },
          "recordTypes": {
            "title": "Record types",
            "type": "array",
            "description": "What to return for the states and cities you scan. City: home values, rent, appreciation, ownership. State: same figures per state. Neighborhood: value, rent, vacancy, income. School: rating, enrollment, test scores. Places you name directly are always returned. Example: City.",
            "items": {
              "type": "string",
              "enum": [
                "state",
                "city",
                "neighborhood",
                "school"
              ],
              "enumTitles": [
                "State",
                "City",
                "Neighborhood",
                "School"
              ]
            },
            "default": [
              "city"
            ]
          },
          "includeDemographics": {
            "title": "Add demographics (extra cost per row)",
            "type": "boolean",
            "description": "Adds population, income, poverty, education, jobs, race, ancestry, languages and age mix to state and city rows. Billed as the demographics-data event per row.",
            "default": true
          },
          "includeCrime": {
            "title": "Add crime statistics (extra cost per row)",
            "type": "boolean",
            "description": "Adds the 1 to 100 crime index, violent and property crime rates per 1,000 residents and comparison with the state and nation to state and city rows. Billed as the crime-data event per row.",
            "default": true
          },
          "includeSchools": {
            "title": "Add school districts (extra cost per row)",
            "type": "boolean",
            "description": "Adds each city's school districts with a 1 to 10 quality score and the first schools listed. Cities only. Billed as the school-district-data event per row. For every school of a city use Record types: School.",
            "default": false
          },
          "includeContactDetails": {
            "title": "Add school phone numbers",
            "type": "boolean",
            "description": "Adds the public phone a school publishes on its profile. Only affects School rows. Off by default.",
            "default": false
          },
          "nameKeyword": {
            "title": "Name contains",
            "type": "string",
            "description": "Keep only cities and neighborhoods whose name contains this text, for example \"park\" or \"heights\". Applies to scans of whole states or cities; places you name directly are never filtered.",
            "default": ""
          },
          "minMedianHomeValue": {
            "title": "Min median home value (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only areas with a median home value of at least this many US dollars, for example 250000."
          },
          "maxMedianHomeValue": {
            "title": "Max median home value (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only areas with a median home value of at most this many US dollars, for example 600000."
          },
          "minPopulation": {
            "title": "Min population (residents)",
            "minimum": 0,
            "type": "integer",
            "description": "Only states and cities with at least this many residents, for example 50000. Neighborhoods are not filtered by it."
          },
          "minSchoolRating": {
            "title": "Min school rating (1 to 10)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Only schools rated at least this value against their state (10 is best), for example 7. School rows only."
          },
          "maxItems": {
            "title": "Max rows to return",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum rows delivered and charged, for example 10. Free Apify plans are capped at 10 rows per run (preview); paid plans can go up to 1,000,000."
          },
          "maxRunSeconds": {
            "title": "Max run time (seconds)",
            "minimum": 30,
            "maximum": 86400,
            "type": "integer",
            "description": "Stop after this many seconds and return what was gathered, so a wide scan never runs unbounded. The site is read at about two pages per second.",
            "default": 3600
          },
          "onlyNew": {
            "title": "Only new rows",
            "type": "boolean",
            "description": "Skip places this same search already returned in an earlier run and do not charge for them. Max rows then means N new rows. State is kept in a key-value store named neighborhoodscout-seen in your account.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name to run two monitors with the same settings, for example \"texas-cities\". Leave empty to derive it from your places and filters.",
            "default": ""
          },
          "resetSeen": {
            "title": "Forget previously seen rows",
            "type": "boolean",
            "description": "Clear the saved list for this monitor before the run, so every row counts as new again.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}