API

Pagination des biens : API immobilière

La pagination est le détail technique qui sépare une API qui scale d'une API qui s'effondre à 10 000 biens. Cet article compare les approches (offset, page, curseur) et donne les bonnes pratiques pour parcourir un catalogue immobilier sans timeout.

Les trois modes de pagination

ModeAvantageInconvénient
Offset / LimitSimple, ?offset=200&limit=20Effondrement au-delà de 10 000 lignes
Page / LimitErgonomique, ?page=3Même limite que offset
CursorStable, performant, ?cursor=...Pas de saut direct à la page N

Pourquoi l'offset ne tient pas

Demander la page 1000 avec un offset 100 000 force la base à lire 100 020 lignes pour n'en retourner que 20. À grande échelle, c'est un timeout garanti. Les API modernes utilisent toutes le curseur pour cette raison.

Pagination par curseur en détail

Un curseur encode la position de la dernière ligne lue (souvent un id ou un timestamp). À la requête suivante, l'API filtre directement sur "id > curseur_précédent" : aucune relecture inutile.

Pagination par curseur sur l'API Ts-Immo
GET /v1/properties?limit=100&cursor=eyJpZCI6InRzLTk5OTk5In0
Authorization: Bearer ts_live_...

# Réponse
{
  "data": [...],
  "meta": {
    "next_cursor": "eyJpZCI6InRzLTEwMDk5In0",
    "has_more": true
  }
}

Synchronisation incrémentale

Pour ne récupérer que les biens modifiés depuis le dernier cycle, utilisez le filtre updated_since avec un timestamp ISO 8601. Combiné au curseur, cela permet une réconciliation incrémentale rapide.

Limites recommandées

  • Limit par page : 20 à 100 (200 absolu).
  • Au-delà, le serveur force à 100.
  • Pour les exports complets, prévoir une boucle qui suit next_cursor.
  • Throttler à 30 requêtes par minute en lecture si pagination complète.

Astuce

Pour un export complet de 10 000 biens, planifiez-le hors heures de pointe (nuit). Cela évite de saturer votre quota de rate limiting pendant la journée commerciale.

Tri et stabilité

Une pagination ne fonctionne que si l'ordre est stable. Ts-Immo trie par défaut par id croissant, garantissant qu'un bien créé pendant votre boucle de pagination apparaîtra à la fin, jamais au milieu rétroactivement.

Questions fréquentes

Pourquoi pas de pagination par page sur l'API Ts-Immo ?+

Nous proposons les deux : la pagination par page+limit pour les usages simples, le curseur pour les exports massifs. Au-delà de 10 000 biens, seul le curseur garantit des temps de réponse stables sous 200 ms.

Comment exporter tout le catalogue ?+

Boucler sur le curseur tant que has_more est true. Pour un catalogue de 5 000 biens avec une limit de 100, cela représente 50 requêtes, soit environ 10 secondes au total. Notre SDK JavaScript fournit un itérateur asynchrone qui automatise cette logique.

Le curseur expire-t-il ?+

Les curseurs Ts-Immo restent valides 24 heures. Au-delà, ils peuvent toujours fonctionner mais sans garantie de cohérence si la base a beaucoup évolué. Pour les exports longue durée, repartez du début avec updated_since plutôt que de réutiliser un vieux curseur.

Aller plus loin dans le cocon

CRM, thèmes WordPress, guides techniques, comparatifs et ressources connectés à cette page.

Mots-clés associés

paginationcurseurAPI

Ready to connect your CRM?

Get started for free or contact us for a personalized Ts-Immo demonstration.

Pagination API immobilière : guide complet — Ts-Immo