---
updatedAt: 2025-06-06T23:09:29.000Z
agentTools:
  projectIndex: https://docs.dinari.com/llms.txt
---

# Stock Data

This section provides examples on retrieving the list of stocks supported on Dinari and supporting metadata for those stocks.

# SDK References

| Language                | URL                                                                                     |
| :---------------------- | :-------------------------------------------------------------------------------------- |
| Javascript / Typescript | <https://github.com/dinaricrypto/dinari-api-sdk-typescript/blob/main/api.md#marketdata> |
| Python                  | <https://github.com/dinaricrypto/dinari-api-sdk-python/blob/main/api.md#marketdata>     |
| Go                      | <https://github.com/dinaricrypto/dinari-api-sdk-go/blob/main/api.md#marketdata>         |

# SDK Examples

## Get list of Stocks

```typescript TypeScript
import Dinari from '@dinari/api-sdk';

const client = new Dinari({
  apiKeyID: process.env['DINARI_API_KEY_ID'], // This is the default and can be omitted
  apiSecretKey: process.env['DINARI_API_SECRET_KEY'], // This is the default and can be omitted
  environment: 'sandbox', // defaults to 'production'
});

async function main() {
  const stocks = await client.v2.marketData.stocks.list();
  console.log(stocks);
}

main();
```
```python Python
import os
from dinari_api_sdk import Dinari

client = Dinari(
    api_key_id=os.environ.get("DINARI_API_KEY_ID"),  # This is the default and can be omitted
    api_secret_key=os.environ.get("DINARI_API_SECRET_KEY"),  # This is the default and can be omitted
    environment="sandbox", # defaults to "production"
)

stocks = client.v2.market_data.stocks.list()
```
```go Go
package main

import (
	"context"
	"fmt"
	"log"

	dinari "github.com/dinaricrypto/dinari-api-sdk-go"
	"github.com/dinaricrypto/dinari-api-sdk-go/option"
)

func main() {
	// DINARI_API_KEY_ID and DINARI_API_SECRET_KEY should be set as environment variables
	client := dinari.NewClient(
		option.WithEnvironmentSandbox(), // Defaults to production when omitted
	)

	// Example: Get a list of all stocks
	stocks, err := client.V2.MarketData.Stocks.List(context.TODO(), dinari.V2MarketDataStockListParams{})
	if err != nil {
		log.Fatalf("Failed to list stocks: %v", err)
	}

	fmt.Printf("Stocks: %+v\\n", stocks)
}
```

## Get historical prices for a Stock

```typescript TypeScript
import Dinari from '@dinari/api-sdk';

const client = new Dinari({
  apiKeyID: process.env['DINARI_API_KEY_ID'], // This is the default and can be omitted
  apiSecretKey: process.env['DINARI_API_SECRET_KEY'], // This is the default and can be omitted
  environment: 'sandbox', // defaults to 'production'
});

async function main() {
  const stockID = 'stock-id-here';

  const prices = await client.v2.marketData.stocks.retrieveHistoricalPrices(stockID, {
    timespan: 'DAY',
  });

  console.log(prices);
}

main();
```
```python Python
import os
from dinari_api_sdk import Dinari

client = Dinari(
    api_key_id=os.environ.get("DINARI_API_KEY_ID"),  # This is the default and can be omitted
    api_secret_key=os.environ.get("DINARI_API_SECRET_KEY"),  # This is the default and can be omitted
    environment="sandbox", # defaults to "production"
)

prices = client.v2.market_data.stocks.retrieve_historical_prices(
    stock_id="stock_xxx",  # Replace with the actual Stock ID
    timespan="DAY",
)

```
```go Go
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	dinari "github.com/dinaricrypto/dinari-api-sdk-go"
	"github.com/dinaricrypto/dinari-api-sdk-go/option"
)

func main() {
	// DINARI_API_KEY_ID and DINARI_API_SECRET_KEY are set as environment variables
	client := dinari.NewClient(
		option.WithEnvironmentSandbox(), // Defaults to production when omitted
	)

	stockID := "target-stock-uuid"
	queryParams := dinari.V2MarketDataStockGetHistoricalPricesParams{
		Timespan: dinari.V2MarketDataStockGetHistoricalPricesParamsTimespanDay,
	}

	resp, err := client.V2.MarketData.Stocks.GetHistoricalPrices(context.TODO(), stockID, queryParams)
	if err != nil {
		log.Fatalf("Error getting historical prices: %v", err)
	}

	fmt.Printf("Response: %+v\\n", resp)
}

```

## Get news for a Stock

```typescript TypeScript
import Dinari from '@dinari/api-sdk';

const client = new Dinari({
  apiKeyID: process.env['DINARI_API_KEY_ID'], // This is the default and can be omitted
  apiSecretKey: process.env['DINARI_API_SECRET_KEY'], // This is the default and can be omitted
  environment: 'sandbox', // defaults to 'production'
});

async function main() {
  const stockID = 'stock-id-here'; // Replace with the actual stock ID

  // Optionally specify a limit on the number of news articles returned
  const news = await client.v2.marketData.stocks.retrieveNews(stockID, { limit: 5 });

  console.log(news);
}

main();
```
```python Python
import os
from dinari_api_sdk import Dinari

client = Dinari(
    api_key_id=os.environ.get("DINARI_API_KEY_ID"),  # This is the default and can be omitted
    api_secret_key=os.environ.get("DINARI_API_SECRET_KEY"),  # This is the default and can be omitted
    environment="sandbox", # defaults to "production"
)

news = client.v2.market_data.stocks.retrieve_news(
    stock_id="stock_xxx",  # Replace with the actual Stock ID
    limit=5,
)
```
```go Go
package main

import (
	"context"
	"fmt"
	"log"

	dinari "github.com/dinaricrypto/dinari-api-sdk-go"
	"github.com/dinaricrypto/dinari-api-sdk-go/option"
)

func main() {
	// DINARI_API_KEY_ID and DINARI_API_SECRET_KEY are set as environment variables
	client := dinari.NewClient(
		option.WithEnvironmentSandbox(), // Defaults to production when omitted
	)

	stockID := "target-stock-uuid"
	queryParams := dinari.V2MarketDataStockGetNewsParams{
		Limit: dinari.Int(5),
	}

	news, err := client.V2.MarketData.Stocks.GetNews(context.TODO(), stockID, queryParams)
	if err != nil {
		log.Fatalf("Failed to get stock news: %v", err)
	}

	fmt.Printf("News: %+v\\n", news)
}
```

## Get live market quote for a Stock

```typescript TypeScript
import Dinari from '@dinari/api-sdk';

const client = new Dinari({
  apiKeyID: process.env['DINARI_API_KEY_ID'], // This is the default and can be omitted
  apiSecretKey: process.env['DINARI_API_SECRET_KEY'], // This is the default and can be omitted
  environment: 'sandbox', // defaults to 'production'
});

async function main() {
  const stockID = 'stock-id-here';

  const quote = await client.v2.marketData.stocks.retrieveQuote(stockID);

  console.log(quote);
}

main();
```
```python Python
import os
from dinari_api_sdk import Dinari

client = Dinari(
    api_key_id=os.environ.get("DINARI_API_KEY_ID"),  # This is the default and can be omitted
    api_secret_key=os.environ.get("DINARI_API_SECRET_KEY"),  # This is the default and can be omitted
    environment="sandbox", # defaults to "production"
)

quote = client.v2.market_data.stocks.retrieve_quote(
    stock_id="stock_xxx"  # Replace with the actual Stock ID
)
```
```go Go
package main

import (
	"context"
	"fmt"
	"log"

	dinari "github.com/dinaricrypto/dinari-api-sdk-go"
	"github.com/dinaricrypto/dinari-api-sdk-go/option"
)

func main() {
	// DINARI_API_KEY_ID and DINARI_API_SECRET_KEY are set as environment variables
	client := dinari.NewClient(
		option.WithEnvironmentSandbox(), // Defaults to production when omitted
	)

	stockID := "target-stock-uuid"
	stockQuote, err := client.V2.MarketData.Stocks.GetQuote(context.TODO(), stockID)
	if err != nil {
		log.Fatalf("Failed to get stock quote: %v", err)
	}

	fmt.Printf("Quote: %+v\\n", stockQuote)
}
```