PropertyScout AU API
RESTful JSON API for suburb-level property data. Median prices, rental yields, investment scores, demographics and growth signals for 17,000+ Australian suburbs.
🔑 Authentication
Include your API key on every request via the X-API-Key header.
curl https://propertyscoutau.com.au/api/v1/suburb/frankston-vic \
-H "X-API-Key: psa_your_key_here"
You can also pass ?api_key=psa_... as a query parameter for testing.
⚡ Quick Start
1. Get an API key — trial keys are issued instantly.
2. Verify it works:
curl https://propertyscoutau.com.au/api/v1/ping
3. Fetch your first suburb:
curl https://propertyscoutau.com.au/api/v1/suburb/frankston-vic \
-H "X-API-Key: psa_your_key_here"
Endpoints
/api/v1/ping
No auth required
Health check endpoint. Use to verify connectivity.
{ "ok": true, "service": "PropertyScout AU API v1", "version": "1.0" }
/api/v1/suburb/{slug}
Full suburb profile. Slug format: suburb-state e.g. frankston-vic, parramatta-nsw
{
"slug": "frankston-vic",
"suburb": "Frankston",
"state": "VIC",
"postcode": "3199",
"median_price": 750000,
"median_rent_weekly": 342,
"gross_yield_pct": 2.37,
"investment_score": 64,
"score_verdict": "Moderate",
"demographics": {
"population": 38200,
"renter_pct": 60.4,
"owner_occ_pct": 39.6,
"median_household_income": 72124
},
"price_growth": {
"1yr_pct": -1.2,
"5yr_pct": 20.7,
"current_year": 2025
},
"data_quality": {
"confidence": "high",
"rent_source": "ABS 2021 Census",
"rent_data_year": 2021
}
}
/api/v1/suburbs/search
Search suburbs by name prefix. Returns slugs + key metrics.
| Param | Type | Description |
|---|---|---|
q | string | Search prefix (min 2 chars) required |
state | string | Filter by state code (NSW, VIC, QLD…) |
limit | int | Max results, default 20, max 50 |
GET /api/v1/suburbs/search?q=frank&state=VIC&limit=5
/api/v1/suburbs/top-yield
Highest-yield suburbs ranked by gross yield. Filter by state and price range.
| Param | Type | Description |
|---|---|---|
state | string | Filter by state (optional) |
min_price | int | Minimum median price |
max_price | int | Maximum median price |
limit | int | Max results, default 20, max 100 |
GET /api/v1/suburbs/top-yield?state=QLD&min_price=300000&max_price=700000&limit=10
/api/v1/usage
Check your current usage and rate limit status.
📦 Plans & Limits
| Plan | Price | Req/min | Req/day |
|---|---|---|---|
| Trial | Free | 20 | 100 |
| Starter | $49/mo | 60 | 1,000 |
| Growth | $149/mo | 200 | 10,000 |
| Enterprise | Custom | 999 | 100,000 |
Rate limits reset every minute (RPM) and at midnight UTC (RPD). On limit, you'll receive 429 Too Many Requests.
⚠️ Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | missing_key | No API key provided |
| 401 | auth_failed | Invalid or revoked key |
| 404 | not_found | Suburb slug not in database |
| 429 | rate_limited | Rate limit exceeded |
| 500 | server_error | Unexpected server error |
{ "error": "auth_failed", "message": "API key not found" }