---
title: "List databases"
method: GET
path: "/organizations/{organization}/databases"
tags: ["Databases"]
---

# List databases

`GET /organizations/{organization}/databases`

### Authorization
A service token or OAuth token must have at least one of the following access or scopes in order to use this API endpoint:

**Service Token Accesses**
 `read_database`, `delete_database`, `write_database`, `read_branch`, `delete_branch`, `create_branch`, `promote_branches`, `demote_branches`, `delete_production_branch`, `connect_branch`, `connect_production_branch`, `connect_production_read_only_branch`, `delete_branch_password`, `delete_production_branch_password`, `delete_production_read_only_branch_password`, `read_deploy_request`, `create_deploy_request`, `approve_deploy_request`, `read_comment`, `create_comment`, `restore_backup`, `restore_production_branch_backup`, `read_backups`, `write_backups`, `delete_backups`, `delete_production_branch_backups`, `write_branch_vschema`, `write_production_branch_vschema`, `read_workflow`, `write_workflow`, `delete_workflow`

**OAuth Scopes**

 | Resource | Scopes |
| :------- | :---------- |
| Organization | `read_databases` |

## Path parameters

- `organization` string, required

## Query parameters

- `q` string
- `page` integer
- `per_page` integer

## Response `200`

Retrieves the databases for an organization

- object
  - `type` string, required — The response type. Always "list" for paginated responses.
  - `current_page` integer, required — The current page number
  - `per_page` integer, required — The maximum number of results per page
  - `next_page` integer, nullable, required — The next page number, or null when this is the last page
  - `next_page_url` string, nullable, required — The next page of results, or null when this is the last page
  - `prev_page` integer, nullable, required — The previous page number, or null when this is the first page
  - `prev_page_url` string, nullable, required — The previous page of results, or null when this is the first page
  - `total_count` integer, required — The total number of matching results
  - `total_pages` integer, required — The total number of pages of matching results
  - `data` object[], required
    - `id` string, required — The ID of the database
    - `url` string, required — The URL to the database API endpoint
    - `branches_url` string, required — The URL to retrieve this database's branches via the API
    - `branches_count` integer, required — The total number of database branches
    - `open_schema_recommendations_count` integer, required — The total number of schema recommendations
    - `development_branches_count` integer, required — The total number of database development branches
    - `production_branches_count` integer, required — The total number of database production branches
    - `issues_count` integer, nullable — The total number of ongoing issues within a database
    - `multiple_admins_required_for_deletion` boolean, required — If the database requires multiple admins for deletion
    - `ready` boolean, required — If the database is ready to be used
    - `at_backup_restore_branches_limit` boolean, required — If the database has reached its backup restored branch limit
    - `at_development_branch_usage_limit` boolean, required — If the database has reached its development branch limit
    - `data_import` object, nullable
      - `state` string, required — State of the data import
      - `import_check_errors` string, required — Errors encountered during the import check
      - `started_at` string, nullable, required — When the import started
      - `finished_at` string, nullable, required — When the import finished
      - `data_source` object, required
        - `hostname` string, required — Hostname of the data source
        - `port` integer, required — Port of the data source
        - `database` string, required — Database name of the data source
    - `region` object, required
      - `id` string, required — The ID of the region
      - `provider` string, required — Provider for the region (ex. AWS)
      - `enabled` boolean, required — Whether or not the region is currently active
      - `public_ip_addresses` string[], required — Public IP addresses for the region
      - `display_name` string, required — Name of the region
      - `location` string, required — Location of the region
      - `slug` string, required — The slug of the region
      - `current_default` boolean, required — True if the region is the default for new branch creation
      - `mysql_supported` boolean, required — Whether the region supports MySQL/Vitess databases
      - `postgresql_supported` boolean, required — Whether the region supports PostgreSQL databases
    - `html_url` string, required — The URL to see this database's branches in the web UI
    - `name` string, required — Name of the database
    - `state` 'pending' | 'importing' | 'sleep_in_progress' | 'sleeping' | 'awakening' | 'import_ready' | 'ready', required — State of the database
    - `sharded` boolean, required — If the database is sharded
    - `default_branch_shard_count` integer, required — Number of shards in the default branch
    - `default_branch_read_only_regions_count` integer, required — Number of read only regions in the default branch
    - `default_branch_table_count` integer, required — Number of tables in the default branch schema
    - `default_branch` string, required — The default branch for the database
    - `require_approval_for_deploy` boolean, required — Whether an approval is required to deploy schema changes to this database
    - `deletion_protected` boolean, required — Whether deletion protection is enabled for the database
    - `resizing` boolean, required — True if a branch is currently resizing
    - `resize_queued` boolean, required — True if a branch has a queued resize request
    - `config_changing` boolean, required — True if a config change is in progress
    - `config_change_queued` boolean, required — True if a config change is queued for maintenance window
    - `allow_data_branching` boolean, required — Whether seeding branches with data is enabled for all branches
    - `foreign_keys_enabled` boolean, required — Whether foreign key constraints are enabled
    - `automatic_migrations` boolean, nullable — Whether to automatically manage Rails migrations during deploy requests.
    - `restrict_branch_region` boolean, required — Whether to restrict branch creation to one region
    - `prefer_instant` boolean, required — Whether deploy requests default to instant deploy when it is available
    - `insights_raw_queries` boolean, required — Whether raw SQL queries are collected
    - `plan` string, required — The database plan
    - `insights_enabled` boolean, required — True if query insights is enabled for the database
    - `production_branch_web_console` boolean, required — Whether web console is enabled for production branches
    - `migration_table_name` string, nullable — Table name to use for copying schema migration data.
    - `migration_framework` string, nullable — Framework used for applying migrations.
    - `created_at` string, required — When the database was created
    - `updated_at` string, required — When the database was last updated
    - `schema_last_updated_at` string, nullable, required — When the default branch schema was last changed.
    - `kind` 'mysql' | 'postgresql', required — The kind of database

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-26** `0b43a2011e53` — 1 info
  - added the required property `data/items/prefer_instant` to the response with the `200` status
- **2026-08-13** `69bdece4890a` — 1 breaking
  - removed the required property `data/items/deletion_protection_managed` from the response with the `200` status
- **2026-08-12** `fd4480152110` — 2 info
  - added the required property `data/items/deletion_protected` to the response with the `200` status
  - added the required property `data/items/deletion_protection_managed` to the response with the `200` status
- **2026-08-11** `4b2e4f05bda2` — 3 info
  - added the required property `per_page` to the response with the `200` status
  - added the required property `total_count` to the response with the `200` status
  - added the required property `total_pages` to the response with the `200` status
- **2026-06-01** `72506953f367` — 17 breaking, 5 info
  - the response property `data/items/automatic_migrations` became nullable for the status `200`
  - the response property `data/items/data_import` became nullable for the status `200`
  - the response property `data/items/data_import/finished_at` became nullable for the status `200`
  - the response property `data/items/data_import/started_at` became nullable for the status `200`
  - …18 more

[Full history](https://skmtc.dev/planetscale/apis/planetscale-api/changes/organizations/:organization/databases/get.md)

---

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