A 1-click Pinokio launcher for the Proplytics backend API. The iOS app connects to this local server for real estate valuations.
- Estimates property values based on size, location, condition, and rooms
- Manages a list of tracked properties
- Exposes a REST API at
http://127.0.0.1:<PORT> - Interactive API docs available at
http://127.0.0.1:<PORT>/docs
- Click Install in Pinokio to set up dependencies
- Click Start to launch the API server
- Click Open API Docs to browse and test endpoints in the browser
- Point your iOS app to the displayed server URL
GET /health
Response:
{ "status": "ok", "service": "proplytics-api" }POST /api/valuation/estimate
Request body:
{
"address": "Musterstraße 1",
"city": "Berlin",
"zip_code": "10115",
"size_sqm": 85.0,
"rooms": 3,
"floor": 2,
"year_built": 1995,
"condition": "good"
}Response:
{
"estimated_value_eur": 272000.0,
"price_per_sqm": 3200.0,
"confidence": "medium",
"comparable_range": { "low": 244800.0, "high": 299200.0 }
}Condition values: poor | fair | good | excellent
GET /api/properties/
POST /api/properties/
Request body:
{
"address": "Musterstraße 1",
"city": "Berlin",
"zip_code": "10115",
"size_sqm": 85.0,
"rooms": 3,
"price_eur": 320000.0,
"description": "3-room apartment, renovated kitchen"
}GET /api/properties/{property_id}
const res = await fetch('http://127.0.0.1:PORT/api/valuation/estimate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
address: 'Musterstraße 1', city: 'Berlin', zip_code: '10115',
size_sqm: 85, rooms: 3, condition: 'good'
})
});
const data = await res.json();import httpx
r = httpx.post('http://127.0.0.1:PORT/api/valuation/estimate', json={
"address": "Musterstraße 1", "city": "Berlin", "zip_code": "10115",
"size_sqm": 85.0, "rooms": 3, "condition": "good"
})
print(r.json())curl -X POST http://127.0.0.1:PORT/api/valuation/estimate \
-H "Content-Type: application/json" \
-d '{"address":"Musterstraße 1","city":"Berlin","zip_code":"10115","size_sqm":85,"rooms":3,"condition":"good"}'