# Receiving Data From Fetch

### Querying Information

The Fetch Oracle system allows users to request specific pieces of data. Meanwhile, reporters can then submit those values.&#x20;

Every piece of data that is requested, reported, and retrieved within the Fetch system is associated with a Query Type, Query Data, and a specific identifier known as the Query ID.

{% tabs %}
{% tab title="Query Type" %}
A Query Type is a specification 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. PLS)
   * value type: string
2. currency
   * description: Selected currency (e.g. USD)
   * value type: string

{% hint style="info" %}
To generate a new SpotPrice Query ID, use the [Query ID Builder](https://tellor.io/queryidstation/).
{% endhint %}
{% endtab %}

{% tab title="Query Data" %}
Query Data is used to form your new Query's unique identifier, or Query ID.&#x20;

It's also emitted in data submission and payment contract events, allowing Fetch users and reporters can programmatically construct query objects.

[#example-querydata-and-queryid](https://docs.fetchoracle.com/creating-a-query#example-querydata-and-queryid "mention")
{% endtab %}

{% tab title="Query ID" %}
The Query ID is your Query's unique identifier and the hash of the Query Data. It's required for submitting, retrieving, and paying for all data in the ecosystem.

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

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