Skip to main content

Overview

Rather than fetching all merchants on every sync, use updated_since to pull only records that changed since your last sync. This reduces API calls and keeps you well within rate limits.

Full sync (first run)

On your first sync, page through all merchants:

Incremental sync (subsequent runs)

Pass updated_since with the as_of timestamp from your last sync:
Incremental syncs typically return a small fraction of your portfolio, so even hourly syncs stay well within the 120 req/min rate limit.

Tips

  • Store as_of from each sync response as your next updated_since value
  • Upsert, don’t replace — Incremental results contain only changed records
  • Filter by status — Use ?status=active if you only care about active merchants
  • Handle pagination — Even incremental results can span multiple pages after bulk updates