HousingAnywhere API

Download OpenAPI specification:Download

Introduction

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.

Publish Quality Listings

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.

Integrate with Property Management Systems

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.

Bookings made easy

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.

Getting Started guide

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

Authentication is done using a custom query parameter called 'api_key'.

ApiKeyAuth

Security Scheme Type API Key
Query parameter name: api_key

Pagination

We utilize cursor based pagination via the nextCursor parameter. It takes an existing object ID value (see below) and return objects.

Arguments

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.

Technical Support

If you need additional technical support after going through our technical documentation, our team of international account managers will be eager to facilitate you.

Listings

Add Listing

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.

Authorizations:
Request Body schema: application/json
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 pricingType is set to Monthly i.e 2. When choosing this type of pricing model, price for all twelve months are mandatory. Listing.price is a required field even when the pricing type is set to monthly, this is just for UI representation and won't be used.

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 Costs endpoints.

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 Costs endpoint.

When any of facilities.additionalCosts is set to false (meaning that cost is not included in the rent), estimatedBill is expected to be higher than 0. This is because we want to make sure tenants have an estimation of the costs they may have if booking the accommodation. The number is purely informative and it does not affect the final price of the listing. The value is in lowest denomination in given currency. e.g: Cents if currency is Euro

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 startDate then the listing is bookable between startDate and startDate + moveInWindow. Setting it to 0 denotes no limit.

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 No Preference in the UI when no value is set.

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)

Responses

201

Add Listing Response

400

Bad request or Malformed JSON

401

Authorization error. API key is missing or invalid.

403

Insufficient Permission

422

Wrong payload

500

Something went wrong on server side

post/listings

Production Server. Use it for real data

https://api.housinganywhere.com/v1/listings

Test server. Use it for test data

https://api.s.stage.housinganywhere.com/api/v1/listings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "price": 56700,
  • "pricingType": 2,
  • "monthlyPrices":
    {
    },
  • "currencyCode": "EUR",
  • "address":
    {
    },
  • "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":
    {
    },
  • "minAge": 23,
  • "maxAge": 45,
  • "preferredGender": "male",
  • "alias": "the-left-room",
  • "externalReference": "any-identifier",
  • "extraData": "{\"onBoardingLink\":\"https://termsandconditions.com/uniqueId\"}",
  • "facilities":
    {
    },
  • "calendarOperations":
    [
    ],
  • "images":
    [],
  • "costs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "meta":
    {
    },
  • "data":
    {
    }
}

Get All Listings

Get all listings of the particular advertiser.

Authorizations:

Responses

200

GetListingsResponse

400

Bad request or Malformed JSON

401

Authorization error. API key is missing or invalid.

403

Insufficient Permission

500

Something went wrong on server side

get/listings

Production Server. Use it for real data

https://api.housinganywhere.com/v1/listings

Test server. Use it for test data

https://api.s.stage.housinganywhere.com/api/v1/listings

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "meta":
    {
    },
  • "data":
    [