---
title: Query
openapi: POST /api/sql/query
sidebarTitle: Query
---

## Description

This API provides a REST endpoint for executing the SQL queries. Note:

* This endpoint is a HTTP POST method.
* This endpoint accept data via `application/json` request body. 
* The only required key is the `query` which has the SQL statement value.

### Body

<ParamField body='query' type='string' required>

String that contains the SQL query that needs to be executed. 

</ParamField>

### Response

<ResponseField name="column_names" type="array" required>  

A list with the column names returned

</ResponseField>

<ResponseField name="context" type="object" required>  
 
The database where the query is executed

</ResponseField>

<ResponseField name="data" type="array">  
    
The actual data returned by the query in case of the table response type
</ResponseField>

<ResponseField name="type" type="string">  
     
The type of the response table | error | ok
</ResponseField>


<RequestExample>

```shell Shell
curl --request POST \
     --url https://cloud.mindsdb.com/api/sql/query \
     --header 'Content-Type: application/json' \
     --data '
{
     "query": "SELECT * FROM example_db.demo_data.home_rentals LIMIT 10;"
}

```


```python Python
import requests
url = 'https://cloud.mindsdb.com/api/sql/query'
resp = requests.post(url, json={'query': 
                    'SELECT * FROM example_db.demo_data.home_rentals LIMIT 10;'})
```

</RequestExample>

<ResponseExample>

```json Response
 {
    "column_names": [
        "sqft",
        "rental_price"
    ],
    "context": {
        "db": "mindsdb"
    },
    "data": [
        [
            917,
            3901
        ],
        [
            194,
            2042
        ]
    ],
    "type": "table"
    }
```

</ResponseExample>
