Partner API

Your listings, in sync.

Connect the system you already use. Create apartments, change rent and availability, and take them off the market from your own CRM or listing software. Nessoo keeps them on the map, on their public pages and in front of verified renters.

Get started

Three steps.

1

Make a key

An admin of your company opens the dashboard, chooses Integrations from the account menu, and creates an API key. Copy it then: it is shown once.

2

Try the sandbox

Test keys (nsk_test_…) work against https://stg.nessoo.com; live keys (nsk_live_…) against https://nessoo.com. Add ?dry_run=true to any write to check it against every rule without changing anything.

3

Send your listings

Use your own id for each apartment in the URL. Sending the same apartment again updates it; nothing is ever duplicated.

Create or update

One apartment.

Send only the fields you have. A field you leave out is never touched; send null to clear one. Money is in dollars, rent per month.

curl -X PUT https://nessoo.com/api/partner/v1/units/crm-4411 \
  -H "Authorization: Bearer $NESSOO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "building": { "address": "160 Water St", "city": "New York", "zip": "10038" },
    "unit": "3F",
    "neighborhood": "Financial District",
    "rent": 4200,
    "bedrooms": 1,
    "bathrooms": 1,
    "available_from": "2026-12-01",
    "highlights": ["Laundry in unit", "Doorman"],
    "photos": ["https://photos.example.com/4411/1.jpg"]
  }'

A new apartment answers 202 with "result": "pending_review" until you approve it in the dashboard. Updates to an approved apartment answer 200 with the apartment as it now is.

curl -X PATCH https://nessoo.com/api/partner/v1/units/crm-4411 \
  -H "Authorization: Bearer $NESSOO_API_KEY" -H "Content-Type: application/json" \
  -d '{ "rent": 4300 }'

curl -X DELETE https://nessoo.com/api/partner/v1/units/crm-4411 \
  -H "Authorization: Bearer $NESSOO_API_KEY"
Your whole portfolio

Up to 200 at a time.

With full=true the batch is everything you have listed: an apartment you synced before and leave out goes off the market after two full snapshots in a row without it, so one bad export cannot empty your listings. Retry safely with an Idempotency-Key.

curl -X POST "https://nessoo.com/api/partner/v1/units/batch?full=true" \
  -H "Authorization: Bearer $NESSOO_API_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: nightly-2026-11-09" \
  -d '{ "listings": [ { "external_id": "crm-4411", "rent": 4300 }, ... ] }'
Reference

Endpoints.

EndpointWhat it does
PUT /units/{external_id}Create an apartment, or update the fields you send
PATCH /units/{external_id}Update an apartment that already exists
DELETE /units/{external_id}Take it off the market (send "status": "active" to bring it back)
PUT /units/{external_id}/photosReplace its photos, cover first
GET /unitsYour synced apartments, paged; updated_since for changes only
POST /units/batchUp to 200 at once; full=true for a whole snapshot
GET /draftsWhat is waiting for review
GET /runs/{id}What one sync did, apartment by apartment
GET, PUT /buildingsYour buildings, by your own id

All paths start with /api/partner/v1. The complete schema, every field and every error is in the OpenAPI document.

Good to know

The rules your listings follow.

Fair housing

Some words are refused.

NYC law makes it unlawful to turn away vouchers or any lawful source of income, or families with children. Listings that say so are refused with the reason. Wording that steers toward a kind of tenant is flagged for your review.

Photos

Fetched, cleaned, screened.

Send https links. We fetch each one, remove every byte of location and camera data, and screen it before renters see it. A link you stop sending is removed.

Limits

120 calls a minute per key.

Bodies up to 1 MB. Over the limit you get 429 with Retry-After. Every error is { "error": { "code", "message" } } with a stable code.

No developer?

Spreadsheets and listing software are next.

We are adding spreadsheet import and feeds from the listing software you already use. Ask your Nessoo contact.

For landlords and brokers