n8n-nodes-borough
An n8n community node for the Borough NYC real estate API. Search live rental & sale listings, pull building detail, and read neighborhood market stats inside any n8n workflow — no code.
Borough is a commercial REST API serving structured NYC real-estate data across all five boroughs. No API key required to start — the free tier is keyless. See https://qwady.wiki/borough/quickstart.
Installation
In n8n (self-hosted): Settings → Community Nodes → Install → n8n-nodes-borough.
Manually:
npm install n8n-nodes-borough
Credentials
The credential is optional. Borough's free tier is keyless — there is no free key to sign up for, so attach no credential (or leave the API Key field blank) and the node requests anonymously at the free tier: 100 requests/month, 10 results per page, Search + Area + Market only.
To go beyond that, buy a plan at https://qwady.wiki/borough/tiers-and-pricing, then create
a Borough API credential in n8n and paste the key (BOROUGH-<uuid>). The node sends it
as Authorization: Bearer <key>; with no key it sends no Authorization header at all. The
credential test hits /search/rentals to confirm the key is valid.
Operations
| Resource | Operations |
|---|---|
| Search | Rentals, Sales — filter by area, price, beds/baths, building type, no-fee, sale type, listed-after date, sort |
| Property | Get (by listing ID), Get by URL |
| Building | Get (detail), Get Listings |
| Area | List (all NYC areas/neighborhoods; filter by level or parent; paginate with Page / Per Page) |
| Market | Snapshot, Trends, Compare (median rent, inventory, days-on-market, concession rate) |
Finding area IDs
Search and market operations take numeric area IDs, not names. Boroughs are fixed:
Manhattan 100, Bronx 200, Brooklyn 300, Queens 400, Staten Island 500. Run
the Area → List operation (e.g. with parentId=100) to discover neighborhood IDs,
then feed them into a Search or Market node.
There are 349 areas, but the API returns 10 per page by default. Use the Per Page
filter to pull more in one call (max 10 on free, 50 on Starter, 500 on Pro/Business — the
API clamps anything higher), or step through with Page and check meta.total.
Example workflow
Area: List (parentId=300) → filter for "Williamsburg" → Search: Rentals
(areas=<id>, Filters: Max Price 4000, Min Beds 2, No Fee Only) → Slack/email/Sheets.
Tiers
Search, Areas, and Market work on the free tier, with no credential at all. Full Property and Building detail require a Borough Starter plan or higher — a call on the free tier returns a tier-restricted error. The free tier is also capped at 100 requests/month and 10 results per page. See https://qwady.wiki/borough/tiers-and-pricing.
Development
npm install
npm run build # tsc → dist + copies the icon
npm run typecheck
Publish to npm as n8n-nodes-borough (the n8n field in package.json points n8n at
the compiled node + credential in dist/). For the n8n "verified" badge, add
eslint-plugin-n8n-nodes-base and pass its ruleset before submitting.
Changelog
0.2.0
- The Borough API credential is now optional. It was
required: true, which made the node unusable for free users — Borough's free tier is keyless and no free key exists, so the credential could never be satisfied. With no key the node now sends no Authorization header and runs at the free tier. - Added
PageandPer Pageto Area → List. The operation had no pagination controls, so it silently returned only the first 10 of 349 areas with no way to reach the rest — while the Search resource pointed users at it to look up neighborhood IDs.
0.1.0
- Initial release: Search, Property, Building, Area, and Market resources.
License
MIT Qwady Solutions LLC