Skip to main content

Data providers

A data provider is a specific dxFeed data service that offers access to a particular area of financial market data. Typically, widgets utilize a combination of multiple services to function; you can view the providers utilized by a specific widget on its respective page. Regarding configuration, each data provider requires a specified source path and authentication header.

Supported providers

Feed Service

Feed Service provides access to live streaming of trading events such as Quotes, Trades, TimeAndSale, Profile, Order, Summary, Candle, etc.

const dataProviders = {
feedPath: 'wss://your-path/feed',
feedAuthHeader: 'your-header'
}

Fundamentals Service

Fundamentals Service provides fundamentals data on stocks.

const dataProviders = {
fundamentalsPath: '/api/fundamentals',
fundamentalsAuthHeader: 'your-header'
}

Instrument Profile Service

Instrument Profile Service (IPF) provides basic profile information about market instruments or set of field values that define corresponding attributes of the instrument. It covers all types of tradable and indicative instruments, including stocks, funds, bonds, indices, futures, options, and others.

const dataProviders = {
ipfPath: '/your-path/ipf',
ipfAuthHeader: 'your-header'
}

News Service

News Service provides the latest financial news.

const dataProviders = {
newsPath: '/api/news',
newsAuthHeader: 'your-header'
}

Scanner Service

Scanner Service assists in identifying the best investment instruments by filtering down a list of thousands to the select few, based on a wide range of criteria.

const dataProviders = {
scannerPath: '/api/scanner',
scannerAuthHeader: 'your-header'
}

Schedule Service

Schedule Service provides trading schedules and market holidays information.

const dataProviders = {
schedulePath: '/api/schedule'
}

Configuration tips

Common configuration object

Since all widgets rely on the same interface providers, creating a common configuration object for reuse across multiple widgets enhances convenience.

const dataProviders = {
feedPath: 'wss://your-path/feed',
feedAuthHeader: 'your-header',
fundamentalsPath: '/api/fundamentals',
fundamentalsAuthHeader: 'your-header',
ipfPath: '/your-path/ipf',
ipfAuthHeader: 'your-header',
newsPath: '/api/news',
newsAuthHeader: 'your-header',
scannerPath: '/api/scanner',
scannerAuthHeader: 'your-header',
schedulePath: '/api/schedule',
}

const widget1 = newWatchListWidget({ element: domNode1, providers: dataProviders })
const widget2 = newTimeAndSalesWidget({ element: domNode2, providers: dataProviders })
const widget3 = newSimpleChartWidget({ element: domNode3, providers: dataProviders })

Proxy

While passing the service URL and authentication header directly to the data provider is possible, it's considered unsafe and may lead to CORS issues. Therefore, the preferred approach is to use a proxy to pass your credentials, which helps eliminate CORS problems.