APIs
Market data API
Last quote, FX, policy rates, and IMF World Economic Outlook vintages.
Endpoints
| MCP | HTTP |
|---|---|
| get_price_snapshot | MCP get_price_snapshot Primary surface today. Pass ticker + market_id; optional event_at for the move around a filing/press date. |
| get_fx | GET /api/v1/fx/rates |
| get_rates | GET /api/v1/macro/rates?group=policy CB policy and sovereign yields — not FX. |
| get_macro | GET /api/v1/macro/weo?area=FRA&subject=NGDP_RPCH IMF WEO series for one edition (vintage=YYYY-MM, latest by default). is_forecast marks IMF projections; null when the IMF gives no plain-year boundary. |
| get_company_climate | GET /api/v1/companies/{market}/{ticker}/climate As-filed greenhouse-gas series. Published climate targets when that dataset is available. |
| — (REST) | GET /api/v1/macro/weo/areas |
| — (REST) | GET /api/v1/market-quotes/batch?tickers= Batch last quotes. Tickers are comma-separated (max 60). |
Example
curl -s -H "X-API-Key: of_your_key" \ "https://api.openfilings.org/api/v1/macro/weo?area=FRA&subject=NGDP_RPCH"
Python SDK:
from openfilings import Client
client = Client(api_key="of_...")
fx = client.market.fx_rates()
policy = client.market.macro_rates(group="policy")
weo = client.market.weo("FRA", subject="NGDP_RPCH")
# weo.points[i].is_forecast — True / False / NoneNotes
- relative_strength is stock return minus SPY — not RSI.
- Skip trading conclusions when data_quality=missing.
- get_macro / client.market.weo is not get_rates — policy stays on /macro/rates.