{"record":{"id":"2ca9e42507d6b17c","repo":"OpenBB-finance/OpenBB","slug":"fred-api-rate-limit-exceeded-http-429-please-wa","errorCode":null,"errorMessage":"FRED API rate limit exceeded (HTTP 429). Please wait a moment and try again.","messagePattern":"FRED API rate limit exceeded \\(HTTP 429\\)\\. Please wait a moment and try again\\.","errorType":"exception","errorClass":"OpenBBError","httpStatus":429,"severity":"error","filePath":"openbb_platform/providers/fred/openbb_fred/utils/rate_limiter.py","lineNumber":193,"sourceCode":"            )\n            raise _RateLimitedResponse(retry_after)\n        if response_callback is not None:\n            return await response_callback(response, session)\n        payload = await response.json()\n        _check_payload_rate_limit(payload)\n        return payload\n\n    attempt = 0\n    while True:\n        await acquire()\n        try:\n            return await amake_request(\n                url, response_callback=_wrapped_callback, **kwargs\n            )\n        except _RateLimitedResponse as rl:\n            attempt += 1\n            if attempt > retries:\n                raise OpenBBError(ValueError(_RATE_LIMIT_MESSAGE)) from rl\n            backoff = (\n                rl.retry_after\n                if rl.retry_after is not None\n                else min(\n                    DEFAULT_BACKOFF_SECONDS * (2 ** (attempt - 1)),\n                    MAX_BACKOFF_SECONDS,\n                )\n            )\n            await asyncio.sleep(max(backoff, MIN_INTERVAL_SECONDS))\n\n\ndef _is_cacheable(value: Any) -> bool:\n    \"\"\"Don't cache empty / falsy payloads — they're usually transient errors.\"\"\"\n    if value is None:\n        return False\n    return not (isinstance(value, (list, dict, str, bytes)) and len(value) == 0)\n\n","sourceCodeStart":175,"sourceCodeEnd":211,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/fred/openbb_fred/utils/rate_limiter.py#L175-L211","documentation":"Error \"FRED API rate limit exceeded (HTTP 429). Please wait a moment and try again.\" thrown in OpenBB-finance/OpenBB.","triggerScenarios":"Thrown at openbb_platform/providers/fred/openbb_fred/utils/rate_limiter.py:193 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Wait a moment and retry the request.","Reduce the frequency and size of FRED API requests.","Verify you are using a valid FRED API key to get higher rate limits."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}