Skip to main content

Rate Limits and Bulk Imports

The SSN API is a REST API for individual resource operations. It does not currently provide a bulk-create endpoint that accepts an array or import file.

Request limit

Client API requests are limited to 100 requests per minute.

This limit applies across API requests for the authenticated client, including reads, creates, updates, file uploads, and webhook subscription management. When the limit is exceeded, the API can return 429 Too Many Requests. See Errors and Business Rules for the response shape and retry guidance.

Importing 1000+ records

Large imports are supported as controlled sequences of individual requests, not as a single bulk request.

For imports of 1000 or more sites, site visits, or messages:

  • send one resource per POST request
  • throttle below 100 requests per minute
  • use a unique Idempotency-Key for every POST
  • retry transient 429 and 502 responses with backoff
  • keep a local progress log so the import can resume without duplicating rows
  • treat 409 Conflict as a data issue to review, not as a retryable transient error

At the maximum documented rate, 1000 create requests take at least 10 minutes before network latency, validation lookups, retries, and upstream Quickbase processing time are included. Plan longer windows for site-visit imports, because each site visit may also validate related site, project, item, and site asset values.

Use a conservative starting pace of 20 to 60 requests per minute for large imports. Increase only after sandbox testing confirms stable response times and low retry volume.

Do not burst hundreds of concurrent create requests. High concurrency can increase 429 responses and upstream Quickbase errors without improving total import reliability.

Idempotency

Every create request should include an Idempotency-Key header. Reusing the same key with the same request body lets a client safely retry after a timeout or transient error without creating a duplicate record.

Use a stable import-row identifier in the key, for example:

Idempotency-Key: import-2026-05-14-sites-row-000123

Use a different key for each distinct record.