Skip to content

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

GET/api/me

Returns your current rate-limit class (anonymous, signed-in, or API key) and remaining quota.

{ "authenticated": true, "tier": "authed", "rateLimit": { "perMinute": 600, "window": "60s" } }
GET/api/rates

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" }
GET/api/consensus

Cross-firm consensus forecasts for major pairs

{ "consensus": [ { "currency": "EUR", "q4": 1.08, "eoy": 1.10, "firmCount": 6 }, ... ] }
GET/api/positioning

CFTC COT institutional positioning — non-commercial net contracts, 26-week series

{ "positioning": [ { "currency": "EUR", "latest": { "noncommNet": 45820, "reportDate": "2025-04-15" } } ] }
GET/api/economic-events

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" } ] }
GET/api/firms

List of all covered sell-side institutions

{ "firms": [ { "id": "gs", "name": "Goldman Sachs" }, ... ] }
GET/api/firms/:firm

Full research report for a single institution

{ "report": { "firmId": "gs", "forecasts": [...], "trades": [...] } }
GET/api/compare

Cross-firm forecast comparison. Optional query param: currency (e.g. EUR)

{ "comparisons": [ { "firmId": "gs", "currency": "EUR", "targetEOY": 1.10 }, ... ] }
GET/api/track-record

Historical forecast accuracy by firm and year

{ "years": [ { "year": 2024, "firms": [...], "actuals": {...} } ] }
GET/api/gold-price

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" }
GET/api/oil-price

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

CallerLimitNotes
Anonymous60 req / 60 sNo authentication required
Signed in60 req / 60 sSign in via /login
API key6,000 req / 60 sContact 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.