Who it’s for
Agents
You publish all your stock from one place. Listings appear under the agency name, just like when they are added by an agent from the account.
Owners
Do you have a few properties in a spreadsheet or a custom app? You publish them with a key from your account.
CRMs
You synchronize your clients’ listings by the id from the CRM, listen to webhooks, and reconcile daily.
The same rules as the Housera form
There are no special rules for the API. A listing sent via the API goes through exactly the same checks as one completed in the form on housera.ro:- what is mandatory for each type of property (an apartment has a floor, a house has land, a plot has area);
- what values are allowed for each field;
- checks between fields (the floor does not exceed the number of floors, bedrooms are not more than rooms);
- moderation: any new listing is checked by a person before it appears in search.
How the flow looks
1
You create a key
From your account, at Settings → API. Start with a sandbox key.
2
You check your mapping
POST /listings/validate applies all the rules without writing anything. You fix what it signals until you receive {"valid": true}.3
You publish
POST /listings (or PUT /listings/ref/{ref}, if you are working with your ids). The listing enters moderation, with status pending.4
You add the pictures
PUT /listings/{code}/photos, with public URLs or with files uploaded directly.5
You find out the result
You receive a webhook
listing.published or listing.rejected. If your endpoint was down, recover from GET /events.Addresses
All requests use HTTPS and JSON. Each response has the header
X-Request-Id, after which you find the request in API log.
Next steps
The first listing in 5 minutes
From key to a listing in moderation, with examples in curl, PHP, JavaScript, and Python.
The fields of a listing
What you send for an apartment, a house, a land or a commercial space.
Moderation and statuses
What happens to a listing after you send it and how you find out the result.
For CRMs
The recommended flow for robust synchronization.
Webhooks
Events, the signature, and retries.
Errors
The error format and all the codes you branch on.
Besides your listings, with a key with access
listings:read you can also read the public catalog of active listings: GET /listings and GET /listings/{code}. The details are in the API reference.