> For the complete documentation index, see [llms.txt](https://developer.barchart.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.barchart.com/getting-started/subscribing-to-market-data.md).

# Subscribing to Market Data

Use the [Streaming API](/openfeed-api/streaming.md) to subscribe to continuous market data. Choose a subscription model based on your expected message volume.

### Choose a subscription model

#### Subscribe by symbol

Symbol subscriptions stream only the instruments you request. They suit smaller universes, prototypes, research, analytics, and user-facing applications.

Any Openfeed SDK can support symbol-limited subscriptions. Choose the language that fits your application:

* [Python SDK](/repos-sdks/python-sdk.md) — research, ETL, analytics, and ML/AI workflows.
* [TypeScript/JavaScript SDK](/repos-sdks/typescript-javascript-sdk.md) — browser applications, dashboards, and visualizations.
* [Java SDK](/repos-sdks/java-sdk.md), [.NET SDK](/repos-sdks/.net-sdk.md), or [Go SDK](/repos-sdks/go-golang-sdk.md) — streaming data for demanding production services and future growth.

Follow the language-specific SDK instructions to:

1. Create and authenticate a client.
2. Register market-data handlers.
3. Subscribe with the symbols and subscription types you need.

#### Subscribe by exchange

Exchange subscriptions stream the full exchange feed. They include instrument definitions, metadata, and rapid market updates. Use them for feed handlers and core market-data ingestion services.

Choose a high-performance SDK:

* [Java SDK](/repos-sdks/java-sdk.md)
* [.NET SDK](/repos-sdks/.net-sdk.md)
* [Go SDK](/repos-sdks/go-golang-sdk.md)

Follow the SDK instructions to:

1. Create and authenticate a client.
2. Prepare handlers for metadata and market-data messages.
3. Submit an exchange subscription for the required exchange and data types.

{% hint style="warning" %}
Exchange subscriptions require credential configuration. Contact Barchart Institutional Support before subscribing.
{% endhint %}

### Select the right SDK

Full exchange feeds demand sustained throughput, memory efficiency, concurrency, and connection stability. Java, .NET, and Go are the preferred primary feed-handler languages.

Python works well downstream for ETL, analytics, ML/AI, and orchestration. JavaScript works well for dashboards and client-side visualizations. Avoid using either as the primary handler for full exchange feeds.

For symbol-limited streams, language choice can follow your team’s skills, architecture, and application needs. Java, .NET, and Go remain suitable when you expect future scale.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.barchart.com/getting-started/subscribing-to-market-data.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
