Passer au contenu principal
POST
/
properties
/
search
Search properties with filters
curl --request POST \
  --url https://api.immoteur.com/public/v1/properties/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "page": 1,
  "transactionType": "sale",
  "propertyTypes": [
    "apartment",
    "house"
  ],
  "locationDepartments": [
    "75",
    "92"
  ],
  "locationInseeCodes": [
    "75056",
    "92050"
  ],
  "locationPostcodes": [
    "75001",
    "92000"
  ],
  "transactionPriceMin": 200000,
  "transactionPriceMax": 1000000,
  "propertyBedroomCountMin": 2,
  "propertyAreaMin": 40,
  "propertyElevatorExists": true,
  "propertyTerraceExists": true,
  "propertyParkingExists": true
}'
{
  "items": [
    {
      "id": "3a8f1d72-3d0b-4ee6-9a83-a7a9a73ae6c2",
      "propertyArea": 52.5,
      "propertyType": "apartment",
      "location": {
        "city": {
          "name": "Paris",
          "inseeCode": "75056"
        },
        "country": "france",
        "department": "75",
        "postcode": "75001",
        "latitude": 48.8606,
        "longitude": 2.3376
      },
      "media": {
        "images": [
          {
            "url": "https://images.immoteur.com/sample/apt-paris-1.jpg"
          }
        ]
      },
      "classifieds": [
        {
          "id": "5a97b8d2-0da7-47a7-8a03-1c6d4f3d9c48",
          "url": "https://www.seloger.com/annonces/achat/appartement/paris-1er-75/5-pieces/0.htm"
        }
      ],
      "energy": {
        "dpe": {
          "date": "2023-05-10",
          "label": "d",
          "value": 180
        },
        "ges": {
          "date": "2023-05-10",
          "label": "e",
          "value": 45
        },
        "heating": {
          "source": "gas",
          "system": "radiator",
          "type": "individual"
        }
      },
      "metaFirstSeenAt": "2025-06-20",
      "propertyBalconyExists": false,
      "propertyBedroomCount": 2,
      "propertyCellarExists": false,
      "propertyElevatorExists": true,
      "propertyGarageExists": false,
      "propertyGardenExists": false,
      "propertyParkingExists": true,
      "propertyRoomCount": 3,
      "propertySwimmingPoolExists": false,
      "propertyTerraceExists": true,
      "transaction": {
        "type": "sale",
        "price": {
          "current": 650000,
          "perSquareUnit": 12500
        }
      }
    }
  ],
  "meta": {
    "dataAccessLimit": {
      "departments": [
        "75",
        "92"
      ],
      "sirens": [
        "123456789"
      ],
      "sirets": [
        "12345678900011"
      ]
    },
    "page": 1,
    "nextPage": 2,
    "perPage": 20,
    "total": 240,
    "totalPages": 12
  }
}

Authorizations

Authorization
string
header
required

Send your Immoteur Personal Access Token in the Authorization header: Authorization: Bearer <token>

Body

application/json
page
integer
default:1
required

1-based page index.

Required range: 1 <= x <= 500
Example:

1

propertyTypes
enum<string>[]
required

One or more property types to include.

Example:
["apartment", "house"]
transactionType
enum<string>
required
Available options:
rent,
sale
locationDepartments
string[]

List of French department codes (e.g., "75" for Paris).

Example:
["75", "92"]
locationInseeCodes
string[]

List of INSEE city codes.

Example:
["75056", "92050"]
locationPostcodes
string[]

List of French postcodes.

Example:
["75001", "92000"]
propertyAreaMax
integer

Maximum property area (m²).

Example:

100

propertyAreaMin
integer

Minimum property area (m²).

Example:

40

propertyBalconyExists
boolean

Filter results to properties that have a balcony.

Example:

true

propertyBedroomCountMin
integer

Minimum number of bedrooms.

Required range: x >= 0
Example:

2

propertyCellarExists
boolean

Filter results to properties that have a cellar.

Example:

false

propertyElevatorExists
boolean

Filter results to properties that have an elevator.

Example:

true

propertyGarageExists
boolean

Filter results to properties that have a garage.

Example:

false

propertyGardenExists
boolean

Filter results to properties that have a garden.

Example:

false

propertyIsProgram
boolean

Limit to new-build/off-plan programs.

Example:

false

propertyParkingExists
boolean

Filter results to properties that have parking.

Example:

true

propertyRoomCountMin
integer

Minimum total room count.

Required range: x >= 0
Example:

3

propertySwimmingPoolExists
boolean

Filter results to properties that have a swimming pool.

Example:

false

propertyTerraceExists
boolean

Filter results to properties that have a terrace.

Example:

true

transactionPriceHasChanged
boolean

Only properties whose price has changed recently.

Example:

false

transactionPriceMax
integer

Maximum current price.

Example:

1000000

transactionPriceMin
integer

Minimum current price.

Example:

200000

Response

List of properties matching the filters

items
object[]
required
meta
object
required
I