What Borough provides
- Dozens of structured listing fields across summary and detail endpoints, including pricing, concessions, amenities, photos, and freshness metadata
- Building-level data with amenities, policies, NYC regulatory data, and quality scores
- First-party photo delivery through
/v1/photos/{key}for supported Borough image sizes - Likely internet providers with FCC-sourced provider names, technologies, and advertised speeds
- 316 NYC neighborhoods and sub-areas with encoded map boundaries (349 areas in total, including the five boroughs and Northern New Jersey)
- Market snapshots with inventory, median prices, days on market, and concession rates
- Building quality scores derived from NYC and New York State open data (HPD violations, 311 noise, NYPD crime, and multi-modal transit access: subway, bus, commuter rail, ferry)
- Live SSE streaming that delivers cached data immediately, then a best-effort live update (Pro+)
- Live-first property and building detail that fetches fresh data when cached listing detail is more than 5 minutes old, or building detail more than 30 minutes old, while the live-fetch budget allows (Business+)
- Persistent watchers that monitor listings, buildings, or searches for changes (Business+; at most 5 active listing watchers, each polling at most hourly)
- Webhooks for automated notifications on price drops, new listings, and status changes (Business+)
- MCP server for connecting AI agents directly to NYC real estate data
Pricing
Free tier covers search, area reference, market snapshots, and photo delivery. The public
/v1/health endpoint is also available without authentication, but it is outside Borough’s metered /v1 data surface. Starter and above add property details and building data. Pro adds live SSE streaming. Business adds live-first detail, webhooks, persistent watchers, and change notifications.
Live data is best-effort. Live fetches draw on a shared budget, and while that budget is held for Borough’s scheduled updates, or live fetching is paused, detail requests return cached data and listing streams send an error event in place of the live one. See Tiers & Pricing.
Product surface
Borough keeps its public product pages and service runtime on the same hostname without changing the integration URLs developers depend on.- Public site and legal pages live at
borough.qwady.app/ - REST endpoints stay under
borough.qwady.app/v1/* - MCP remains at
borough.qwady.app/mcp - OAuth and discovery stay under
borough.qwady.app/oauth/*andborough.qwady.app/.well-known/* - Webhook subscriptions stay under
borough.qwady.app/v1/webhooks/*
Internet provider availability
Building and property detail responses can include aninternetProviders block sourced from official FCC Broadband Data Collection public data.
- Coverage is exact-building when Borough has a matched FCC location and Census-block level when sourced from FCC public bulk files
- Coverage is not unit-specific qualification
- Data reflects likely providers, advertised technologies, and max download/upload speeds
- The FCC publishes this dataset twice a year. Borough checks monthly and re-imports when a new FCC filing period is available, so in most months there is nothing new to pull. Manual backfills are supported for operational re-syncs
- Broadband data currently covers about 76.5% of eligible buildings, meaning those with an active listing and a geocoded location. Buildings with no active listing are out of scope by design
This product uses FCC APIs and/or Data but is not endorsed or certified by the FCC.
Quickstart
Make your first request in under 2 minutes, no API key needed
API Reference
Explore all 20+ endpoints with examples and response schemas
MCP Server
Connect Claude, Cursor, or VS Code to query NYC data via AI
TypeScript SDK
Install the official SDK for typed access with auto-pagination