apimo™

Webservice & API

Welcome to our API dedicated to Real Estate providers, you will find all the details of a real estate agency with its products, contacts and settings. Depending on your rights you can also send some information such as leads.

Partners

Request a free trial

Contact us

Agencies/properties

Available methods

HTTP method Path Function
get /agencies/{agency_id}/properties Retrieve the properties list
post /agencies/{agency_id}/properties Create a new property
post /agencies/{agency_id}/properties/{property_id}/medias Add/embed a media (virtual tour, video …)
delete /agencies/{agency_id}/properties/{property_id}/medias/{media_id} Delete a media (virtual tour, video …)
post /agencies/{agency_id}/properties/{property_id}/pictures Update a picture
delete /agencies/{agency_id}/properties/{property_id}/pictures/{picture_id} Delete a picture inside a property
post /agencies/{agency_id}/properties/{property_id}/comments Add/Update a comment
get /agencies/{agency_id}/properties/{property_id}/providers Provider list for a specific property
post /agencies/{agency_id}/properties/{property_id}/providers Grant property access to a provider

get Retrieve the properties list /agencies/{agency_id}/properties

Path parameters

  • agency_id  The unique id for the real estate agency

Request body parameters

  • limit  The number of records to return (max: 200, default: 100)
  • offset  The number of records to skip (default: 0)
  • timestamp  Return records created or updated since this UNIX/POSIX timestamp

Response body

  • total_items  The total number of item regardless of pagination
  • timestamp  UNIX/POSIX timestamp of the most recent item inside this list
  • properties  Array
    • id  Unique ID of the property
    • reference  Human readable reference
    • agency  Unique ID of the agency
    • user  Array
      • id  Unique ID of the user
      • agency  Unique ID of the agency (can be different from {agency_id})
      • active  User again active or not
      • created_at  Date/time of the first creation
      • updated_at  Date/time of the last update
      • firstname  Firstname of the user
      • lastname  Lastname of the user
      • language  Language code ISO 639-1 of the user
      • group  Group/profile of the user
      • email  e-mail address
      • phone  Phone number with country code
      • fax  Fax number with country code
      • mobile  Mobile number with country code
      • birthday_at  Birthday date
      • timezone  Local timezone of the user
      • picture  HTTP link to the picture
    • step  Main step (in progress, pending, …)
    • parent  Parent ID (example: link between an apartment inside a new construction)
    • ranking  Ranking of the property from 1 to 5
    • category  Category of the property (sale, rental, …)
    • subcategory  Subcategory of the property (bulk sale, holiday rental, …)
    • name  Name of the property
    • type  Type of the property (apartment, house, …)
    • subtype  Subtype of the property (studio, penthouse, villa, …)
    • agreement  Array
      • type  Type of agreement
      • reference  Human readable reference
      • start_at  Start date of agreement
      • end_at  End date of agreement
    • block_name  Building name/reference
    • lot_reference  Lot reference
    • cadastre_reference  Cadastral reference
    • stairs_reference  Stairs reference
    • address  Address of the property
    • address_more  More details about the address
    • publish_address  If you can publish the address details
    • country  Country code ISO 3166-1 alpha-2
    • region  Array
      • id  Unique ID of the region
      • name  Name of the region
    • city  Array
      • id  Unique ID of the city
      • name  Name of the city
      • zipcode  Postal code of the property
    • district  Array
      • id  Unique ID of the city
      • name  Name of the district
    • location  Array
      • comment  [DEPRECATED] Location of the property (center, seaside, …)
    • longitude  GPS longitude
    • latitude  GPS latitude
    • radius  Radius of GPS coordinates in meters (equal to 0 if publish_address is 1)
    • area  Array
      • unit  ID of the area unit
      • value  Decimal value of the area
      • total  Decimal value of the total area (should be greater than value)
      • weighted  Decimal value of the weighted area
    • rooms  Number of rooms (can be decimal for some countries)
    • bedrooms  Number of bedrooms
    • sleeps  Number of sleeps
    • price  Array
      • value  Value of the price
      • max  Max value of the price
      • fees  Value of the rental fees
      • unit  ID of the area unit
      • period  Rent frequency
      • hide  Hide the price (true/false)
      • inventory  Fees for inventory in case of rentals
      • deposit  Deposit for the customer
      • currency  Currency ISO 4217
      • commission  Commission for the customer
      • commission_owner  Commission for the owner
      • commission_customer  Commission for the customer
      • contribution  Value of the initial contribution (for life annuity)
      • pension  Value of the pension (for life annuity)
      • tenant  Value of the current rental
      • sold  The final price in case of sale
      • sold_at  The date of contract in case of sale
      • estimation  Array
        • min  Minimum estimated price
        • max  Maximum estimated price
    • rates  Array
      • step  1 for available / 2 for booked
      • start_at  Arrival day
      • end_at  Departure day
      • price  Price for the proposed period
      • days  Number of days
    • residence  Array
    • view  Array
    • construction  Array
    • floor  Array
      • type  Type of floor
      • value  Value of the floor (0 for ground, 1 for first floor, …, last for last floor)
      • levels  Levels number of the property inside the building
      • floors  Floors number of the building
    • heating  Array
    • water  Array
    • condition  Condition of the property
    • standing  Standing of the property (High standard, luxury)
    • style  Array
      • name  Name of the style
    • url  Dedicated website for the property
    • availability  Availability of the property
    • available_at  Date of availabilty (when the rental is free)
    • delivered_at  Date of delivery (for new construction)
    • activities  Array of activities
    • orientations  Array of orientations
    • services  Array of services
    • proximities  Array of proxitimies
    • tags  Array of tags
    • tags_customized  Array
      • comment  Array of customized tags (different for each agency)
    • pictures  Array
      • id  Unique ID of the picture
      • rank  Picture rank
      • url  Absolute link of the picture
      • width_max  Max width of the picture
      • height_max  Max height of the picture
      • comments  Array of comments
    • medias  Array
      • type  Type of media (video, html, …)
      • value  Content of the media
    • comments  Array
      • language  Language of comment
      • title  Main title
      • subtitle  Subtitle
      • hook  Hook
      • comment  Comment (can be full)
      • comment_full  Full comment (can be empty)
    • areas  Array
    • regulations  Array
    • financial  Array
    • created_at  Date/time of the first creation
    • updated_at  Date/time of the last update

Response body private mode

  • status  Status of the property (subcategory of step)
  • group  Group of the database (can be ignored)
  • agreement  Array
    • start_at  Agreement start at
    • end_at  Agreement end at
  • owner  Owner reference linked to contact endpoint
  • visit  Array
    • contact  Contact for visiting, reference linked to contact endpoint
    • comment  Visit instructions
  • exchanges  List of the portals to publish
  • filling_rate  Filling rate
  • private_comment  Private description
  • status_comment  Status description
  • logs  Array
    • field  Field updated
    • value  New value
    • date  Date of the update

Example request

Console
PHP
curl --request GET \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties' \
--user 'provider:token'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"properties":[{"id":181297,"reference":"24367","user":10,"step":1,"status":1,"group":1,"parent":0,"category":2,"subcategory":21,"name":"","type":1,"subtype":5,"agreement":{"type":1,"reference":"1158","start_at":"2016-04-12","end_at":"2016-10-12"},"address":null,"address_more":null,"country":"FR","city":{"id":2123,"name":"Nice","zipcode":"06100"},"district":{"id":18,"name":"Gambetta"},"location":6,"longitude":7.25315,"latitude":43.69821,"area":{"unit":1,"value":52.12,"total":null},"rooms":"2.0","bedrooms":1,"sleeps":null,"price":{"value":750,"fees":70,"hide":false,"commission":null,"guarantee":750,"currency":"EUR","first_value":670},"residence":{"type":0,"fees":70,"lots":0},"view":{"type":3,"landscape":[]},"floor":{"type":5,"value":3},"heating":{"device":null,"access":1,"type":1},"water":{"hot_device":3,"hot_access":1,"waste":2},"condition":3,"standing":1,"style":{"name":"RECENT"},"activities":[],"orientations":[3],"services":[6,9,1,23],"proximities":[1,7,23,4,11,9,27,18,15,10],"tags":[],"pictures":[{"rank":1,"url":"https:\/\/s3-eu-west-1.amazonaws.com\/apimo\/pictures\/estate\/182\/181297\/1333698249570d11f3a8fe30.65435457_1024.jpg","width_max":1920,"height_max":1440,"comments":[]},{"rank":2,"url":"https:\/\/s3-eu-west-1.amazonaws.com\/apimo\/pictures\/estate\/182\/181297\/11754140635139d8635d6864.86036814_1024.jpg","width_max":1920,"height_max":1080,"comments":[]},{"rank":3,"url":"https:\/\/s3-eu-west-1.amazonaws.com\/apimo\/pictures\/estate\/182\/181297\/7580103925139d636a2a559.62635841_1024.jpg","width_max":1920,"height_max":1080,"comments":[]}],"medias":[],"comments":[{"language":"fr","title":"2P CENTRE NICE","subtitle":null,"hook":null,"comment":"GAMBETTA \/ CESSOLE, SPACIEUX 2P, de 52m\u00b2 expos\u00e9 \u2026","comment_full":null}],"areas":[{"type":"15","number":"1","area":null,"flooring":"2","floor":{"id":0,"value":null},"orientations":[],"comments":[]},{"type":"1","number":"1","area":12.88,"flooring":"1","floor":{"id":0,"value":null},"orientations":[3],"comments":[{"language":"fr","comment":"placard, BALCON 7.80m\u00b2"}]},{"type":"3","number":"1","area":null,"flooring":"2","floor":{"id":0,"value":null},"orientations":[3],"comments":[{"language":"fr","comment":"Am\u00e9ricaine \u00e9quip\u00e9e"}]},{"type":"20","number":"1","area":20.45,"flooring":"2","floor":{"id":0,"value":null},"orientations":[3],"comments":[{"language":"fr","comment":"balcon vue d\u00e9gag\u00e9e"}]},{"type":"41","number":"1","area":null,"flooring":"2","floor":{"id":0,"value":null},"orientations":[],"comments":[]},{"type":"6","number":"1","area":null,"flooring":null,"floor":{"id":0,"value":null},"orientations":[],"comments":[]}],"regulations":[{"type":4,"value":"1","date":"2013-03-08"},{"type":7,"value":"1","date":null}],"created_at":"2010-06-30 14:33:53","updated_at":"2016-04-12 22:30:45"}]}

post Create a new property /agencies/{agency_id}/properties

Path parameters

  • agency_id  The unique id for the real estate agency

Request body parameters

Response body

  • id  Unique ID to store for any update (PUT method)
  • created_at  Date/time of the first creation
  • updated_at  Date/time of the last update

Example request

Console
PHP
curl --request POST \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties' \
--user 'provider:token' \
--header 'content-type: application/json' \
--data '{ }' \
--include
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ }');
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"id":"19344239","created_at":"2020-02-18 15:02:34","updated_at":"2020-02-18 15:52:26"}

post Add/embed a media (virtual tour, video …) /agencies/{agency_id}/properties/{property_id}/medias

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property

Request body parameters

  • reference  Your own unique reference
  • type  Type of media (1: Dailymotion, 2: Youtube, 9: HTML, 12: Matterport, 15: Vimeo, 19: Clap.video)
  • content  HTML content or HTTP link of the media

Response body

  • None

Example request

Console
PHP
curl --request POST \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/medias' \
--user 'provider:token' \
--header 'content-type: application/json' \
--data '{ , "type": "2", "content": "https://youtu.be/JGowo0ARgPo" }' \
--include
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/medias');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ , "type": "2", "content": "https://youtu.be/JGowo0ARgPo" }');
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"id":123456}

delete Delete a media (virtual tour, video …) /agencies/{agency_id}/properties/{property_id}/medias/{media_id}

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property
  • media_id  The unique id for the real estate media

Request body parameters

  • None

Response body

  • None

Example request

Console
PHP
curl --request DELETE \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/medias/{media_id}' \
--user 'provider:token'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/medias/{media_id}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"success":true}

post Update a picture /agencies/{agency_id}/properties/{property_id}/pictures

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property

Request body parameters

  • reference  Your own unique reference
  • content  Base64 content of the real estate picture
  • comments  Array of comments ([ {"language":"fr","comment":"commentaire photo"}, {"language":"en","comment":"picture comment"} ])

Response body

  • None

Example request

Console
PHP
curl --request POST \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/pictures' \
--user 'provider:token' \
--header 'content-type: application/json' \
--data '{ "reference": "5fc80a9bdc46c", "content": "[base64 content … ]" }' \
--include
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/pictures');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "reference": "5fc80a9bdc46c", "content": "[base64 content … ]" }');
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"id":66321497,"rank":1,"url":"https:\/\/d1qfj231ug7wdu.cloudfront.net\/pictures\/estate\/2612\/2611637\/17613436475c1bbd3b2f5720.93310060_1430.jpg","width_max":1430,"height_max":710}

delete Delete a picture inside a property /agencies/{agency_id}/properties/{property_id}/pictures/{picture_id}

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property
  • picture_id  The unique id for the real estate picture

Request body parameters

  • None

Response body

  • None

Example request

Console
PHP
curl --request DELETE \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/pictures/{picture_id}' \
--user 'provider:token'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/pictures/{picture_id}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"success":true}

post Add/Update a comment /agencies/{agency_id}/properties/{property_id}/comments

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property

Request body parameters

  • language  Language code ISO 639-1 of the comment
  • title  Title of the property
  • subtitle  Subtitle of the property
  • hook  Hook of the property
  • comment  Full description of the property

Response body

  • None

Example request

Console
PHP
curl --request POST \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/comments' \
--user 'provider:token' \
--header 'content-type: application/json' \
--data '{ "language": "en", "title": "Property title", "subtitle": "Property subtitle", "hook": "Property hook", "comment": "Full property description" }' \
--include
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/comments');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "language": "en", "title": "Property title", "subtitle": "Property subtitle", "hook": "Property hook", "comment": "Full property description" }');
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"id":123456}

get Provider list for a specific property /agencies/{agency_id}/properties/{property_id}/providers

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property

Request body parameters

  • provider  Unique reference of the provider
  • step  1: active, 2: not active

Response body

  • None

Example request

Console
PHP
curl --request GET \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/providers' \
--user 'provider:token'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/providers');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"provider":100,"step":1}

post Grant property access to a provider /agencies/{agency_id}/properties/{property_id}/providers

Path parameters

  • agency_id  The unique id for the real estate agency
  • property_id  The unique id for the real estate property

Request body parameters

  • provider  Unique reference of the provider
  • step  1: active, 2: not active

Response body

  • None

Example request

Console
PHP
curl --request POST \
--url 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/providers' \
--user 'provider:token' \
--header 'content-type: application/json' \
--data '{ , "step": "1" }' \
--include
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apimo.pro/agencies/{agency_id}/properties/{property_id}/providers');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'provider:token');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ , "step": "1" }');
$output = curl_exec($ch);
curl_close($ch);
$values = json_decode($output, true);
?>

Example response

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 02 Dec 2020 22:43:55 +0100
Content-Type: application/json; charset=utf-8
Content-Length: 137
Connection: keep-alive
Vary: Accept-Encoding

{"providers":[{"provider":100,"step":1},{"provider":230,"step":4}]}