API usage
Call your generated API: endpoint, parameters, and response format.
Endpoint
Each API has a unique URL. Path: /v1/data/{api_id}. The base URL is in your dashboard.
https://api.getapibutler.com/v1/data/your-api-id
Authentication
Every API you create gets a unique API key (starting with ak_). By default, this key is required for every request. Include it as the X-API-Key header:
curl -H "X-API-Key: ak_your-api-key" "https://api.getapibutler.com/v1/data/your-api-id"
You can find your API key in the dashboard under each API card. Use the copy button to grab it.
If you want your API to be publicly accessible without a key (e.g. for prototyping), toggle the key requirement to Optional in the dashboard. When set to optional, requests work with or without the key.
Making a request
GET only. Include your API key via the X-API-Key header (see Authentication above).
curl -H "X-API-Key: ak_your-api-key" "https://api.getapibutler.com/v1/data/your-api-id"
Response format
JSON with data (array of records) and meta (limit, offset, count, total).
{ "data": [ { "id": 1, "name": "Example", "value": 42 } ], "meta": { "limit": 25, "offset": 0, "count": 1, "total": 100 } }
count = rows in this response. total = total rows matching the request.
Parameters
Reserved query parameters:
limit— Rows to return (default 25, max 1000).offset— Rows to skip (default 0). Use withlimitfor pagination.sort—row_index(asc) or-row_index(desc). Default:row_index.
Filtering
Any query parameter that is not limit, offset, or sort is treated as a filter. The parameter name must match a column name from your CSV (as in the header row). The value is matched exactly: only rows where that column equals the given value are returned.
- One filter — e.g.
?status=activereturns rows where thestatuscolumn is exactlyactive. - Multiple filters — Several query params are combined with AND. e.g.
?status=active&category=booksreturns rows that match both. - Exact match only — Filtering is case-sensitive and does not support wildcards or partial matches. The cell value must equal the parameter value exactly.
curl "https://api.getapibutler.com/v1/data/your-api-id?status=active"
curl "https://api.getapibutler.com/v1/data/your-api-id?limit=10&offset=0&sort=-row_index&category=books"
You can combine filtering with limit, offset, and sort in a single request.
Managing your API
All management is done in the dashboard.
- Endpoint URL — Shown on the success page after creation and in the dashboard. Open the API and copy the endpoint to use in your requests.
- API Key — Each API has its own key. Copy it from the dashboard. You can show/hide the full key for security.
- Required / Optional toggle — Controls whether the
X-API-Keyheader is required. Set to Optional for public access (e.g. prototyping), Required for production use. - Regenerate key — Generates a new key and immediately invalidates the old one. Update all clients after regenerating.
- Update with a new CSV — You can upload a new CSV in the dashboard to replace an API’s data. The API ID stays the same; only the data changes.
- Delete an API — APIs can be deleted from the dashboard. After deletion, the endpoint is no longer available.