• Start

SurrealQL

/

Executing queries

Via HTTP

In this section, you will explore querying SurrealDB using HTTP. The HTTP API is designed to be simple and intuitive, with a RESTful interface that provides a consistent way to interact with the database.

SurrealDB provides a RESTful HTTP API for interacting with the database programmatically. This is useful when you need to integrate SurrealDB into existing HTTP-based workflows, scripts, or environments where an SDK is not available.

Using curl POST /sql

The /sql endpoint enables use of SurrealQL queries.

HeaderDescription
Authorization Sets the root, namespace, database, or record authentication data
Accept Sets the desired content-type of the response
surreal-ns Sets the selected Namespace for queries.
surreal-db Sets the selected Database for queries.

Request

curl -X POST -u "root:secret" -H "surreal-ns: main" -H "surreal-db: main" -H "Accept: application/json" -d "SELECT * FROM person WHERE age > 18" http://localhost:8000/sql

Response

[
{
"time": "14.357166ms",
"status": "OK",
"result": [
{
"age": "23",
"id": "person:6r7wif0uufrp22h0jr0o"
"name": "Simon",
},
{
"age": "28",
"id": "person:6r7wif0uufrp22h0jr0o"
"name": "Marcus",
},
]
}
]

Postman is a popular tool for testing APIs. You can use it to send HTTP requests to your SurrealDB instance and perform various database operations.

  1. Set up Postman: Download and install Postman from the official website.

  2. Create a new request: Open Postman and create a new HTTP request.

  3. Configure the request:

    • Set the request method to POST.

    • Enter the URL of your SurrealDB instance, e.g., http://localhost:8000/sql.

    • In the headers section, add a Content-Type header with the value application/json.

    • In the Body section, select raw and set the type to Text. Enter your SQL query, for example:

INFO FOR DB;
  1. Send the request: Click the Send button to execute the query. You will see the response from SurrealDB in the lower section of the Postman interface.

Learn more about other HTTP Endpoints available in SurrealDB. For a more detailed tutorial on using Postman with SurrealDB, refer to the working with SurrealDB over HTTP via Postman tutorial.

Was this page helpful?