API Reference

Integrate real-time forward curve and swap rate data directly into your spreadsheets, treasury software, or pricing portfolios. Our API is developer-friendly, offering fast and reliable data access.

Why BlueGamma?

  • Specialized Data: Access forward curves and swap rates for multiple currencies and tenors to make timely, data-driven decisions.

  • Easy Integration: Designed for easy integration into existing systems.

  • Expert Support: Our experts are available to assist with your integration needs.

💡 Looking for more? Visit our website to explore use cases and solutions.

🔗 Ready to get started? Request API access


Get Swap Rate

get

This endpoint calculates the swap rate based on the specified parameters.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
start_dateone ofRequired

The start date for the swap. Provide either a specific date (e.g., '2025-12-31') or a tenor (e.g., '6M', '1Y'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
maturity_dateone ofRequired

The maturity date for the swap. Provide either a specific date (e.g., '2030-12-31') or a tenor (e.g., '1Y', '5Y'), but not both. Validation Requirements: - Maturity date must be in the future - Maturity date must be later than start date - If using a tenor, it represents the period from start date to maturity

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2030-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
fixed_leg_frequencystringRequired

Payment frequency for financial instruments

Example: 1Y
floating_leg_frequencystringOptional

Payment frequency for financial instruments

Example: 1Y
fixed_leg_day_countstring · enumOptional

The day count convention used for the fixed leg of the swap. By default, we use the currency-specific day count convention.

Example: Actual365FixedPossible values:
floating_leg_day_countstring · enumOptional

The day count convention used for the floating leg of the swap. By default, we use the currency-specific day count convention.

Example: Actual360Possible values:
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
Responses
200

Successful retrieval of calculated swap rate data.

application/json
get
/swap_rate

Get Swap Curve

get

This endpoint returns a complete swap curve for a given index, calculating swap rates for all available tenors. It uses the predefined index configuration to automatically determine the appropriate day count conventions and frequencies, then fetches all available tenors from the database.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
Responses
200

Successful retrieval of complete swap curve data for all available tenors.

application/json
get
/get_swap_curve

Get Forward Rate

get

Fetches the forward rate based on the specified parameters, including reference rate, start date, end date and optional valuation time.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
start_dateone ofRequired

The start date for the forward rate calculation. Provide either a specific date (e.g., '2025-12-31') or a tenor (e.g., '1Y', '5Y'), but not both. Validation Requirements: - Start date must be later than valuation time - If using a tenor, it represents the period from valuation time to start date

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
end_dateone ofRequired

The end date for the forward period. Provide either a specific date (e.g., '2026-03-31') or a tenor (e.g., '1M', '3M'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
Responses
200

Successful retrieval of forward curve data.

application/json
get
/forward_rate

Get Discount Factor

get

Fetches the discount factor based on the specified parameters, including reference rate, date and optional valuation time.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
dateone ofRequired

The date for the discount factor calculation. Provide either a specific date (e.g., '2025-12-31') or a tenor (e.g., '1Y', '5Y'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
Responses
200

Successful retrieval of discount rate data.

application/json
get
/discount_factor

Get Zero Rate

get

Fetches the zero rate (spot rate) based on the specified parameters, including reference rate, date and optional valuation time. Returns the zero rate as a percentage with configurable compounding and day count conventions.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
dateone ofRequired

The date for the zero rate calculation. Provide either a specific date (e.g., '2025-12-31') or a tenor (e.g., '1Y', '5Y'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
day_countstring · enumOptional

Day count convention for the zero rate calculation. If not provided, uses the curve's default day count.

Example: {"summary":"Actual/360","value":"Actual360"}Possible values:
compoundingstring · enumOptional

Compounding type for the zero rate. Default is Simple.

Default: SimpleExample: {"summary":"Simple (no compounding)","value":"Simple"}Possible values:
compounding_frequencystring · enumOptional

Compounding frequency. Only applicable when compounding is set to 'Compounded'. Default is 12M (Annual).

Default: 12MExample: {"summary":"Annual compounding","value":"12M"}Possible values:
Responses
200

Successful retrieval of zero rate data.

application/json
get
/zero_rate

Get FX Spot Rate

get

Fetches the foreign exchange spot rate for the specified currency pair.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
currency_pairstringRequired

Currency pair for which to retrieve the FX spot rate (e.g., EURUSD, GBPJPY).

Example: {"summary":"EUR/USD (Euro to US Dollar)","value":"EURUSD"}
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
Responses
200

Successful retrieval of FX spot rate data.

application/json
get
/fx

Get FX Forward Rate

get

Fetches the forward exchange rate for a given currency pair. The forward rate is determined based on the specified date or defaults to the current date.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
currency_pairstringRequired

The currency pair in ISO format (e.g., "EURUSD" for Euro to US Dollar).

Example: EURUSD
datestring · dateOptional

The date for which the forward rate is requested. Defaults to the current date if not specified.

Example: 2024-12-31
Responses
200

Successful retrieval of FX forward rate data.

application/json
get
/fx_forward

Real-Time FX Streaming (WebSocket)

get

Access live foreign exchange market data with real-time mid-prices derived from institutional market feeds.

This HTTP endpoint has been replaced by a dedicated WebSocket service and is kept here for documentation purposes for prospective users.

Connect directly via WebSocket at: wss://streaming.bluegamma.io/fx_stream

Example connection URL: wss://streaming.bluegamma.io/fx_stream?s=EURUSD&token=YOUR_TOKEN

If you previously relied on an HTTP redirect, please update your client to open a WebSocket connection directly.

The stream provides continuous market data via the WebSocket protocol for low-latency, bidirectional communication.

Query parameters:

  • s: one or more symbols (repeatable), e.g. ?s=EURUSD&s=GBPUSD

  • token: your JWT token

Server Messages (from server to client):

Quote updates:

{
  "type": "quote",
  "symbol": "EURUSD",
  "mid": 1.0845,
  "timestamp": "2025-01-15T14:30:25.123Z"
}

Connection status:

Subscription confirmations:

Heartbeat:

Client Commands (send from client to server):

Subscribe to additional symbols:

Unsubscribe from symbols:

Ping (optional - server sends automatic pings):

Example Usage (JavaScript):

Example Usage (Python - websockets):

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
sstring[]Optional

Select which currency symbols to include in your real-time data stream. Repeat the s parameter to include multiple symbols (e.g., ?s=EURUSD&s=GBPUSD). Supports major pairs (EUR/USD, GBP/USD), crosses (EUR/GBP, AUD/JPY), and emerging market currencies.

Supported symbols include:

  • Major pairs: EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD
  • Euro crosses: EURGBP, EURJPY, EURCHF, EURAUD, EURCAD
  • Other crosses: GBPJPY, CHFJPY, AUDJPY, CADJPY
  • Emerging markets: USDMXN, USDBRL, USDZAR, USDTRY, USDCNY

Comma-separated values are not accepted.

Default: ["EURUSD"]Example: {"summary":"EUR/USD (most liquid pair)","value":["EURUSD"]}
tokenstringRequired

JWT token used to authenticate the WebSocket connection. Obtain your token from BlueGamma. This token must be provided as a query parameter when opening the WebSocket connection.

Example: {"summary":"Example token","value":"eyJhbGciOi..."}
Responses
get
/fx_stream

No content

Get Government Bond Yield

get

Calculates the yield for a government bond yield based on country and tenor. Yields are zero coupon yields, assuming S/A compounding.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
country_codestringRequired

The ISO country code for which to retrieve the government bond yield (e.g., US, UK, DE).

Example: {"summary":"US Treasury bonds","value":"US"}
maturityone ofRequired

The tenor or specific date for the government bond yield (e.g., '1Y', '5Y', '10Y' or '2030-12-31').

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2030-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
forward_startone ofOptional

The forward start date or tenor for the government bond yield (e.g., '1Y', '5Y', '10Y' or '2030-12-31').

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2030-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
Responses
200

Successful retrieval of government bond yield data.

application/json
get
/gov_yield

Get Forward Curve

get

Returns a forward curve constructed over a schedule of periods between start_date and end_date.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
start_dateone ofRequired

The start date for the forward curve calculation. Provide either a specific date (e.g., '2025-12-31') or a tenor (e.g., '1Y', '5Y'), but not both. Validation Requirements: - Start date must be later than valuation time - If using a tenor, it represents the period from valuation time to start date

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
end_dateone ofRequired

The end date for the forward curve. Provide either a specific date (e.g., '2050-12-31') or a tenor (e.g., '10Y', '20Y'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2030-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
tenorstringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
frequencystringRequired

Payment frequency for financial instruments

Example: 1Y
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
is_end_of_monthbooleanOptional

Whether to align periods to the end of each month.

Default: true
Responses
200

Successful retrieval of forward curve data.

application/json
get
/forward_curve

Get Fixing Rate

get

Fetches the fixing rate for a given index at a specific valuation time.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Interest rate benchmarks and indices available for fixing rate retrieval (excludes SAIBOR)

Example: SOFRPossible values:
valuation_datestring · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
Responses
200

Successful retrieval of fixing rate data.

application/json
get
/fixing

Get Discount Curve

get

Returns discount factors for a schedule between start_date and end_date using a given index.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
start_dateone ofRequired

The start date for the discount curve calculation. Provide either a specific date (e.g., '2025-12-31') or a tenor (e.g., '1Y', '5Y'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
end_dateone ofRequired

The end date for the discount curve. Provide either a specific date (e.g., '2030-12-31') or a tenor (e.g., '10Y', '50Y'), but not both.

Example: 2D
string · dateOptional

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2030-12-31
or
stringOptional

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
valuation_timestring · date-timeOptional

A date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). All times are interpreted as UTC.

Example: 2024-01-01T15:00:00Z
is_end_of_monthbooleanOptional

Whether to align periods to the end of each month.

Default: true
frequencystringRequired

Payment frequency for financial instruments

Example: 1Y
Responses
200

Successful retrieval of discount curve data.

application/json
get
/discount_curve

Get Historical Swap Rates

get

Returns historical swap rates for a given index and tenor over a date range (start_date to end_date).

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
tenorstringRequired

A time period represented as a number followed by a period indicator (D=days, W=weeks, M=months, Y=years)

Example: 1YPattern: ^[0-9]+[DWMY]$
start_datestring · dateRequired

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
end_datestring · dateRequired

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
Responses
200

Successful retrieval of historical swap rates.

application/json
get
/historical_swap_rates

Get Available Swap Rate Tenors

get

Returns the list of available tenors for swap rates for a given index.

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
indexstring · enumRequired

Common interest rate benchmarks and indices used in financial markets

Example: SOFRPossible values:
Responses
200

Successful retrieval of available swap rate tenors.

application/json
get
/swap_rate_tenors

Calculate Compounded Overnight Rate / Realised Rate

get

Calculate compounded overnight rates (realised rates) for risk-free rate (RFR) indices over a specified period.

This endpoint computes the realised compounded rate using actual market fixings for overnight reference rates. The calculation follows market conventions for each index, including day count conventions, lookback periods, lockout days, and observation shifts.

Supported Overnight Indices:

  • SOFR (Secured Overnight Financing Rate)

  • SONIA (Sterling Overnight Index Average)

  • ESTR (Euro Short-Term Rate)

  • SORA (Singapore Overnight Rate Average)

  • TONAR (Tokyo Overnight Average Rate)

  • CORRA (Canadian Overnight Repo Rate Average)

  • SARON (Swiss Average Rate Overnight)

Use Cases:

  • Calculate historical realised rates for loan settlements

  • Compute interest payments based on overnight index compounding

  • Validate RFR-based calculations

  • Generate audit trails for compounded rate calculations

Authorizations
x-api-keystringRequired

API token required for authentication

Query parameters
start_datestring · dateRequired

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2025-12-31
end_datestring · dateRequired

A date in ISO 8601 only date format (YYYY-MM-DD)

Example: 2030-12-31
indexstring · enumRequired

Overnight index name. Supported indices include SOFR, SONIA, ESTR, SORA, TONAR, CORRA, SARON, CDI, and Fed Funds.

Example: {"summary":"SOFR index","value":"SOFR"}Possible values:
nominalnumber · floatOptional

Notional amount for calculation. If not provided, defaults to 1,000,000.

Default: 1000000Example: {"summary":"1 million notional","value":1000000}
spreadnumber · floatOptional

Additional spread in percentage (e.g. 5 = 5%). If not provided, defaults to 0.

Default: 0Example: {"summary":"No spread","value":0}
day_counterstringOptional

Day count convention for the calculation. If not provided, uses the index-specific default convention.

Example: {"summary":"Actual/360","value":"Actual/360"}
lookback_daysintegerOptional

Number of days to lag the reference rate. If not provided, defaults to 0.

Default: 0Example: {"summary":"No lookback","value":0}
lockout_daysintegerOptional

Number of days at the end of the period without rate resets. If not provided, defaults to 0.

Default: 0Example: {"summary":"No lockout","value":0}
apply_observation_shiftbooleanOptional

Whether to apply observation shift to the rate calculation. If not provided, defaults to false.

Default: falseExample: {"summary":"No observation shift","value":false}
Responses
200

Successful calculation of compounded overnight rate.

application/json
get
/compounded_rate

Last updated

Was this helpful?