# Qwady Docs > Documentation for Qwady products: Borough API - [Qwady Docs](https://qwady.wiki/index.md): API documentation, guides, and references for Qwady products - [Borough](https://qwady.wiki/borough/index.md): Structured NYC real estate data, REST endpoints, streaming, watchers, and MCP access. - [Introduction](https://qwady.wiki/borough/introduction.md): Structured NYC real estate data via REST API - [Quickstart](https://qwady.wiki/borough/quickstart.md): Make your first API request in under 2 minutes - [Authentication](https://qwady.wiki/borough/authentication.md): API key and OAuth 2.1 authentication methods - [Pricing](https://qwady.wiki/borough/tiers-and-pricing.md): Choose a plan and get your API key - [Search Filters](https://qwady.wiki/borough/guides/filtering.md): All available search parameters for rental and sale listings - [Pagination](https://qwady.wiki/borough/guides/pagination.md): Page-based pagination with navigation links - [Rate Limits](https://qwady.wiki/borough/guides/rate-limits.md): Per-tier rate limits and quota enforcement - [Errors](https://qwady.wiki/borough/guides/error-handling.md): Error codes and response format - [Webhooks](https://qwady.wiki/borough/guides/webhooks.md): Push notifications for listing changes, delivered within minutes of detection - [Streaming and Live Lookups](https://qwady.wiki/borough/guides/streaming.md): Live listing lookups over SSE, plus watchers that monitor on a schedule - [Data Freshness](https://qwady.wiki/borough/guides/data-freshness.md): How Borough keeps data fresh and what staleness means for your tier - [Areas & Neighborhoods](https://qwady.wiki/borough/reference/areas-and-neighborhoods.md): Area IDs, hierarchy levels, and borough mapping across NYC and Northern New Jersey - [Building & Listing Types](https://qwady.wiki/borough/reference/building-types.md): Enums for building types, listing statuses, and sale types - [Amenities](https://qwady.wiki/borough/reference/amenities.md): All amenity filter values and building-level amenity data - [Transit Lines](https://qwady.wiki/borough/reference/transit-lines.md): Transit line filtering is not currently available - [Photo URLs](https://qwady.wiki/borough/reference/photo-urls.md): Constructing image URLs from photo keys - [Enums](https://qwady.wiki/borough/enums.md): All enumerated values used in the API - [Building Scores](https://qwady.wiki/borough/enrichment.md): Quality scores derived from NYC Open Data - [API Reference](https://qwady.wiki/borough/api-reference/overview.md): Complete reference for all Borough API endpoints - [Search Rentals](https://qwady.wiki/borough/api-reference/search/search-rentals.md): Search active NYC rental listings with comprehensive filters. Returns summary-level fields per listing. Use `/property/{id}` for full detail. - [Search Sales](https://qwady.wiki/borough/api-reference/search/search-sales.md): Search active NYC sale listings. Supports all rental filters plus `saleType` (resale, sponsor, foreclosure). - [Get Property](https://qwady.wiki/borough/api-reference/property/get-property.md): Full listing detail including pricing, availability, sale and rental flags, building linkage, and freshness metadata. Related fees, price history, and open houses are available via dedicated subresource endpoints. - [Get Property by URL](https://qwady.wiki/borough/api-reference/property/get-property-by-url.md): Find a listing using its URL path (e.g., `/building/one57-condominium/48b`). - [Batch Lookup](https://qwady.wiki/borough/api-reference/property/batch-lookup.md): Resolve many listing IDs in a single request (up to your tier's `perPage` cap). Serves cached data only (it never triggers a live fetch) and is billed at one request unit per requested (deduped) ID. `amenities` and `internetProviders` are omitted from batch results; use `GET /property/{id}` when you… - [Comparables](https://qwady.wiki/borough/api-reference/property/comparables.md): Active listings comparable to the reference listing: same listing type and neighborhood, matching bedroom count, within ±25% of its price, ranked by price proximity. Cached data only, billed as one request. - [Get Price History](https://qwady.wiki/borough/api-reference/property/get-price-history.md): Price-change timeline for a listing: the first observed price (`LISTED`) plus every subsequent decrease (`PRICE_DROP`) and increase (`PRICE_INCREASE`). Returns the 100 most recent events, newest first. - [Get Fees](https://qwady.wiki/borough/api-reference/property/get-fees.md): Fee breakdown for a listing including broker fees, application fees, and other move-in costs. - [Get Open Houses](https://qwady.wiki/borough/api-reference/property/get-open-houses.md): Scheduled open houses for a listing. Only returns future events. - [Get Building](https://qwady.wiki/borough/api-reference/building/get-building.md): Comprehensive building data including amenities, policies, developer, architect, NYC regulatory data (community district, police precinct, building class), and tax/management details. - [Get Building Listings](https://qwady.wiki/borough/api-reference/building/get-building-listings.md): All active (or filtered) listings within a specific building. - [Get Building Scores](https://qwady.wiki/borough/api-reference/building/get-building-scores.md): Composite quality scores (0-100) derived from NYC Open Data: - **health_score**: Based on HPD violation count and severity - **noise_score**: Based on 311 noise complaints within 200m - **safety_score**: Based on NYPD crime data within 400m - **transit_score**: Based on subway/bus stop proximity and… - [Get Building Violations](https://qwady.wiki/borough/api-reference/building/get-building-violations.md): HPD (Housing Preservation & Development) violations for a building, ordered by date descending. Includes violation class (A/B/C), status, and description. - [Get Market Snapshot](https://qwady.wiki/borough/api-reference/market/get-snapshot.md): Pre-computed market statistics for a specific area: active inventory, median rent, average days on market, and concession rate. Optionally filter by bedroom count and listing type. - [Get Market Trends](https://qwady.wiki/borough/api-reference/market/get-trends.md): Price event time series for an area, grouped by date and event type. Returns the latest 365 days of data with obvious listing-type price outliers removed. Aggregates the same `LISTED` / `PRICE_DROP` / `PRICE_INCREASE` events as `/property/{id}/history`, so it charts price movement and new-listing ac… - [Get Market History](https://qwady.wiki/borough/api-reference/market/get-history.md): Daily time series of the market-snapshot aggregates (median rent/price, inventory, average days-on-market, concession rate) for an area. The series accrues forward from when archiving began, so it is sparse until enough days accumulate. Pass `bedrooms` to scope to one unit size, or omit it to get ev… - [Compare Markets](https://qwady.wiki/borough/api-reference/market/compare.md): Side-by-side market snapshots for up to 5 areas. Returns snapshot data grouped by area ID, with each area containing snapshots broken down by bedroom count. - [List Areas](https://qwady.wiki/borough/api-reference/areas/list-areas.md): Returns the area hierarchy: 349 areas across NYC and Northern New Jersey, of which 316 are NYC neighborhoods and sub-areas and 5 are boroughs. Optionally filter by level or parent area. - [Stream Listing Updates](https://qwady.wiki/borough/api-reference/streaming/stream-listing.md): Server-Sent Events stream that delivers cached data immediately, then attempts a fresh live fetch. Events: `cached`, `live`, `error`, `done`. Error payloads include a machine-readable `code`, such as `fetch_failed`. - [Create Watcher](https://qwady.wiki/borough/api-reference/watchers/create-watcher.md): Create a persistent watcher that monitors a listing, building, or search for changes. The watcher polls at the configured interval. Each poll counts as one API request against your active quota window. - [List Watchers](https://qwady.wiki/borough/api-reference/watchers/list-watchers.md): List all watcher subscriptions for the authenticated customer. - [Get Watcher](https://qwady.wiki/borough/api-reference/watchers/get-watcher.md): Returns full detail for a single watcher subscription. - [Update Watcher](https://qwady.wiki/borough/api-reference/watchers/update-watcher.md): Update the poll interval or active status of a watcher. Setting `active: false` pauses the watcher without deleting it. - [Delete Watcher](https://qwady.wiki/borough/api-reference/watchers/delete-watcher.md): Permanently deletes a watcher and stops the Durable Object alarm. - [Stream Watcher Changes](https://qwady.wiki/borough/api-reference/watchers/stream-watcher.md): Opens a Server-Sent Events stream that delivers a watcher's change events as its scheduled polls detect them. The stream emits exactly these events: `connected`, `change`, `heartbeat`, `reconnect`, and `stopped`. - [Create Webhook](https://qwady.wiki/borough/api-reference/webhooks/create-webhook.md): Register a URL to receive push notifications when listings change, delivered within minutes of Borough detecting the change on its refresh cycle. Returns a signing secret for payload verification. - [List Webhooks](https://qwady.wiki/borough/api-reference/webhooks/list-webhooks.md): List all active webhook subscriptions for the authenticated account. - [Update Webhook](https://qwady.wiki/borough/api-reference/webhooks/update-webhook.md): Update the URL, subscribed events, or active state of an existing webhook subscription. - [Delete Webhook](https://qwady.wiki/borough/api-reference/webhooks/delete-webhook.md): Remove a webhook subscription. The subscription is re-checked at delivery time, so the deletion takes effect on the next delivery attempt rather than on a fixed schedule. During a database incident that check cannot be made, and a delivery already queued for this subscription may still be attempted… - [Get Usage](https://qwady.wiki/borough/api-reference/usage.md): Returns the caller's current billing-period quota usage. Authenticated and rate-limited, but does NOT count against your monthly quota. Without an API key it returns anonymous free-tier (IP-bucketed) usage; with a key it returns that key's usage. - [MCP Server](https://qwady.wiki/borough/mcp/overview.md): Connect AI agents to NYC real estate data via the Model Context Protocol - [Quick Start](https://qwady.wiki/borough/mcp/quickstart.md): Connect your AI agent to Borough in 2 minutes - [Add Borough to Claude](https://qwady.wiki/borough/mcp/add-to-claude.md): Exact steps for adding Borough as a custom connector in Claude and Claude Desktop - [Tools Reference](https://qwady.wiki/borough/mcp/tools-reference.md): Complete reference for all Borough MCP tools - [Troubleshooting](https://qwady.wiki/borough/mcp/troubleshooting.md): Common issues and solutions for Borough MCP - [SDK Quickstart](https://qwady.wiki/borough/sdk/index.md): Install and use the Borough TypeScript/JavaScript SDK - [Auto-Pagination](https://qwady.wiki/borough/sdk/pagination.md): Iterate through all result pages automatically - [Webhook Verification](https://qwady.wiki/borough/sdk/webhooks.md): Verify Borough webhook signatures in Express and Next.js ## OpenAPI Specs - [openapi](/borough/openapi.yaml)