Rate Limits
API quotas aggregate by account and approved website over a rolling 60-second window. Creating another key for the same website does not multiply its allowance.
Limits by plan
| Plan | Requests per minute | Scope |
|---|---|---|
| Pro | 120 | One approved website |
| Brokerage | 300 | Per approved website |
| Agency Partner | 600 | Per approved client website |
| Enterprise | 1,000 | Per approved website, with custom arrangements available |
Response headers
| Header | Description |
|---|---|
RateLimit-Limit | Maximum requests in the current window |
RateLimit-Remaining | Requests remaining for the account and website |
RateLimit-Reset | Unix timestamp in seconds for the current reset |
Retry-After | Seconds to wait after a 429 response |
Production behavior
EasyAgentIDX fails closed when the production traffic-control service is unavailable. This prevents an infrastructure problem from silently turning off abuse protection. Read and write requests return a temporary 503 until enforcement is restored.
Home Valuations credits
POST /api/v1/valuations consumes one credit from the active add-on for the authenticated website. Repeating the same property for the same website within the deduplication window does not consume another credit. A request with no remaining credits returns 402 NO_VALUATION_CREDITS.
Recommended client behavior
- Cache search and listing responses no longer than the compliance metadata allows.
- Debounce typeahead requests by at least 300 milliseconds.
- Use exponential backoff with jitter for 429 and retryable 5xx responses.
- Do not retry validation, authorization, inactive feed, or exhausted credit errors.
- Monitor the standard rate headers instead of estimating capacity locally.