Extracting Data
OpenDataDSL provides multiple ways to consume data, from interactive tools for analysts to programmatic APIs for application integration.
Overviewβ
| Method | Best for |
|---|---|
| Web Portal | Interactive browsing, charting, and ad-hoc exploration |
| Excel Add-in | Pulling data directly into spreadsheets |
| REST API / SDK | Application integration and programmatic access |
| Automations | Event-driven delivery β push data downstream when it changes |
| Reports | Structured, formatted output for regular distribution |
Web Portalβ
The web portal lets you browse master data, view timeseries charts, inspect forward curves, and run reports β all without writing any code. It works in any browser and on mobile.
Use the portal for ad-hoc data exploration, monitoring process executions, and managing automations.
Open the Web PortalFurther reading: Web Portal guide
Excel Add-inβ
The free Excel add-in connects your spreadsheets directly to the platform. You can search for objects, pull timeseries and curve data into cells, and refresh the data at any time.
The add-in supports:
- Timeseries β pull historical values into a range
- Curves β pull forward curve contracts for a given date
- Objects β pull master data properties into cells
- Reports β render a report output into a sheet
Further reading: Excel Add-in guide
REST API / SDKβ
Every piece of data in the platform is accessible via the REST API. SDKs wrap the API for Python, Java, .NET, MATLAB, and JavaScript.
Example β reading a timeseries via ODSLβ
// Read a specific timeseries property from an object
ts = ${data:"#ECB_FX.EURGBP:SPOT"}
print ts
Example β reading via Python SDKβ
from odsl import OpenDataDSL
odsl = OpenDataDSL()
ts = odsl.get("data", "#ECB_FX.EURGBP:SPOT")
print(ts)
Example β reading via REST APIβ
GET https://api.opendatadsl.com/api/data/v1/public/%23ECB_FX.EURGBP:SPOT
Authorization: Bearer {{token}}
Filtering and projectingβ
The API supports rich filtering, field projection, date-range queries, and aggregation. For example, to get only the values between two dates:
GET https://api.opendatadsl.com/api/data/v1/public/%23ECB_FX.EURGBP:SPOT
?_range=between(2024-01-01,2024-06-30)
Authorization: Bearer {{token}}
Further reading: REST API Guide Β· Python SDK Β· Java SDK
Automationsβ
Rather than polling for data, you can automate delivery β the platform pushes data to your system automatically whenever a watched item changes.
An automation has two parts: a condition that defines what to watch (which data item and which action triggers it) and a target that defines where to send the data.
Automation targetsβ
| Target | Description |
|---|---|
odsl.queue | Push a message to a named queue for an internal application to consume |
odsl.email | Send a formatted email |
odsl.email_attachment | Send data as an email attachment, optionally transformed |
odsl.webhook | POST data to an external HTTP endpoint |
odsl.teams | Post a notification to a Microsoft Teams channel |
odsl.curve | Trigger a Smart Curve build |