generated: '2026-08-14' method: searched source: https://docs.ntropy.com/api/rate-limits limit_count: 24 scope: per API key (independent of source IP) response_headers: ratelimit: [] observed: - name: x-request-id always: true purpose: Correlation id for support; returned on every response including 403. evidence: 'GET https://api.ntropy.com/v3/account_holders (unauthenticated) -> HTTP 403, x-request-id present' probed: '2026-08-14' note: >- Ntropy publishes NO runtime rate-limit signal. There are no X-RateLimit-*, RateLimit-* or Retry-After headers documented, and none appear on live responses. An agent cannot read its remaining credits, its concurrency headroom, or a back-off hint from the response — it can only observe the terminal status codes (429 rate limit, 423 quota exhausted) after the fact. The published per-endpoint ops/second table below is the only budget information available, and it is static documentation, not a runtime signal. model: credits: max_balance: 50000 refill_per_second: 500 cost: 1 credit per enriched transaction concurrency: max_concurrent_enrichment_operations: 10 on_exceed: http_status: 429 sdk_error: NtropyRateLimitError quota_http_status: 423 limits: - method: POST endpoint: /v3/transactions ops_per_second: 20 - method: POST endpoint: /v3/transactions/{id} ops_per_second: 10 - method: GET endpoint: /v3/transactions ops_per_second: 10 - method: DELETE endpoint: /v3/transactions/{id} ops_per_second: 10 - method: POST endpoint: /v3/transactions/{id}/assign ops_per_second: 10 - method: POST endpoint: /v3/batches ops_per_second: 20 - method: GET endpoint: /v3/batches ops_per_second: 20 - method: GET endpoint: /v3/batches/{id} ops_per_second: 20 - method: GET endpoint: /v3/batches/{id}/results ops_per_second: 10 - method: POST endpoint: /v3/bank_statements ops_per_second: 10 - method: GET endpoint: /v3/bank_statements ops_per_second: 10 - method: GET endpoint: /v3/bank_statements/{id} ops_per_second: 10 - method: DELETE endpoint: /v3/bank_statements/{id} ops_per_second: 10 - method: POST endpoint: /v3/bank_statements/{id}/verify ops_per_second: 10 - method: POST endpoint: /v3/bank_statements/{id}/results ops_per_second: 10 - method: POST endpoint: /v3/account_holders ops_per_second: 100 - method: GET endpoint: /v3/account_holders ops_per_second: 10 - method: GET endpoint: /v3/account_holders/{id} ops_per_second: 10 - method: DELETE endpoint: /v3/account_holders/{id} ops_per_second: 10 - method: POST endpoint: /v3/account_holders/{id}/recurring_groups ops_per_second: 10 - method: POST endpoint: /v3/webhooks ops_per_second: 10 - method: GET endpoint: /v3/webhooks ops_per_second: 10 - method: GET endpoint: /v3/webhooks/{id} ops_per_second: 10 - method: DELETE endpoint: /v3/webhooks/{id} ops_per_second: 10