Skip to main content

Base URL

All API requests should be made to:
https://api.rowbase.com/v1

Authentication

The Rowbase API uses Bearer token authentication. Include your API key in the Authorization header of every request:
curl https://api.rowbase.com/v1/datasets \
  -H "Authorization: Bearer YOUR_API_KEY"

Getting an API Key

  1. Log in to app.rowbase.com
  2. Navigate to Settings → API Keys
  3. Click Create API Key
  4. Copy and securely store your key
API keys grant full access to your organization’s data. Keep them secure and never expose them in client-side code.

Request Format

Headers

HeaderRequiredDescription
AuthorizationYesBearer token: Bearer YOUR_API_KEY
Content-TypeFor POST/PATCHapplication/json for JSON body

Request Body

POST and PATCH requests accept JSON:
curl -X POST https://api.rowbase.com/v1/datasets \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Dataset", "project_id": "proj_xxx"}'

Response Format

All responses return JSON with a consistent structure:

Success Response

{
  "data": {
    "id": "ds_xxx",
    "name": "My Dataset",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

List Response

{
  "data": [
    {"id": "ds_xxx", "name": "Dataset 1"},
    {"id": "ds_yyy", "name": "Dataset 2"}
  ],
  "pagination": {
    "cursor": "abc123",
    "has_more": true
  }
}

Error Response

{
  "error": {
    "code": "not_found",
    "message": "Dataset not found",
    "request_id": "req_xxx"
  }
}

Status Codes

CodeDescription
200Success
201Created
204No content (successful deletion)
400Bad request - invalid parameters
401Unauthorized - invalid or missing API key
403Forbidden - insufficient permissions
404Not found
422Validation error
429Rate limit exceeded
500Server error

Pagination

List endpoints use cursor-based pagination:
# First page
curl "https://api.rowbase.com/v1/datasets?limit=20"

# Next page
curl "https://api.rowbase.com/v1/datasets?limit=20&cursor=abc123"

Pagination Parameters

ParameterTypeDefaultDescription
limitinteger20Results per page (max 100)
cursorstring-Cursor for next page

Rate Limits

PlanRequests/minute
Free60
Pro300
EnterpriseCustom
Rate limit headers are included in responses:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 295
X-RateLimit-Reset: 1705320000

Errors

Error Codes

CodeDescription
authentication_errorInvalid or missing API key
authorization_errorInsufficient permissions
not_foundResource doesn’t exist
validation_errorInvalid request parameters
rate_limit_exceededToo many requests
server_errorInternal server error

Handling Errors

try {
  const response = await fetch('https://api.rowbase.com/v1/datasets', {
    headers: { 'Authorization': `Bearer ${apiKey}` }
  });

  if (!response.ok) {
    const error = await response.json();
    console.error(`Error: ${error.error.code} - ${error.error.message}`);
  }
} catch (e) {
  console.error('Network error:', e);
}

SDKs

Official SDKs are available for: