# Introduction

The Tellor system allows users to request specific pieces of data, and reporters can then submit those values. Every piece of data that is requested, reported, and retrieved within the Tellor system is associated with a *Query Type*, *Query Data*, and a specific identifier, known as the *Query ID*.&#x20;

#### Some quick definitions before we move on:

{% tabs %}
{% tab title="Query Type" %}
A Query Type is a [specification](https://github.com/tellor-io/dataSpecs) for custom data you want to receive from the oracle.  It  defines the parameters of a Query that users can input for their specific requests.  For example:

#### Query Type - `SpotPrice`

1. asset
   * description: Asset ID (e.g. BTC)
   * value type: string
2. currency
   * description: Selected currency (e.g. USD)
   * value type: string
     {% endtab %}

{% tab title="Query Data" %}
Query Data is used to form your new Query's unique identifier, or Query ID. It's also emitted in data submission and payment contract events so Tellor users and reporters can programmatically construct query objects.

[Example of Query Data](/tellor-docs-v2/getting-data/creating-a-query.md#example-querydata-and-queryid)
{% endtab %}

{% tab title="Query ID" %}
The Query ID is your Query's unique identifier and [hash of the Query Data](/tellor-docs-v2/getting-data/creating-a-query.md#example-querydata-and-queryid). It's required for submitting, retrieving, and paying for all data in the Tellor system.&#x20;

#### To generate a query ID, use this simple tool:

{% embed url="<https://queryidbuilder.herokuapp.com/>" %}
Query ID Builder
{% endembed %}
{% endtab %}
{% endtabs %}

### **What data do you need?**

#### **Price data**

First check if the data is already being reported by viewing our [feeds](https://feed.tellor.io/).

Tellor data is free for anyone to read. This means that if someone else just updated the value, you can use it free of charge!&#x20;

{% hint style="success" %}

#### Need a spot price from Tellor?&#x20;

1. Generate a query ID for the `asset/currency` pair using [this tool.](/tellor-docs-v2/getting-data/creating-a-query.md#getting-a-query-id-and-query-data) &#x20;
2. Next, use that ID to [pay reporters](/tellor-docs-v2/getting-data/funding-a-feed.md#funding-a-one-time-request) to put that data on-chain.&#x20;
3. Then retrieve the reported spot price from the oracle [like this](/tellor-docs-v2/getting-data/using-tellor.md#installation).
   {% endhint %}

#### Custom Data

First, check in [`/types`](https://github.com/tellor-io/dataSpecs/blob/main/types) if there's already a query type that defines the data you need.

If not, you'll need to [create a new query type](/tellor-docs-v2/getting-data/creating-a-query.md#creating-a-new-query-type).&#x20;

Once that is done you'll need to [pay reporters](/tellor-docs-v2/getting-data/funding-a-feed.md#funding-a-one-time-request) to put that data on-chain, and retrieve that data from the Tellor oracle [like this](/tellor-docs-v2/getting-data/using-tellor.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.tellor.io/tellor-docs-v2/getting-data/introduction.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.
