Skip to content
Overview

Our APIs

All our Keboola services have a public API on api.keboola.com. We recommend using either the API Console or Postman Client for sending requests to our API. Most of our APIs accept and return data in JSON format. Many of these APIs require a Storage API token, specified in the X-StorageApi-Token header.

All parts of the Keboola platform can be controlled via an API. The main APIs for our components are:

APIDescription
Keboola Storage API (source)Storage is the main Keboola component storing all data.
Keboola Management APIAPI managing Keboola projects and users (and notifications and features).
AI APIAPI for supporting AI features.
Billing APIBilling API for Pay as You Go projects.
Developer Portal APIDeveloper Portal is an application separated from Keboola for creating components.
Editor APIAPI for managing SQL editor sessions.
Encryption APIProvides Encryption.
Importer APIImporter is a helper service for easy table imports.
Notifications APIAPI to subscribe to events, e.g., failed orchestrations.
OAuth Broker APIOAuth Broker is a component managing OAuth authorizations of other components.
Query APIQuery is a service for running SQL queries on Snowflake and BigQuery.
Queue APIQueue is a service for running components and managing Jobs.
Sandboxes Service APIAPI for managing Apps and Python/R workspaces.
Scheduler APIAPI to automate configurations.
Stream APIThe Keboola Stream API allows you to ingest small and frequent events into your project’s storage.
Synchronous Actions APIAPI to trigger Synchronous Actions.
VaultService handling variables & credentials storage.

If you’re unsure which API to use, refer to our integration guide. It describes the roles of different APIs and contains examples of commonly performed actions.

Keboola is available in multiple stacks, which can be either multi-tenant or single-tenant. Current multi-tenant stacks are:

Each stack operates as an independent instance of Keboola services with its own data, users, and tokens. Single-tenant stacks are available for a single enterprise customer, with a domain name in the format connection.CUSTOMER_NAME.keboola.com.

The API documentation portal (api.*) is deployed independently per stack. Always use the portal for your own stack — tokens are not valid across stacks, and using the wrong portal will cause Invalid Token errors when trying out API calls.

StackAPI Documentation Portal
US Virginia AWSapi.keboola.com
EU Frankfurt AWSapi.eu-central-1.keboola.com
EU Ireland Azureapi.north-europe.azure.keboola.com
EU Frankfurt GCPapi.europe-west3.gcp.keboola.com
US Virginia GCPapi.us-east4.gcp.keboola.com

For agentic usage and tooling (AI agents, MCP servers, CI), each stack’s API portal also publishes a machine-readable index of its APIs at https://api.<stack>/apis.json — for example, api.keboola.com/apis.json. The index lists each available service with its base apiUrl and a link to its OpenAPI specification (openApiSpecUrl), so tools can discover and load the specs programmatically:

{
"stack": "keboola.com",
"services": [
{
"id": "storage",
"name": "Storage API",
"apiUrl": "https://connection.keboola.com",
"openApiSpecUrl": "https://api.keboola.com/specs/storage.json"
}
]
}

The index is stack-specific (excluded services are omitted). The raw specs under /specs/ keep their original servers, so consumers should use the apiUrl from the index as the base URL. The openApiSpecUrl extension mirrors the source document (.json or .yaml) — use the exact URL from the index rather than assuming one.

If you are calling the APIs directly (not through the portal), modify the hostname accordingly. Otherwise, you may encounter Invalid Token or unauthorized errors. The authoritative list of available endpoints is provided by the Storage API Index Call. The following is a sample response:

{
...,
"services": [
{
"id": "import",
"url": "https://import.keboola.com"
},
{
"id": "oauth",
"url": "https://oauth.keboola.com"
},
{
"id": "queue",
"url": "https://queue.keboola.com"
},
{
"id": "billing",
"url": "https://billing.keboola.com"
},
{
"id": "encryption",
"url": "https://encryption.keboola.com"
},
{
"id": "scheduler",
"url": "https://scheduler.keboola.com"
},
{
"id": "sync-actions",
"url": "https://sync-actions.keboola.com"
},
{
"id": "notification",
"url": "https://notification.keboola.com"
}
],
}

The services listed above are:

For convenience, the following table lists active services and their URLs, though for an authoritative answer and in application integrations, we strongly suggest using the above API call.

APIServiceRegionURL
AIaiUS Virginia AWShttps://ai.keboola.com
AIaiUS Virginia GCPhttps://ai.us-east4.gcp.keboola.com
AIaiEU Frankfurt AWShttps://ai.eu-central-1.keboola.com
AIaiEU Ireland Azurehttps://ai.north-europe.azure.keboola.com
AIaiEU Frankfurt GCPhttps://ai.europe-west3.gcp.keboola.com
BillingbillingUS Virginia AWShttps://billing.keboola.com
BillingbillingUS Virginia GCPhttps://billing.us-east4.gcp.keboola.com
BillingbillingEU Frankfurt AWShttps://billing.eu-central-1.keboola.com
BillingbillingEU Ireland Azurehttps://billing.north-europe.azure.keboola.com
BillingbillingEU Frankfurt GCPhttps://billing.europe-west3.gcp.keboola.com
Developer PortaldeveloperUS Virginia AWShttps://developer.keboola.com
Developer PortaldeveloperUS Virginia GCPhttps://developer.us-east4.gcp.keboola.com
Developer PortaldeveloperEU Frankfurt AWShttps://developer.eu-central-1.keboola.com
Developer PortaldeveloperEU Ireland Azurehttps://developer.north-europe.azure.keboola.com
Developer PortaldeveloperEU Frankfurt GCPhttps://developer.europe-west3.gcp.keboola.com
EditoreditorUS Virginia AWShttps://editor.keboola.com
EditoreditorUS Virginia GCPhttps://editor.us-east4.gcp.keboola.com
EditoreditorEU Frankfurt AWShttps://editor.eu-central-1.keboola.com
EditoreditorEU Ireland Azurehttps://editor.north-europe.azure.keboola.com
EditoreditorEU Frankfurt GCPhttps://editor.europe-west3.gcp.keboola.com
EncryptionencryptionUS Virginia AWShttps://encryption.keboola.com
EncryptionencryptionUS Virginia GCPhttps://encryption.us-east4.gcp.keboola.com
EncryptionencryptionEU Frankfurt AWShttps://encryption.eu-central-1.keboola.com
EncryptionencryptionEU Ireland Azurehttps://encryption.north-europe.azure.keboola.com
EncryptionencryptionEU Frankfurt GCPhttps://encryption.europe-west3.gcp.keboola.com
ImporterimportUS Virginia AWShttps://import.keboola.com
ImporterimportUS Virginia GCPhttps://import.us-east4.gcp.keboola.com
ImporterimportEU Frankfurt AWShttps://import.eu-central-1.keboola.com
ImporterimportEU Ireland Azurehttps://import.north-europe.azure.keboola.com
ImporterimportEU Frankfurt GCPhttps://import.europe-west3.gcp.keboola.com
ManagementmanagementUS Virginia AWShttps://management.keboola.com
ManagementmanagementUS Virginia GCPhttps://management.us-east4.gcp.keboola.com
ManagementmanagementEU Frankfurt AWShttps://management.eu-central-1.keboola.com
ManagementmanagementEU Ireland Azurehttps://management.north-europe.azure.keboola.com
ManagementmanagementEU Frankfurt GCPhttps://management.europe-west3.gcp.keboola.com
NotificationnotificationUS Virginia AWShttps://notification.keboola.com
NotificationnotificationUS Virginia GCPhttps://notification.us-east4.gcp.keboola.com
NotificationnotificationEU Frankfurt AWShttps://notification.eu-central-1.keboola.com
NotificationnotificationEU Ireland Azurehttps://notification.north-europe.azure.keboola.com
NotificationnotificationEU Frankfurt GCPhttps://notification.europe-west3.gcp.keboola.com
OAuthoauthUS Virginia AWShttps://oauth.keboola.com
OAuthoauthUS Virginia GCPhttps://oauth.europe-west3.gcp.keboola.com
OAuthoauthEU Frankfurt AWShttps://oauth.eu-central-1.keboola.com
OAuthoauthEU Ireland Azurehttps://oauth.north-europe.azure.keboola.com
OAuthoauthEU Frankfurt GCPhttps://oauth.europe-west3.gcp.keboola.com
QueryqueryUS Virginia AWShttps://query.keboola.com
QueryqueryUS Virginia GCPhttps://query.us-east4.gcp.keboola.com
QueryqueryEU Frankfurt AWShttps://query.eu-central-1.keboola.com
QueryqueryEU Ireland Azurehttps://query.north-europe.azure.keboola.com
QueryqueryEU Frankfurt GCPhttps://query.europe-west3.gcp.keboola.com
QueuequeueUS Virginia AWShttps://queue.keboola.com
QueuequeueUS Virginia GCPhttps://queue.us-east4.gcp.keboola.com
QueuequeueEU Frankfurt AWShttps://queue.eu-central-1.keboola.com
QueuequeueEU Ireland Azurehttps://queue.north-europe.azure.keboola.com
QueuequeueEU Frankfurt GCPhttps://queue.europe-west3.gcp.keboola.com
SchedulerschedulerUS Virginia AWShttps://scheduler.keboola.com
SchedulerschedulerUS Virginia GCPhttps://scheduler.us-east4.gcp.keboola.com
SchedulerschedulerEU Frankfurt AWShttps://scheduler.eu-central-1.keboola.com
SchedulerschedulerEU Ireland Azurehttps://scheduler.north-europe.azure.keboola.com
SchedulerschedulerEU Frankfurt GCPhttps://scheduler.europe-west3.gcp.keboola.com
StorageUS Virginia AWShttps://connection.keboola.com/
StorageUS Virginia GCPhttps://connection.us-east4.gcp.keboola.com
StorageEU Frankfurt AWShttps://connection.eu-central-1.keboola.com/
StorageEU Ireland Azurehttps://connection.north-europe.azure.keboola.com/
StorageEU Frankfurt GCPhttps://connection.europe-west3.gcp.keboola.com/
StreamstreamUS Virginia AWShttps://stream.keboola.com
StreamstreamUS Virginia GCPhttps://stream.us-east4.gcp.keboola.com
StreamstreamEU Frankfurt AWShttps://stream.eu-central-1.keboola.com
StreamstreamEU Ireland Azurehttps://stream.north-europe.azure.keboola.com
StreamstreamEU Frankfurt GCPhttps://stream.europe-west3.gcp.keboola.com
Sync Actionssync-actionsUS Virginia AWShttps://sync-actions.keboola.com/
Sync Actionssync-actionsUS Virginia GCPhttps://sync-actions.us-east4.gcp.keboola.com
Sync Actionssync-actionsEU Frankfurt AWShttps://sync-actions.eu-central-1.keboola.com
Sync Actionssync-actionsEU Ireland Azurehttps://sync-actions.north-europe.azure.keboola.com
Sync Actionssync-actionsEU Frankfurt GCPhttps://sync-actions.europe-west3.gcp.keboola.com
VaultvaultUS Virginia AWShttps://vault.keboola.com
VaultvaultUS Virginia GCPhttps://vault.us-east4.gcp.keboola.com
VaultvaultEU Frankfurt AWShttps://vault.eu-central-1.keboola.com
VaultvaultEU Ireland Azurehttps://vault.north-europe.azure.keboola.com
VaultvaultEU Frankfurt GCPhttps://vault.europe-west3.gcp.keboola.com

There are several ways to send requests to our APIs:

Send requests to our API directly from the Apiary console by clicking on Switch to console or Try. Fill in the request headers and parameters, then click Call Resource.

Apiary console

The Apiary console is fine if you send API requests only occasionally. It requires no application installation; however, it has no history and no other useful features.

Postman is a generic HTTP API client, suitable for more regular API work. We also provide a collection of useful API calls with examples. The collection contains code examples in various languages; the requests can also be imported into the Postman application.

Postman Docs

cURL is a common library with a command-line interface (CLI). You can use the cURL CLI to create simple scripts for interacting with Keboola APIs. For example, to run a job:

Terminal window
curl --location --request POST 'https://queue.keboola.com/jobs' \
--header 'X-StorageApi-Token: YourStorageToken' \
--header 'Content-Type: application/json' \
--data-raw '{
"mode": "run",
"component": "keboola.ex-db-mysql",
"config": "sampledatabase"
}'
Ask Kai

Ask anything about Keboola — I'll search the docs and cite the pages I use.