OpenNordicStocks.Client
1.0.3
dotnet add package OpenNordicStocks.Client --version 1.0.3
NuGet\Install-Package OpenNordicStocks.Client -Version 1.0.3
<PackageReference Include="OpenNordicStocks.Client" Version="1.0.3" />
<PackageVersion Include="OpenNordicStocks.Client" Version="1.0.3" />
<PackageReference Include="OpenNordicStocks.Client" />
paket add OpenNordicStocks.Client --version 1.0.3
#r "nuget: OpenNordicStocks.Client, 1.0.3"
#:package OpenNordicStocks.Client@1.0.3
#addin nuget:?package=OpenNordicStocks.Client&version=1.0.3
#tool nuget:?package=OpenNordicStocks.Client&version=1.0.3
OpenNordicStocks.NET
OpenNordicStocks.NET is an open-source .NET service and SDK providing daily and historical stock data for Sweden, Denmark, and Finland (NASDAQ Nordic OMX). Free, cacheable, and CDN-ready — designed for developers and analysts who need reliable Nordic market data.
📦 Projects
This solution consists of four main projects:
OpenNordicStocks.Core
Core library containing models and provider interfaces for Nordic stock data.
Features:
StockData- Model representing individual stock informationStockSnapshot- Model representing a complete market snapshotIStockDataProvider- Interface for implementing data providers
OpenNordicStocks.Client
NuGet SDK for consuming stock data from the OpenNordicStocks CDN.
Installation:
dotnet add package OpenNordicStocks.Client
Usage:
using OpenNordicStocks.Client;
var services = new ServiceCollection();
services.AddHttpClient<IOpenNordicStocksClient, OpenNordicStocksClient>();
services.AddHybridCache();
var provider = services.BuildServiceProvider();
var client = provider.GetRequiredService<IOpenNordicStocksClient>();
// Get latest stock data
var latestSnapshot = await client.GetRateAsync();
Console.WriteLine(latestSnapshot);
OpenNordicStocks.Publisher
Console application that fetches stock data and publishes normalized JSON snapshots.
Usage:
export DATA_DIRECTORY=./data
dotnet run --project src/OpenNordicStocks.Publisher/OpenNordicStocks.Publisher.csproj
This project is designed to run as a GitHub Action on a daily schedule, automatically fetching and publishing stock data.
OpenNordicStocks.Tests
xUnit test project containing unit tests for all components.
Run tests:
dotnet test
🚀 Getting Started
Prerequisites
- .NET 9.0 SDK or later
Building the Solution
dotnet restore
dotnet build
Running Tests
dotnet test
📊 Data Format
Stock data is published as normalized JSON in the following format:
{
"date": "2025-10-28T00:00:00Z",
"stocks": [
{
"symbol": "VOLV-B",
"name": "Volvo AB",
"price": 245.50,
"market": "OMX Stockholm",
"currency": "SEK",
"timestamp": "2025-10-28T17:37:44.7434313Z",
"volume": 1500000,
"change": 2.50,
"changePercent": 1.03
}
],
"metadata": {
"version": "0.1.0",
"generatedAt": "2025-10-28T17:37:44.743672Z",
"totalCount": 3,
"markets": ["OMX Stockholm", "OMX Helsinki", "OMX Copenhagen"]
}
}
🌐 CDN Access
Published data will be available via CDN at:
- Latest snapshot:
https://cdn.opennordicstocks.net/data/latest.json - Historical data:
https://cdn.opennordicstocks.net/data/YYYY-MM-DD.json
🤖 Automation
Stock data is automatically updated daily via GitHub Actions:
- Scheduled to run at 6:00 PM UTC (after Nordic markets close)
- Runs Monday through Friday (weekdays only)
- Can also be manually triggered via workflow dispatch
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📧 Contact
Henrik Roschmann - @henrikroschmann
Project Link: https://github.com/henrikroschmann/OpenNordicStocks.NET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Microsoft.Extensions.Caching.Hybrid (>= 9.10.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.