---
title: "Query Database"
method: POST
path: "/databases/{id}/query"
tags: ["Databases"]
---

# Query Database

`POST /databases/{id}/query`

Query a database

## Path parameters

- `id` string, objectid, required — ID of the database

## Request body

- QueryDatabaseInput
  - `database` string — Name of the database to query
  - `query` string, required — SQL query to execute

## Response `200`

OK

- ControllersResponseGithubEntityDatabaseQueryResults
  - `data` EntityDatabaseQueryResults
    - `columns` EntityDatabaseColumn[]
      - `auto_increment` boolean
      - `children` EntityDatabaseColumn[]
      - `default` string
      - `extra` string
      - `hash` string
      - `key` string
      - `name` string
      - `not_null` boolean
      - `original_name` string
      - `primary` boolean
      - `status` string
      - `type` string
    - `error` string
    - `output` string
    - `rows` object[]
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

## Changes

> 3 revisions in range; 1 could not be searched.

- **2025-03-03** `14e4eafea538` — 1 warning
  - removed the optional property `data` from the response with the `200` status
- **2025-03-02** `526e5bdf6dee` — 2 breaking, 7 warning, 9 info
  - request body became required
  - added the pattern `^[0-9a-fA-F]{24}$` to the `path` request parameter `id`
  - removed the request property `database`
  - removed the optional property `data/columns` from the response with the `200` status
  - …14 more

[Change history](https://skmtc.dev/crawlab-team/apis/crawlab-api/changes/databases/:id/query/post.md)

---

[API](https://skmtc.dev/crawlab-team/apis/crawlab-api.md) · [All operations](https://skmtc.dev/crawlab-team/apis/crawlab-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/crawlab-team/crawlab-api/revisions/c7a4715c1f13/schema)
