Use case
Relocation and immigration services
Build a location briefing for a family choosing where to live. Combine school assignments, nearby services and census context without treating neighbourhood statistics as facts about a household.
Prepare a family briefing
Query address/profile for each candidate point and show schools, transit and nearby facilities together.
Explain school choices
Use official assignments where available. Nearby schools are alternatives to investigate, not a promise of admission.
Compare daily needs
Display transit stops and nearby places with their straight-line distances; these are not travel-time estimates.
Describe the neighbourhood
Use census and housing-market data as area-level context. Hillbase does not assess immigration eligibility or personal circumstances.
Built for
- Relocation advisers
- Newcomer settlement services
- Housing search platforms
Endpoints
POST /v1/address/profilePOST /v1/school-assignments/resolveGET /v1/transitGET /v1/census
Start with one address
After creating a key, run this call for the captured Surrey point. The response excerpt is fixed; this page makes no data query.
curl --fail-with-body "https://api.hillbase.com/v1/address/profile" \
-H "X-API-Key: $HILLBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"point":{"lat":49.1416582,"lng":-122.8795092},"region":"BC","locality":"Surrey"}'Real captured response · transit section excerpt. Captured values can differ from current data.
{
"schema_version": "hillbase.v0",
"quality": {
"basis": "mixed",
"effective_date": null,
"last_checked_at": null,
"limitations": [
{
"code": "absence_not_proof",
"message": "No matching record does not prove that none exists."
},
{
"code": "assessment_not_market_value",
"message": "An assessed value is not a sale price or current market value."
},
{
"code": "assignment_not_admission",
"message": "A school assignment does not guarantee admission."
}
]
},
"data": {
"point": {
"lat": 49.1416582,
"lng": -122.8795092
},
"sections": {
"transit": {
"data": {
"items": [
{
"id": "tst_yap7hudxduwr",
"agency": "ca-bc-translink-transit:translink:TL",
"stop_id": "5876",
"stop_code": "55821",
"name": "Southbound 124 St @ 76 Ave",
"location": {
"lat": 49.141329,
"lng": -122.879133
},
"wheelchair_boarding": 1,
"location_type": 0,
"parent_station": null,
"distance": {
"km": 0.046,
"method": "straight_line"
},
"routes": [
{
"route_id": "6710",
"short_name": "329",
"long_name": "Surrey Central Station/Scottsdale",
"route_type": 3,
"weekday_trip_count": 9
}
]
},
{
"id": "tst_hruy2h4nid5g",
"agency": "ca-bc-translink-transit:translink:TL",
"stop_id": "5883",
"stop_code": "55828",
"name": "Northbound 124 St @ 76 Ave",
"location": {
"lat": 49.141345,
"lng": -122.878962
},
"wheelchair_boarding": 1,
"location_type": 0,
"parent_station": null,
"distance": {
"km": 0.053,
"method": "straight_line"
},
"routes": [
{
"route_id": "6710",
"short_name": "329",
"long_name": "Surrey Central Station/Scottsdale",
"route_type": 3,
"weekday_trip_count": 10
}
]
},
{
"id": "tst_mugzo4lqjdyl",
"agency": "ca-bc-translink-transit:translink:TL",
"stop_id": "5882",
"stop_code": "55827",
"name": "Northbound 124 St @ 75 Ave",
"location": {
"lat": 49.139771,
"lng": -122.878926
},
"wheelchair_boarding": 2,
"location_type": 0,
"parent_station": null,
"distance": {
"km": 0.214,
"method": "straight_line"
},
"routes": [
{
"route_id": "6710",
"short_name": "329",
"long_name": "Surrey Central Station/Scottsdale",
"route_type": 3,
"weekday_trip_count": 10
}
]
}
],
"total": 20,
"radius_km": 1
},
"coverage": {
"capability": "transit",
"status": "supported",
"outcome": "resolved",
"geography": "CA/BC",
"period": null,
"message": "Scheduled GTFS stops within radius; route frequency counts trips on weekday service."
},
"quality": {
"basis": "derived",
"effective_date": null,
"last_checked_at": "2026-10-07T00:52:36.818606Z",
"limitations": []
},
"provenance": [
{
"source_id": "ca-bc-translink-transit",
"source_updated_at": null,
"observed_at": "2026-10-07T00:52:36.818606+00:00",
"snapshot": "456b5dafe16d9c75ef5856913580432e9d96c139e4cef4a289f31f092af5f512"
}
],
"warnings": []
}
}
},
"retrieved_at": "2026-10-12T18:51:41.790023Z"
}Use each section's coverage to distinguish an empty result from missing coverage. Keep the point with the result so records from another location are not attached to your property.
See real responses
curl -X POST "https://api.hillbase.com/v1/addresses/resolve" \
-H "X-API-Key: $HILLBASE_API_KEY" -H "Content-Type: application/json" \
-d '{"line1":"100 Queen St W","city":"Toronto","region":"ON","country":"CA"}'{
"schema_version": "hillbase.v0",
"data": {
"point": {
"lat": 43.651504,
"lng": -79.382497
},
"geocode": {
"provider": "lake.address_points",
"score": null,
"precision": "civic_number",
"address": {
"line1": "100 Queen ST W",
"line2": null,
"city": "Toronto",
"region": "ON",
"postal_code": "M5H2N1",
"country": "CA"
}
}
},
"coverage": {
"capability": "address_resolution",
"status": "supported",
"outcome": "resolved",
"geography": "ON",
"period": null,
"message": "Address resolved; caller inputs are not stored."
},
"provenance": [],
"warnings": [],
"retrieved_at": "2026-10-12T18:52:01.220757Z"
}