Stream EstateStream Estate
Guides

Pagination

Pagination par page ou par curseur sur POST /properties

POST /properties expose deux modes via le champ discriminant paginationType :

paginationType: "page" — offset classique

Simple et lisible, mais peut dupliquer/manquer des items si la donnée évolue entre deux pages.

{
  "searchMode": "classic",
  "paginationType": "page",
  "page": 1,
  "size": 20,
  "propertyTypes": ["FLAT"]
}

Incrémentez page jusqu'à hasNextPage === false.

paginationType: "cursor" — curseur stable

Recommandé pour le scraping / export / listes longues. Stable même si des items sont insérés entre appels.

Première requête

{
  "searchMode": "classic",
  "paginationType": "cursor",
  "size": 50,
  "propertyTypes": ["FLAT"]
}

Réponse

{
  "items": [ /* 50 résultats */ ],
  "totalItems": 4231,
  "searchAfter": ["2026-04-15T09:00:00Z", "abc123"],
  "pitId": "ey...",
  "hasNextPage": true
}

Page suivante

Renvoyez le contenu de searchAfter (stringifié) dans le champ cursor :

{
  "searchMode": "classic",
  "paginationType": "cursor",
  "size": 50,
  "cursor": "<valeur de searchAfter de la réponse précédente>",
  "propertyTypes": ["FLAT"]
}

Boucle jusqu'à hasNextPage === false.

Limites

  • size max : 100 par requête (défaut 10)
  • totalItems est toujours renvoyé, utile pour afficher un total même en mode cursor

Sur cette page