> For the complete documentation index, see [llms.txt](https://bluegamma.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bluegamma.io/documentation/integrations/api/how-to-guides/validating-bluegamma-api-data-against-bloomberg-or-other-platforms.md).

# Validating BlueGamma API Data Against Bloomberg or Other Platforms

**Who is this for?**\
You're trying out the BlueGamma API and want to ensure that the data aligns with rates from platforms you're already using like Bloomberg or online sources.

This guide walks you through how to make those comparisons accurately, using consistent quoting conventions for USD SOFR, CAD CORRA, and EUR EURIBOR.

***

### 🔑 Key Things to Keep in Mind

Before comparing rates, make sure to:

* ✅ Match **payment frequencies** and **day count conventions**
* ✅ Use the same **valuation date/time**
* ✅ Align on **swap structure** (e.g. OIS vs IBOR-based)
* ✅ Use the `/swap_rate` endpoint when comparing to par swap quotes (not `/forward_rate` or `/discount_factor`)

***

### 🇺🇸 USD SOFR (Overnight Indexed Swap)

#### ✅ Market Convention (and BlueGamma UI default)

* Fixed leg: **Annual**, Actual/360
* Floating leg: **Annual**, Actual/360

#### 🔧 API Parameters

```bash
index=SOFR
start_date=0D
maturity_date=10Y
fixed_leg_frequency=1Y
floating_leg_frequency=1Y
fixed_leg_day_count=Actual360
```

#### 🔎 Notes

* Bloomberg and other providers may use **Semi vs Semi** with different stub assumptions. Adjust accordingly if you're trying to match another screen exactly.

***

### 🇨🇦 CAD CORRA (Overnight Indexed Swap)

#### ✅ Market Convention

* Fixed leg: **Annual**, Actual/365
* Floating leg: **Annual**, Actual/365

#### 🔧 API Parameters

```bash
index=CORRA
start_date=0D
maturity_date=10Y
fixed_leg_frequency=1Y
floating_leg_frequency=1Y
fixed_leg_day_count=Actual365Fixed
floating_leg_day_count=Actual365Fixed

```

***

### 🇪🇺 EUR EURIBOR

#### ✅ Market Convention

* Fixed leg: **Annual**, 30/360
* Floating leg: **6M EURIBOR**, Actual/360

> 💡 If your reference source uses 3M or 1M EURIBOR instead, update the `index` and `floating_leg_frequency` accordingly.

#### 🔧 API Parameters

```bash
index=6M EURIBOR
start_date=0D
maturity_date=10Y
fixed_leg_frequency=1Y
floating_leg_frequency=6M
fixed_leg_day_count=Thirty360EuroBondBasis
floating_leg_day_count=Actual360

```

***

### 🧪 If Rates Don’t Match

Here’s a checklist to debug any mismatch:

| ✅ Check This...       | 🔍 What To Look For                                                                                 |
| --------------------- | --------------------------------------------------------------------------------------------------- |
| Frequency             | Are fixed/floating legs aligned (e.g. 1Y vs 6M)?                                                    |
| Day count conventions | Are you using the same as your reference (e.g. 30/360 vs ACT/360)?                                  |
| Valuation time/date   | Use `valuation_time` to align the exact timestamp                                                   |
| Stub periods          | Although BlueGamma's API doesn't allow you to adjust stub periods this may cause slight differences |
| Structure             | Confirm you’re comparing a par swap rate (not forward or zero rates)                                |

📩 **Still unsure?** Email <support@bluegamma.io> with the values or screenshots you're comparing and we’ll be happy to help.

***

### 🐍 Example: Calling the BlueGamma API in Python

Here’s a basic example of how to request a 10Y SOFR swap rate using `requests` in Python:

```python
import requests

url = "https://api.bluegamma.io/v1/swap_rate"
headers = {
    "x-api-key": "your_api_key_here"
}
params = {
    "index": "SOFR",
    "start_date": "0D",
    "maturity_date": "10Y",
    "fixed_leg_frequency": "1Y",
    "floating_leg_frequency": "1Y",
    "fixed_leg_day_count": "Actual360",
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

```

```bash
curl -X GET "https://api.bluegamma.io/v1/swap_rate?index=SOFR&start_date=0D&maturity_date=10Y&fixed_leg_frequency=1Y&floating_leg_frequency=1Y&fixed_leg_day_count=Actual360" \
  -H "x-api-key: your_api_key_here"
```

You can easily adapt this to test CORRA or EURIBOR by changing the `index` and frequency/day count parameters.

***

**Need an API key?**\
📩 <support@bluegamma.io> | 📅 [Book a call](https://app.lemcal.com/@alivohra/website-demo?back=1)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://bluegamma.io/documentation/integrations/api/how-to-guides/validating-bluegamma-api-data-against-bloomberg-or-other-platforms.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
