FX Bank Forecast · API
Public coverage API
Read-only JSON access to live FX rates, multi-firm consensus, institutional positioning, and the macro calendar. Anonymous requests are subject to a 60 requests/minute soft limit. For higher throughput, contact coverage@fxbankforecast.com.
Base URL
https://fxbankforecast.com
Endpoints
Returns your current rate-limit class (anonymous, signed-in, or API key) and remaining quota.
{ "authenticated": true, "tier": "authed", "rateLimit": { "perMinute": 600, "window": "60s" } }Live FX spot rates (USD base) across 28 currency pairs
{ "rates": { "EUR": 1.0821, "GBP": 1.2603, "JPY": 154.12, ... }, "base": "USD", "source": "oanda-v20" }Cross-firm consensus forecasts for major pairs
{ "consensus": [ { "currency": "EUR", "q4": 1.08, "eoy": 1.10, "firmCount": 6 }, ... ] }CFTC COT institutional positioning — non-commercial net contracts, 26-week series
{ "positioning": [ { "currency": "EUR", "latest": { "noncommNet": 45820, "reportDate": "2025-04-15" } } ] }Macro calendar events. Query params: days_back (default 14), days_ahead (default 30), impact (high|medium|low)
{ "events": [ { "date": "2025-04-30T12:30:00Z", "name": "Fed Funds Rate", "currency": "USD", "impact": "high" } ] }List of all covered sell-side institutions
{ "firms": [ { "id": "gs", "name": "Goldman Sachs" }, ... ] }Full research report for a single institution
{ "report": { "firmId": "gs", "forecasts": [...], "trades": [...] } }Cross-firm forecast comparison. Optional query param: currency (e.g. EUR)
{ "comparisons": [ { "firmId": "gs", "currency": "EUR", "targetEOY": 1.10 }, ... ] }Historical forecast accuracy by firm and year
{ "years": [ { "year": 2024, "firms": [...], "actuals": {...} } ] }Live gold spot price (USD/oz) with intraday change and recent history
{ "price": 2342.10, "change": 12.40, "changePct": 0.53, "source": "yahoo-gold-futures" }Live WTI crude price (USD/bbl) with intraday change and recent history
{ "price": 81.24, "change": -0.38, "changePct": -0.47, "source": "yahoo-wti-futures" }Rate limiting
Every response includes the following headers:
X-RateLimit-Limit # Requests permitted in the current window X-RateLimit-Remaining # Requests remaining before the limit is reached X-RateLimit-Reset # Window reset time (UTC Unix seconds)
When the limit is exceeded, the API returns HTTP 429 with a Retry-After header (seconds until the next request is permitted) and a JSON body:
{ "error": "rate_limit_exceeded", "message": "Rate limit exceeded. Please throttle requests.", "retryAfter": 12 }Sign in at /login and visit /api/me to see your current rate-limit class and remaining quota.
Rate limits
| Caller | Limit | Notes |
|---|---|---|
| Anonymous | 60 req / 60 s | No authentication required |
| Signed in | 60 req / 60 s | Sign in via /login |
| API key | 6,000 req / 60 s | Contact coverage@fxbankforecast.com |
Schema
OpenAPI specification — available on request via coverage@fxbankforecast.com.
FX BANK FORECAST · COVERAGE
Institutional FX coverage in your inbox
Aggregated year-end forecasts, scenario shifts, and curated analyst notes from eight institutional desks. No promotion.