Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.redbark.co/llms.txt

Use this file to discover all available pages before exploring further.

The REST API is in beta. Endpoints, request formats, and response shapes may change. Pin your integration to a specific API version once versioning is available.
The Redbark REST API provides programmatic access to accounts, balances, transactions, connections, and brokerage data. Use it to build integrations, dashboards, or workflows on top of your banking and investment data.

Base URL

https://api.redbark.co

Authentication

All API requests require a Bearer token. Create an API key in the dashboard and include it in the Authorization header:
Authorization: Bearer YOUR_API_KEY
API access requires a Developer or Professional plan. You can revoke keys from the dashboard at any time.
Want to connect an AI agent instead? See the MCP Server documentation.
Want to test your parsing code before creating a trial account? See Sample Responses for a coherent set of example JSON payloads covering every endpoint.

Rate limits

Limits are tiered by endpoint cost and applied per API key. Unauthenticated or failed auth requests are limited to 10 per minute per IP address.
TierEndpointsLimit
Cheap/v1/connections, /v1/accounts, /v1/categories60 / minute
Mid/v1/balances30 / minute
Heavy/v1/transactions, /v1/holdings, /v1/trades30 / minute
In addition, heavy endpoints have a per-key concurrency cap of 4 in-flight requests. Calls that arrive while four heavy requests are already in progress on the same key return 429. Issue heavy requests sequentially, or fan them out across multiple keys, to stay under the cap. Every response includes rate limit headers:
HeaderDescription
X-RateLimit-LimitMaximum requests allowed per window
X-RateLimit-RemainingRequests remaining in the current window
Retry-AfterSeconds until the next request is allowed (only present on 429 responses)

Truncation and deprecation headers

Some endpoints set additional response headers to signal operational state:
HeaderWhenMeaning
X-Redbark-Truncated: true/v1/transactions, /v1/trades when a request fetches more than ~5,000 rows from the provider before reaching your offset + limit windowThe service stopped paging upstream to bound memory. Combine with pagination.hasMore and continue paginating with offset + limit.
Deprecation: true + Sunset: <date> + Link: <docs-url>; rel="deprecation"A request uses a parameter shape that’s scheduled for removalMigrate before the Sunset date. Currently set on /v1/transactions calls that omit accountId.

Error format

All errors return a JSON envelope:
{
  "error": {
    "message": "Connection not found or does not belong to this user"
  }
}
A 400 validation error also includes a details array; a 403 for brokerage on a non-Professional plan includes "code": "professional_required":
{
  "error": {
    "message": "Invalid date parameters",
    "details": [
      "from: Must be a valid ISO 8601 date string (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ)"
    ]
  }
}
FieldTypeDescription
messagestringError description. Always present.
codestringMachine-readable error code. Omitted when not set. Currently only professional_required is emitted.
detailsstring[]Validation details. Omitted when empty.

HTTP status codes

StatusMeaning
200Success
400Invalid parameters
401Missing or invalid API key
403Subscription required (API access requires a Developer or Professional plan), or professional_required for brokerage endpoints
404Resource not found or does not belong to you
429Rate limited
500Internal server error
503Banking/brokerage provider temporarily unavailable. Retry later.

Pagination

List endpoints support limit and offset query parameters:
ParameterTypeDefaultDescription
limitintegerVaries by endpointMaximum number of items to return. Passed as a query string (e.g. ?limit=50).
offsetinteger0Number of items to skip. Passed as a query string.
Paginated responses include a pagination object:
{
  "data": [...],
  "pagination": {
    "total": 142,
    "limit": 50,
    "offset": 0,
    "hasMore": true
  }
}

OpenAPI specification

A machine-readable OpenAPI 3.1 spec is available at:
https://api.redbark.co/openapi.json
Interactive documentation is available at /doc via Swagger UI.

Quick start

1

Get your API key

Go to Settings > API Keys in the dashboard and create a new key. Copy the key. It is only shown once.
2

List your connections

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.redbark.co/v1/connections
3

List accounts

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.redbark.co/v1/accounts
4

Get balances

Use account IDs (UUIDs) from step 3:
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.redbark.co/v1/balances?accountIds=a1b2c3d4-e5f6-7890-a1b2-c3d4e5f67890,b2c3d4e5-f6a7-8901-b2c3-d4e5f6a78901"
5

Fetch transactions

Use a connectionId (UUID) from step 2:
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.redbark.co/v1/transactions?connectionId=b7c4a1e2-8d3f-4e9a-9c5b-1f2a3e4d5c6b"

Brokerage endpoints

The Holdings and Trades endpoints provide access to investment portfolio data from brokerage connections. These endpoints require a Professional plan subscription.