Skip to content

Rate Limits

Every Straply API plan includes a daily lookup limit. Rate limits reset at midnight UTC each day.

PlanDaily lookupsRequests per second
Free1002
Developer5,0005
Pro25,00010
Enterprise100,00025

Every API response includes headers that show your current rate limit status:

X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9847
X-RateLimit-Reset: 1741564800
HeaderDescription
X-RateLimit-LimitYour daily lookup limit
X-RateLimit-RemainingLookups remaining today
X-RateLimit-ResetUnix timestamp when the limit resets (midnight UTC)

Each API call that returns property or market data counts as one lookup:

  • GET /v1/properties/{id} — 1 lookup
  • GET /v1/properties/lookup — 1 lookup
  • GET /v1/properties (search) — 1 lookup regardless of result count
  • GET /v1/markets/{zipCode} — 1 lookup
  • GET /v1/markets/{zipCode}/history — 1 lookup

These do not count toward your limit:

  • Health check requests (GET /v1/health)
  • Authentication failures (invalid key)
  • Requests that return errors (4xx, 5xx)

When you exceed your daily limit, the API returns a 429 Too Many Requests response:

{
"error": {
"code": "rate_limit_exceeded",
"message": "Daily lookup limit exceeded. Resets at midnight UTC.",
"status": 429
}
}

If you exceed the per-second request limit, you will also receive a 429 response. Per-second limits use a sliding window and reset automatically.

  • Cache responses when possible to reduce lookups
  • Monitor usage via the X-RateLimit-Remaining header
  • Implement backoff when you receive a 429 response
  • Upgrade your plan if you consistently hit your limit
  • Use bulk endpoints (Pro and Enterprise) for high-volume data needs