# Getting Started

Integrating Substreams can be quick and easy. This guide will help you get started with consuming ready-made Substreams packages or developing your own. Substreams are permissionless. Grab a key [here](https://thegraph.market/), no personal information required, and start streaming on-chain data.

## Build

### Explore Available Substreams Packages

There are many ready-to-use Substreams packages available. You can explore these packages using the [**Substreams Registry**](https://substreams.dev). The registry lets you search for and find packages that meet your needs.

Once you find a package that fits your needs, you can choose how you want to consume the data:

* [**SQL Database**](/how-to-guides/sinks/sql.md): Send the data to a database.
* [**Direct Streaming**](/how-to-guides/sinks/stream.md): Stream data directly to your application.
* [**PubSub**](/how-to-guides/sinks/pubsub.md): Send data to a PubSub topic.

<figure><img src="/files/gJkTYuBdrwdIOYmvyT4U" alt="" width="100%"><figcaption></figcaption></figure>

### Optionally Develop Your Own Substreams

If you can't find a Substreams package that meets your specific needs, you can develop your own. Substreams are built with Rust, so you’ll write functions that extract and filter the data you need from the blockchain. The easiest way to get started is by referring to the [tutorial](/tutorials/intro-to-tutorials.md) section, enabling you to quickly filter data:

* [EVM](/tutorials/intro-to-tutorials/evm.md)
* [Solana](/tutorials/intro-to-tutorials/on-solana/solana.md)
* [Starknet](/tutorials/intro-to-tutorials/starknet.md)
* [Injective](/tutorials/intro-to-tutorials/injective.md)
* [MANTRA](/tutorials/intro-to-tutorials/mantra.md)

To build and optimize your Substreams from zero, use the minimal path within the [Dev Container](/reference-material/development-tools/devcontainer-ref.md) to setup your environment and follow the [How-To Guides](/how-to-guides/develop-your-own-substreams.md).

### Learn

* **Substreams Reliability Guarantees**: With a simple reconnection policy, Substreams guarantees you'll [Never Miss Data](/reference-material/core-concepts/reliability-guarantees.md).
* **Substreams Architecture**: For a deeper understanding of how Substreams works, explore the [architectural overview](/reference-material/core-concepts/architecture.md) of the data service.
* **Supported Networks**: Check-out which endpoints are supported [here](/reference-material/chain-support/chains-and-endpoints.md).


---

# Agent Instructions: 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:

```
GET https://docs.substreams.dev/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
