OpenNordicStocks.Client 1.0.3

dotnet add package OpenNordicStocks.Client --version 1.0.3
                    
NuGet\Install-Package OpenNordicStocks.Client -Version 1.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OpenNordicStocks.Client" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OpenNordicStocks.Client" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="OpenNordicStocks.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OpenNordicStocks.Client --version 1.0.3
                    
#r "nuget: OpenNordicStocks.Client, 1.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OpenNordicStocks.Client@1.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OpenNordicStocks.Client&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=OpenNordicStocks.Client&version=1.0.3
                    
Install as a Cake Tool

OpenNordicStocks.NET

NuGet License

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 information
  • StockSnapshot - Model representing a complete market snapshot
  • IStockDataProvider - 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3 431 10/31/2025
1.0.2 211 10/29/2025
1.0.1 220 10/29/2025
1.0.0 216 10/28/2025