OneRoof API

New Zealand property, from listing to estimate to suburb rent

The OneRoof API returns New Zealand property from oneroof.co.nz as clean JSON in NZD.

endpoints
5
credits per call
1–2

2 credits per call≈ $2/1,000 calls1,000 free credits, no card

POST/oneroof/v1/search200
  1. Spring Break - its Freemans Bay!Set Date of Sale…
    address
    36 Spring Street, Freem…
    street
    36 Spring Street
  2. THREE BEDROOMS. ZERO COOKIE-CUTTER.—
    address
    157 Symonds Street, Ede…
    street
    157 Symonds Street
  3. One. Of. A. Kind.By negotiation
    address
    2 Cracroft Street, Parn…
    street
    2 Cracroft Street
Real result, captured Nov 6, 20263 of 10
Try it live

Run the call yourself, on the real endpoint

Change a parameter and press Try it. The response on the right is what your code will receive.

OneRoof API

3 of 5 endpoints, ready to run

View docs ↗

Homes for sale, for rent or recently sold: listing URL, address, coordinates, price or sale method, bedrooms, bathrooms, land and floor area, photos, agents with phone, agency, open homes and the value estimate.

2 credits0 required · 5 optional
POST/oneroof/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

Try every endpoint in the playground

Endpoints

What OneRoof endpoints does ReefAPI ship?

5 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

5 endpoints

search

2 cr

New Zealand homes on OneRoof for sale, for rent or recently sold, by region, district or subu…

required
—
optional
purpose, region, district_id, suburb_id, location, include_surrounding_suburbs, property_type, bedrooms_min, bedrooms_max, bathrooms_min, bathrooms_max, price_min, price_max, keyword, sort, page, limit, max_rotations

listing

2 cr

One OneRoof listing in full, for sale or for rent.

required
listing_id
optional
max_rotations

property

2 cr

Any New Zealand property on OneRoof, listed or not, by property id, address or URL.

required
—
optional
property_id, address, url, max_rotations

suburb

1 cr

A New Zealand suburb's property market on OneRoof.

required
—
optional
suburb_id, name, max_rotations

suggest

1 cr

OneRoof's own location and address lookup.

required
query
optional
purpose, max_rotations

Every parameter, every allowed value →

Missing a OneRoof endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
How it works

How the OneRoof API works

OneRoof is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 632 engines.

02
Call
POST /oneroof/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Recipe

Rent or buy in one suburb: three calls

The numbers a rent-versus-buy calculator needs for one suburb, from OneRoof.

01suburb
POST/oneroof/v1/suburb
{"name": "Ponsonby"}

Median sale price, median weekly rent, rental yield, capital growth.

02search
POST/oneroof/v1/search
{"purpose": "rent", "suburb_id": 3236, "bedrooms_min": 2}

Current asking rents per week.

03search
POST/oneroof/v1/search
{"purpose": "sold", "suburb_id": 3236, "sort": "newest"}

Recent sale prices and dates; sold_price is null when the agent has not released it.

Median rent and price, live rents and recent sales for one suburb in three calls.

request
curl -X POST https://api.reefapi.com/oneroof/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"region":"auckland","limit":10}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "oneroof",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}
Fields

Most New Zealand homes for sale show no price - here is what you get instead

On 120 live OneRoof rows on 2026-11-07 (sale and rent, six searches), every row had a URL, an address and the site's own price wording, but only 39 carried a dollar figure: all 20 rentals and the minority of sales with an asking price or a lower bound. The API never turns a missing price into 0.

What the listing sayspriceprice_qualifiersale_method
$619,000 / Asking price $739,000619000 / 739000askingasking_price
Enquiries Over $1.59M1590000fromenquiries_over
By negotiationnullnullnegotiation
Auction 03 Dec 2026 11:00nullnullauction (sale_date_display keeps the date)
$320 per week (rental)320per_weeknull

For a number on every home, use the estimate: OneRoof publishes its value estimate with a low-high range and a confidence label on most listings (69 of 120 rows, including rentals, where it is the value of the home, not a rent), and property returns it for any address. The price filter still works on unpriced listings: OneRoof matches them on the price the agent gave it, which is not shown.

Coverage

What OneRoof publishes, and what it does not

oneroof.co.nz only — New Zealand, prices in NZD. Measured 2026-11-07: 27 of 27 live cases across five actions, 48 offline checks on real responses. Some of these lines go against us.

Homes for sale, for rent and recently sold

search covers homes for sale (the default), for rent (weekly) and recently sold, in a region, a district or any set of suburbs. listing, property, suburb and suggest complete it.

Every row links to the listing on OneRoof

url and address were on 120 of 120 rows in the live run; coordinates on 119 (none where the agent withheld the address).

Agents with phone numbers

159 of 170 agents on search rows had a phone number. The agent's email is on the listing record, not on search rows.

Against us: most homes for sale have no price

39 of 120 rows carried a dollar figure, all 20 rentals among them; the rest are sold by negotiation, auction, tender or deadline. price is null for those, never 0. OneRoof's value estimate was on 69 of 120 rows.

Against us: some fields are not published

Floor area was on 53 of 120 rows and land area on 88. There is no rental estimate for a single property, only the suburb's median rent and yield. A sale price the agent has not released comes back null.

How it was checked

27 of 27 live cases across all five actions (search 8, listing 4, property 6, suburb 5, suggest 4), five of them wrong inputs that failed with the expected error; every positive case checks its filter on every row. For the same listing, the search row and the listing record agreed on URL, price, bedrooms, bathrooms, parking, areas, type, coordinates and agent name and phone.

Use cases

What people build with OneRoof

The jobs this data is most often used for.

5

endpoints

1/2

credits per call

01

Rent-versus-buy calculators: suburb median rent and yield next to median sale price and live listings

02

Affordability tools: homes in a price band across chosen suburbs, with the estimate when no price is shown

03

Comparable sales for a valuation: recent sold prices and dates by suburb or district

04

Property reports: estimate, council valuation and sale history for any New Zealand address

Pricing

What OneRoof data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 632 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire
no credit card1,000 free credits · instant API key · pay by card or crypto
Quickstart

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/oneroof/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"region":"auckland","limit":10}'
python
import os
import requests

REEF_KEY = os.environ["REEF_KEY"]

r = requests.post(
    "https://api.reefapi.com/oneroof/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
        "region": "auckland",
        "limit": 10
    },
    timeout=90,
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up OneRoof.

Can I get a value estimate for a house that is not for sale?▾

Yes. property takes a property id, a street address or a OneRoof URL and returns OneRoof's estimate (value, low, high, confidence), the council valuation split into land, improvements and capital value with its date and change since the last valuation, the last sale price and date, and the full history of sales, listings, valuations and building consents. If the home is on the market, current_listing links to the listing.

Is there a rental estimate for a single property?▾

OneRoof does not publish one for a logged-out visitor, so the API does not invent it. What it does publish is the suburb's median weekly rent, rental yield, median sale price and capital growth - suburb returns them, and listing and property include them for the home's suburb. Current asking rents come from search with purpose rent.

Do I get the agent's contact details?▾

search rows include each listing agent's name and phone number and the agency name. listing adds the agent's email and job title and the agency's phone, email and address, as OneRoof publishes them. In the live run 159 of 170 agents on search rows had a phone number.

How do I search several suburbs at once?▾

Pass suburb_id as a list (suggest returns the ids, and every row carries suburb_id, district_id and region_id), or location with a single place name. Add include_surrounding_suburbs to widen to the neighbouring suburbs, as the site does. The most specific level wins: suburbs over district over region.

Why do some recent sales have no price?▾

Agents often report a sale before the price is public: among the 30 most recent sales in Auckland City on 2026-11-07, 22 said only 'Sold by negotiation' or 'Sold at fixed price'. sold_price is null for those, never 0, and sale_method_display keeps the site's wording. Two rows carried agent-entered sale dates decades in the future; they are flagged sold_date_is_future.

What is the OneRoof API?▾

OneRoof API is a ReefAPI endpoint group for new zealand homes for sale and rent, recent sales, value estimates and suburb rents, in nzd. It returns live JSON through POST requests under /oneroof/v1.

Is the OneRoof API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. OneRoof calls use the same shared credit balance as every other ReefAPI engine.

Do I need an OneRoof login or account?▾

No login to OneRoof is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the OneRoof data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the OneRoof API use?▾

OneRoof actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call OneRoof from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call oneroof actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the OneRoof API an OneRoof scraper?▾

It is the managed alternative to a DIY OneRoof scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same new zealand homes for sale and rent, recent sales, value estimates and suburb rents, in nzd back as clean JSON.

Why does my OneRoof scraper keep getting blocked?▾

Most OneRoof scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.

Same key

29 Real Estate APIs on the same key

One key, one credit pool, one response envelope. If you are pulling OneRoof, you are one call away from the rest of the category — no second contract, no second integration.

Already paying for something else?OneRoof vs Bright Data
Contact

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 631 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-11-07.