The HousingAnywhere API allows you to easily publish your listings on the largest rental accommodation platform globally. The API strongly advances data interoperability between HousingAnywhere and its partners. As property managers you can use the API to connect your inventory to the HousingAnywhere platform, enabling you to reach a far bigger target audience. Bookings take place on the HousingAnywhere platform and the API will ensure that partner systems are updated in real-time whenever one of your properties gets booked on the HousingAnywhere platform.
The HousingAnywhere API offers a range of possibilities. The API supplies a managed solution for storing and accessing property data such as media and listing details on HousingAnywhere.
Connected property managers can store and access information regarding the pricing and availability of all their rental units. This information is updated based on a predetermined frequency as updates are pulled by the HA platform.
Webhooks enable two-way integrations to ensure that information is kept synchronized between HousingAnywhere and systems that are already being used by property managers. By using these webhooks, bookings and cancellations can automatically be confirmed as they happen, and availability calendars are updated on the fly.
To get started, any user can request an API key. Every API request needs a private API key in query parameters as a part of authentication, which is unique to each client. Please contact our team to request your unique key. For more information, contact us at api@housinganywhere.com
Authentication is done using a custom query parameter called 'api_key'.
We utilize cursor based pagination via the nextCursor
parameter. It takes an existing object ID value (see below) and return objects.
limit optional, defaults to 20
A limit on the number of objects to be returned.
nextCursor optional
A cursor for use in pagination, it is an object ID that defines your place in the list. For instance, if you make a request and receive 20 objects with a <value>
for nextCursor
, subsequent calls include nextCursor=<value>
in order to fetch the next page of the list.
If you need additional technical support after going through our technical documentation, our team of international account managers will be eager to facilitate you.
Creates a listing on the HousingAnywhere platform. When creating a single listing, your request must include the fields marked as mandatory, other fields are optional but encouraged.
price required | integer <int32> Price of the appartment in lowest denomination in given currency. e.g: Cents if currency is Euro |
pricingType | integer (PricingType) Enum: "Flat = 1" "Monthly = 2" |
monthlyPrices | object (MonthlyPrices) Listing price is set on a monthly basis. They keys denote the months, 1 to 12, 1 represents January, 2 for February and son on. This field is required when |
currencyCode required | string Currency code of the currency used in ISO 4217 format. |
address required | object (Address) The address of the listing by the house number, street, city, state, postal code and the country code. |
type required | integer (Type) Enum: "House = 1" "Building = 2" "Apartment = 3" |
kind required | integer (Kind) Enum: "EntirePlace = 1" "PrivateRoom = 2" "SharedRoom = 3" |
description required | string |
deposit | integer <int32> (Deposit) Deprecated This field has been deprecated in favor of Security Deposit of the appartment in lowest denomination in given currency. e.g: Cents if currency is Euro. If not provided, this field will be presented as not set in the UI. |
estimatedBills | integer <int32> Deprecated This field has been deprecated in favor of When any of |
minimumStayMonths | integer <int32> Mention if there is a minimum limit on the period of stay, for eg, the tenant has to stay at least 2 months. |
maximumStayMonths | MaximumStayMonths <int32> Mention if there is a maximum limit on the period of stay, for eg, the tenant can not rent for a longer period than 12 months. |
maxBookableDays | integer <int32> Deprecated This field denotes a time window in which the listing is bookable. |
moveInWindow | integer <int32> Setting this field to greater than 0 creates a time window in which in the listing is bookable. If the first day available is |
currentOccupancy | integer <int32> The number of people currently living in the house. This is only applicable to properties that are shared apartments or shared rooms. |
rules | object (Rules) |
minAge | integer <int32> If there is a minimum age applicable to the tenant, i.e., they have to be at least 18 years old. |
maxAge | integer <int32> If there is a maximum age applicable to the tenant, i.e., they have to be no older than 35 years. |
preferredGender | string (Gender) Enum: "male" "female" "other" This will be shown as |
alias | string |
externalReference | string |
extraData | string A JSON field with extra information important for the listing which doesn't fit in other fields. Make sure to escape the quotes! |
facilities | object Specify the facilities provided in the listing. |
calendarOperations | Array of objects (CalendarOperation) |
images | Array of objects (ImageRequest) |
costs | Array of objects (Cost) |
Add Listing Response
Bad request or Malformed JSON
Authorization error. API key is missing or invalid.
Insufficient Permission
Wrong payload
Something went wrong on server side
Production Server. Use it for real data
Test server. Use it for test data
{- "price": 56700,
- "pricingType": 2,
- "monthlyPrices": {
- "1": 120000,
- "2": 80000,
- "3": 90000,
- "4": 100000,
- "5": 90000,
- "6": 85000,
- "7": 89000,
- "8": 89000,
- "9": 70000,
- "10": 60000,
- "11": 60000,
- "12": 75000
}, - "currencyCode": "EUR",
- "address": {
- "housenumber": "81A",
- "street": "Oostplein",
- "city": "Rotterdam",
- "state": "South-Holland",
- "postalCode": "3071VN",
- "neighborhood": "Oostplein Metro Station",
- "countryCode": "NL"
}, - "type": 1,
- "kind": 1,
- "description": "Centrally located apartment, very close to public transport and supermarkets. It comes with a fully equipped kitchen with all cooking, cleaning appliances. Registration is possible. There is a parking spot directly in front of the building.",
- "deposit": 24000,
- "estimatedBills": 15000,
- "minimumStayMonths": 26,
- "maximumStayMonths": 36,
- "maxBookableDays": 30,
- "moveInWindow": 30,
- "currentOccupancy": 2,
- "rules": {
- "pets": "no",
- "cleaningCommonRoomsIncluded": true,
- "cleaningPrivateRoomIncluded": true,
- "playMusic": "no",
- "smoking": "no",
- "couple": true
}, - "minAge": 23,
- "maxAge": 45,
- "preferredGender": "male",
- "alias": "the-left-room",
- "externalReference": "any-identifier",
- "extraData": "{\"onBoardingLink\":\"https://termsandconditions.com/uniqueId\"}",
- "facilities": {
- "allergyFriendly": false,
- "housematesGender": "boys",
- "registrationPossible": false,
- "tenantStatus": "working",
- "freePlaces": 3,
- "bedrooms": 3,
- "bedroomFurnished": false,
- "bedroomSize": 60,
- "bedroomLock": true,
- "balconyTerrace": "no",
- "basement": "no",
- "bathroom": "no",
- "garden": "no",
- "kitchen": "no",
- "livingRoom": "no",
- "parking": "no",
- "toilet": "no",
- "totalSize": 80,
- "wheelchairAccessible": true,
- "airConditioning": true,
- "bed": true,
- "closet": true,
- "desk": true,
- "dishwasher": true,
- "dryer": true,
- "internet": true,
- "roomFurniture": true,
- "tv": true,
- "washingMachine": true,
- "wifi": true,
- "flooring": "laminate",
- "heating": "na",
- "kitchenware": "no",
- "additionalCosts": {
- "water": true,
- "gas": true,
- "electricity": true,
- "internet": true
}
}, - "calendarOperations": [
- {
- "type": 1,
- "dateFrom": "2024-05-29",
- "dateTo": "2025-07-29"
}
], - "costs": [
- {
- "type": "security-deposit",
- "value": "8000",
- "payableAt": "move-in",
- "payableBy": "tenant",
- "refundable": true,
- "estimated": false,
- "mandatory": true
}
]
}
{- "meta": {
- "status": "2xx",
- "errors": [
- {
- "error": "string"
}
]
}, - "data": {
- "id": "1ErM5R2eZvKYlo2CoHFHzSQ0"
}
}
Get all listings of the particular advertiser.
GetListingsResponse
Bad request or Malformed JSON
Authorization error. API key is missing or invalid.
Insufficient Permission
Something went wrong on server side
Production Server. Use it for real data
Test server. Use it for test data
{- "meta": {
- "status": "2xx",
- "errors": [
- {
- "error": "string"
}
]
}, - "data": [
- {
- "id": "1ErM5R2eZvKYlo2CoHFHzSQ0",
- "price": 56700,
- "pricingType": 2,
- "monthlyPrices": {
- "1": 120000,
- "2": 80000,
- "3": 90000,
- "4": 100000,
- "5": 90000,
- "6": 85000,
- "7": 89000,
- "8": 89000,
- "9": 70000,
- "10": 60000,
- "11": 60000,
- "12": 75000
}, - "address": {
- "housenumber": "81A",
- "street": "Oostplein",
- "city": "Rotterdam",
- "state": "South-Holland",
- "postalCode": "3071VN",
- "neighborhood": "Oostplein Metro Station",
- "countryCode": "NL"
}, - "type": 1,
- "kind": 1,
- "currencyCode": "EUR",
- "description": "string",
- "deposit": 24000,
- "estimatedBills": 5000,
- "minimumStayMonths": 36,
- "maximumStayMonths": 12,
- "maxBookableDays": 5,
- "moveInWindow": 2,
- "currentOccupancy": 3,
- "rules": {
- "pets": "no",
- "cleaningCommonRoomsIncluded": true